Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IHTMLConstants.java1147
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IJMTConstants.java112
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/JMTResources.properties256
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PDPlugin.java456
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PageDesignerTraceOptions.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/container/ContainerActionGroup.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/AbstractLinkCreator.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/CreateLinkWizard.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ExtensionReader.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/HtmlLinkCreator.java69
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ILinkCreator.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkRequest.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkUtil.java93
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkWizardPage.java168
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkAction.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkCommand.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/CustomedContextMenuActionGroup.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/RunAction.java125
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/AlignSupport.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ChangeStyleAction.java178
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/DesignerToolBarAction.java155
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/HTagsInsertGroupAction.java180
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/InsertTagChangeStyleAction.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneParagraphStyleAction.java94
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneStyleAction.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphAction.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphStyleAction.java153
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphSupport.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeActionGroup.java207
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleAction.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleSupport.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/BorderStyleAction.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeAttributeAction.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStyleAction.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStylePropertyAction.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ColorSupport.java82
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/Messages.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectEditPartAction.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectNodeAction.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectParentAction.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SingleElementActionGroup.java240
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleClassSupport.java112
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleSupport.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/messages.properties3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java196
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableOperationContext.java97
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/IBodyInfo.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/internal/BodyInfo.java135
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CloneNodeCommand.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.properties33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyAction.java74
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyNodeCommand.java78
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CreateItemCommand.java134
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutAction.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutNodeCommand.java81
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteAction.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteNodeCommand.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignAction.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignResizeComponentCommand.java146
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignerCommand.java376
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/ICustomizableCommand.java21
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/MoveNodeCommand.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDDropRequest.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDRequestConstants.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PaletteDropInsertCommand.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteAction.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteNodeCommand.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SourceViewerCommand.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SwitchSelectionCommand.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteColumnCommand.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteHeaderFooterCommand.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteRowCommand.java96
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertColumnCommand.java158
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertHeaderFooterCommand.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertRowCommand.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeColumnCommand.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeRowCommand.java94
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/CaretPositionTracker.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/HorizontalMoveCommand.java147
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/ICaretPositionMover.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/VerticalMoveCommand.java201
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ApplyStyleCommand.java509
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/BlockNodeFinder.java130
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ClipboardData.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ContentCommand.java124
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyCommand.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyEdit.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutCommand.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutEdit.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteCommand.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteEdit.java291
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DesignEdit.java480
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/IInputSourceProvider.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertCommand.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertEdit.java196
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/KeyboardData.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/Paragraph.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphApplyStyleCommand.java408
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphFinder.java124
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphUnapplyStyleCommand.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/PasteCommand.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/RangeModeCommand.java171
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/SelectAllCommand.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/UnapplyStyleCommand.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/WorkNode.java160
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/AddSubNodeCommand.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeAttributeCommand.java119
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeStyleCommand.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeTagCommand.java118
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/InsertSubNodeCommand.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/RemoveSubNodeCommand.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/SingleNodeCommand.java149
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/AbstractTagConverter.java497
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConvertPosition.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFacRegistryReader.java117
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFactoryRegistry.java231
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterUtil.java172
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DefaultUnknownTagConverter.java180
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDeepTagConverter.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDescriptionTagConverter.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumTagConverter.java96
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HTMLStringTagConverter.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter.java168
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter2.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IConverterFactory.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IDOMFactory.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ITagConverter.java121
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/JSFConverterUtil.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/PreferenceReader.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToDumBlock.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToInlineBlock.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToSpan.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/ATagConverter.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/HTMLConverterFactory.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/TableTagConverter.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/IncludeTagConverterPreview.java206
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/JSPConverterFactory.java113
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSTempUtil.java166
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSUtil.java252
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/ICSSStyle.java173
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/border/CSSBorder.java542
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorConverter.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorDefaults.java284
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorManager.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFont.java121
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFontManager.java200
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFont.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFontManager.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/html4.css155
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockBox.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlow.java113
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowContext.java288
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowLayout.java253
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BoxUtil.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBlockFlowLayout.java745
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBrFlowLayout.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSFigure.java534
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSInlineFlowLayout.java320
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSLayout.java480
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java185
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSPageFlowLayout.java162
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextFigure.java313
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextLayout.java233
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSWidgetLayout.java225
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CompositeBox.java146
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/Debug.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/DisplayToLayout.java102
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FigureUtil.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowBox.java230
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContainerLayout.java169
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContext.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigure.java186
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigureLayout.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowPage.java161
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowUtilities.java271
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSFigure.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSLayout.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter2.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/LineBox.java424
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/MultiLineLabel.java134
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/PageFlowLayout.java74
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextFragmentBox.java92
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextLayoutSupport.java427
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/WidgetBox.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRGroupLayout.java176
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRLayout.java144
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCaptionLayout.java113
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java208
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableLayout2.java707
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CachedTableCellLayout.java263
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCaptionInfo.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCellInfo.java218
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfo.java379
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfoContext.java120
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableItemInfo.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowGroupInfo.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowInfo.java136
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSHtmlListStyleData.java174
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSMarkerStyleData.java96
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ContentObject.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterHelper.java280
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterValueGenerator.java446
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/HTMLListInfoHelper.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ICounterValueGenerator.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IIndexConverter.java23
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IncrementObject.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ListStyleUtil.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ResetObject.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterFactory.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterUtil.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/DecimalCounter.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/EnumerableCounter.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/ICounter.java26
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/RomanCounter.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundColorMeta.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundImageMeta.java182
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderCollapseMeta.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderColorMeta.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderSpacingMeta.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderStyleMeta.java181
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderWidthMeta.java238
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSMetaRegistry.java121
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSPropertyMeta.java128
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ColorPropertyMeta.java104
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ContentMeta.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterIncrementMeta.java97
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterResetMeta.java94
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/DisplayMeta.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/EmptyCellsMeta.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FloatInfo.java150
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontFamilyMeta.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontSizeMeta.java195
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontStyleMeta.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontWeightMeta.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HeightMeta.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HorizontalAlignMeta.java93
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyID.java927
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyMeta.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/LengthMeta.java219
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleImageMeta.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStylePositionMeta.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleTypeMeta.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/MarginWidthMeta.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/Messages.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/OverflowMeta.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PaddingWidthMeta.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionMeta.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionOffsetMeta.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TableUtil.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextAlignMeta.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextDecorationMeta.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VerticalAlignMeta.java133
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VisibilityMeta.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WhiteSpaceMeta.java55
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WidthMeta.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/DimensionInfo.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSTextProvider.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSWidgetProvider.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java716
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/DefaultStyle.java273
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/HiddenElementStyle.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/IRangeSelectionProxy.java25
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/ITagEditInfo.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/StyleUtil.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/value/Length.java69
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/AbstractWidgetProvider.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/BorderUtil.java315
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ButtonWidgetProvider.java204
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/CheckboxWidgetProvider.java107
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ComboWidgetProvider.java214
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/HiddenProvider.java159
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ImageWidgetProvider.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/InputFileWidgetProvider.java177
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ListWidgetProvider.java214
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/RadioWidgetProvider.java117
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextAreaWidgetProvider.java211
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextInputWidgetProvider.java180
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/FeedBackInfo.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/ILocalDropHandler.java93
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/LocalDropRequest.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceDropTargetListener.java144
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceMouseTrackAdapter.java158
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DropSelectionWizard.java143
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropCommand.java133
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropEditPolicy.java255
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalSelectionDropTargetListener.java129
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/Messages.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/PDTemplateTransferDropTargetListener.java151
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/RegistryReader.java82
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/ResouceDropTargetListener.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SimpleWizardSelectionPage.java274
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewLocalDropCommand.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewerDragDropHelper.java394
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/TextEditorDropTargetListenerFactory.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/messages.properties17
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/CaretMoveIterator.java271
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPosition.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPositionHelper.java395
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRange.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRangeHelper.java74
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition.java145
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition2.java125
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMStyleUtil.java182
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMUtil.java236
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditHelper.java504
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditModelQuery.java1837
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditValidateUtil.java385
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMPosition.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMRefPosition.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/ValidatorSupport.java119
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/ColStructure.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableChildElementPosition.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableUtil.java534
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DTManager.java117
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfo.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfo.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfoFactory.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/AbstractTagConverterContext.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/IOutputRenderer.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterContext.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterDecorator.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformOperation.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformer.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AbstractAttributeValueResolver.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AttributeValueResolverRegistryReader.java75
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTHTMLOutputRenderer.java144
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverter.java467
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterContext.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java462
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterFactory.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DefaultTransformer.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/IAttributeValueResolver.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/AbstractTransformOperation.java223
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/TransformOperationFactory.java210
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildElementOperation.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextFromXPathOperation.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextOperation.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/ConvertAttributeToTextOperation.java62
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAllAttributesOperation.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeOperation.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeWithRenameOperation.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyChildrenOperation.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeFromXPathOperation.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeOperation.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateElementOperation.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfNotOperation.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfOperation.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IterateOverElementsOperation.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/MakeParentElementCurrentOperation.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RemoveAttributeOperation.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RenameAttributeOperation.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfo.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoFactory.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoPackage.java892
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Operation.java102
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Parameter.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/ResolveAttributeValue.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagConvertInfo.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagDecorateInfo.java369
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoFactoryImpl.java161
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoImpl.java228
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoPackageImpl.java563
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/OperationImpl.java261
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ParameterImpl.java168
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ResolveAttributeValueImpl.java168
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagConvertInfoImpl.java151
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagDecorateInfoImpl.java791
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoAdapterFactory.java212
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoSwitch.java245
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTResourceProvider.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTSkin.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java170
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTSkinManager.java183
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTResourceProvider.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTSkin.java143
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTResourceProvider.java39
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTSkin.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/ProviderClassMap.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/AbstractPropertySheetPageFactory.java32
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java1156
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IDesignViewer.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IPropertySheetPageFactory.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/OutlineConfiguration.java81
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/PageDesignerActionConstants.java142
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SelectionSynchronizer.java168
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java897
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.properties44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ChangeStyleAction.java206
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DataBindingViewAction.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignActionBarFactory.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignPageActionContributor.java237
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerStyleActionGroup.java243
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerUndoRedoAction.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ManageSkinsAction.java181
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/OutlineViewAction.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PageDesignerActionBarContributor2.java350
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PaletteViewAction.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PropertiesViewAction.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/RelatedViewActionGroup.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ShowViewAction.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java233
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SourcePageActionContributor.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/DelegatingZoomManager.java374
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/IPageDesignerConstants.java290
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/JSPEditorMessages.properties23
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/MessageFormater.java97
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/PageDesignerResources.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/AbstractPaletteFactory.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizationsHelper.java223
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizer.java164
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizerDialog.java363
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteImages.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRoot.java131
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRootFactory.java114
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewer.java151
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewerProvider.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceData.java20
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceDataProvider.java16
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IEntryChangeListener.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteConstants.java71
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteContext.java15
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteFactory.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteItemManager.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ITagDropSourceData.java24
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/Messages.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java155
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ShowAllAction.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java213
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolCreationAdapter.java110
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolPaletteEntry.java110
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteElementTemplateHelper.java200
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java690
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java558
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/TaglibPaletteDrawer.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/messages.properties3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/IPropertyPageDescriptor.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/EditorValidatorAdapter.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptor.java194
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptorAdapter.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSections.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsFactory.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsPackage.java288
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SECTION_TYPE.java224
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SectionInfo.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsFactoryImpl.java176
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsImpl.java157
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsPackageImpl.java283
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/SectionInfoImpl.java225
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsAdapterFactory.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsSwitch.java162
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/AbsolutePointLocator.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/BasicLabelToolTip.java73
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnHelper.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnResizableEditPolicy.java229
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/CornerRelativeHandleLocator.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DesignerElementEditPolicy.java137
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DragMoveEditPolicy.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DropEditPolicy.java210
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementDecoratorSquareHandle.java88
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java231
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementResizableEditPolicy.java493
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentCornerHandle.java35
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentHandle.java200
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/IEnhancedSelectionEditPolicy.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ITableEditAdapter.java84
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/JSFDropEditPolicy.java91
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LinkEditPolicy.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LocationHelper.java197
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MouseSelectableChildDecorator.java631
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MoveSupport.java61
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildDecorator.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildGraphicalEditPolicy.java141
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PDEditPolicy.java22
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PolicyHelper.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEdit.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEditFactory.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFacRegistryReader.java120
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFactoryRegistry.java146
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEdit.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEditFactory.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HTMLElementEditFactory.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/TableElementEdit.java278
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/JSPElementEditFactory.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibElementEdit.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibURIAction.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/IContextMenuItemContributor.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/package-info.java18
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/AbstractFigureHandler.java82
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/BRFigureHandler.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/DefaultFigureHandler.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/FigureFactory.java217
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/HiddenFigureHandler.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/IFigureHandler.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ImgFigureHandler.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/InputFigureHandler.java193
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/Messages.java34
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ObjectFigureHandler.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/SelectFigureHandler.java98
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/TextareaFigureHandler.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/WidgetFigureHandler.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/messages.properties1
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreationAdvisor.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreator.java136
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java257
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/DefaultTagCreationAdvisor.java95
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreationAdvisor.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreator.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagDropOverrider.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationEditPolicy.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationRequest.java83
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationTool.java299
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/UserCustomizedTagCreationAdvisor.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ContainerCreationCommand.java144
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ElementCustomizationCommand.java195
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/SingletonContainerCreationCommand.java94
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/TagContainerCreationCommand.java86
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedContainerCreationCommand.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java200
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AttributeData.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ChildrenData.java69
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/CustomizationDataImpl.java172
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/DropCustomizationController.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ICustomizationData.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java68
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IWritableCustomizationData.java113
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ParentData.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/AbstractCreationCommand.java107
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/DefaultTagCreator.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/ICreationCommand.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreationFactory.java90
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreatorFactoryRegistryReader.java203
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/UserCustomizedTagCreator.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/AttributeDescriptor.java236
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/BindingHandlerDelegate.java128
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/DefaultEditorCreator.java256
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/EditorCreator.java155
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeDescriptor.java125
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeRuntimeValueType.java189
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IBindingHandler.java78
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/ITagAttributeCellEditorFactory.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CategoryNameComparator.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFacRegistryReader.java79
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFactoryRegistry.java160
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/CSSStyleAdapterFactory.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/DocumentEditPart.java253
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/EditProxyAdapter.java70
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/ElementEditPart.java641
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/HTMLEditPartsFactory.java74
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NodeEditPart.java251
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NonVisualComponentEditPart.java116
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/Refresher.java119
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/RefresherFactory.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/SubNodeEditPart.java26
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/TextEditPart.java186
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.java205
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewConvertContext.java132
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewHandlerNew.java164
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.properties16
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/WindowsIEBrowser.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AllPropertySection.java148
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySheetPage.java63
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java251
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySourceProvider.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/BaseCustomSection.java258
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/DesignerPropertyTool.java356
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ISectionFilter.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ITabbedPropertiesConstants.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/Messages.java33
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/NavigationHiearchyAction.java136
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/PropertyDescriptorWrapper.java197
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/WPETabbedPropertySheetPage.java211
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/AttributeGroupMessages.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/DialogUtil.java137
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/IElementContextable.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/messages.properties14
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java248
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorWrapper.java359
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/EditableDialogCellEditor.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledComboBoxCellEditor.java162
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledStyleComboCellEditor.java185
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LoadbundleSelectionCellEditor.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceBoundle.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceDialogCellEditor.java213
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/StyleComboCellEditor.java257
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/messages.properties13
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/dialogfields/MDEnabledComboDialogField.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AllPropertySectionDescriptor.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java441
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroupSection.java115
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributesTabDescriptor.java58
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/DefaultPropertyPageDescriptor.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/MDQuickEditTabSectionDescriptor.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/Messages.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabGroupDescriptor.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabSection.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabDescriptor.java45
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java217
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSection.java209
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionDescriptor.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsDescriptor.java122
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsManager.java126
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabDescriptorProvider.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabPropertySectionDescriptorProvider.java127
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/messages.properties12
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/messages.properties11
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/range/RangeUtil.java378
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/LocationModifierRequest.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/NodeCreationFactory.java129
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/PageDesignerRequestConstants.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnHandle.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnResizeHandle.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterAction.java47
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterRequest.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteRowColumnAction.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/EmptyLocator.java38
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterAction.java48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterRequest.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertRowColumnAction.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/MarqueeRectangleFigure.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowHandle.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowResizeHandle.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandle.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandleLocator.java109
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditAdapter.java158
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditConst.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditHelper.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableHandleKit.java53
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableInsertRequest.java51
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizableEditPolicy.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizeRequest.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnDeleteRequest.java28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnRequest.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandle.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandleLocator.java108
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideHandle.java66
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemDragTracker.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemHandle.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeDragTracker.java177
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeHandle.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ExposeHelper.java333
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ObjectModeDragTracker.java57
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java314
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeSelectionTool.java319
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/CommonResourceDialog.java403
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/PartActivationHandler.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/ResourceOnClasspathDialog.java255
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/TreeViewerSelectionDialog.java328
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/NestedEditorActionBarContributor.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorPart.java531
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSelectionProvider.java155
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSite.java435
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ClasspathResourceButtonDialogField.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ContextableResourceButtonDialogField.java67
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/DialogFieldWrapper.java480
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ExtendedResourceButtonDialogField.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/StyleButtonDialogField.java105
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroudPreferenceNode.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroundPreferencePage.java320
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferenceNode.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferencePage.java398
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferenceNode.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferencePage.java538
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferenceNode.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferencePage.java673
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ColorUtil.java215
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.java42
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.properties99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferenceNode.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferencePage.java184
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/IStyleConstants.java203
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferenceNode.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferencePage.java163
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferenceNode.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferencePage.java782
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleCombo.java44
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleDialog.java62
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferenceNode.java140
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferencePage.java525
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java454
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferencePage.java153
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferences.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.properties3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/BodyHelper.java345
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java85
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java123
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/DOMUtil.java260
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EditorUtil.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EntityMap.java212
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLSpecialCharHelper.java464
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLUtil.java106
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ICacheEntryCreator.java31
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java102
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IntFlexArray.java76
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java346
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JavaUtil.java97
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/NodeLocationComparator.java77
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java420
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ProjectResolver.java526
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectManyHelper.java196
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectionHelper.java384
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/StructuredModelUtil.java70
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/UriAdapterFactory.java52
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/WebAppUtil.java64
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/XMLUtil.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ActionData.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicMovementRule.java41
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicPositionRule.java95
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ContainerMoveInAndOutRule.java101
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultMovementRule.java47
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionRule.java110
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java234
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DnDPositionValidator.java43
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DropActionData.java65
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/HeadDataPositionRule.java27
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IEPanelgridPositionRule.java50
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IETablePositionRule.java187
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementMediator.java40
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementRule.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionMediator.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionRule.java60
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IValidationRule.java19
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingNavigationMediator.java190
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingPositionMediator.java37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/JSFRootContainerPositionRule.java157
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/NodeConstructionPositionRule.java26
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java117
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/Target.java111
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/WhitespacePositionMoveRule.java147
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/AbstractDropLocationStrategy.java80
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretPositionResolver.java328
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretUpdater.java241
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DefaultDropLocationStrategy.java193
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignPosition.java203
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRange.java87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRefPosition.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/EditPartPositionHelper.java678
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/FlowBoxLine.java249
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewer.java547
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewerListenenerAdapter.java36
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IDropLocationStrategy.java59
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewer.java139
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewerListener.java30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/LayoutPart.java476
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/TextPosition.java87
760 files changed, 0 insertions, 108849 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IHTMLConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IHTMLConstants.java
deleted file mode 100644
index 990229387..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IHTMLConstants.java
+++ /dev/null
@@ -1,1147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-
-/**
- * @author mengbo
- */
-public class IHTMLConstants {
- /**
- * anchor tag name
- */
- public static final String TAG_A = "a"; //$NON-NLS-1$
-
- /**
- * abbreviated form (e.g.,WWW, HTTP, etc.) tag name
- */
- public static final String TAG_ABBR = "abbr"; // //$NON-NLS-1$
-
- /**
- * acronym tag name
- */
- public static final String TAG_ACRONYM = "acronym"; //$NON-NLS-1$
-
- /**
- * address tag name
- */
- public static final String TAG_ADDRESS = "address"; //$NON-NLS-1$
-
- /**
- * Java applet tag name
- */
- public static final String TAG_APPLET = "applet"; //$NON-NLS-1$
-
- /**
- * client-side image map tag name
- */
- public static final String TAG_AREA = "area"; //$NON-NLS-1$
-
- // area
-
- /**
- * bold text style tag name
- */
- public static final String TAG_B = "b"; //$NON-NLS-1$
-
- /**
- * document base URI tag name
- */
- public static final String TAG_BASE = "base"; //$NON-NLS-1$
-
- /**
- * base font size tag name
- */
- public static final String TAG_BASEFONT = "basefont"; //$NON-NLS-1$
-
- /**
- * I18N BiDi over-ride tag name
- */
- public static final String TAG_BDO = "bdo"; //$NON-NLS-1$
-
- /**
- * large text style tag name
- */
- public static final String TAG_BIG = "big"; //$NON-NLS-1$
-
- /**
- * blockquote tag name
- */
- public static final String TAG_BLOCKQUOTE = "blockquote"; //$NON-NLS-1$
-
- // quotation
-
- /**
- * document body tag name
- */
- public static final String TAG_BODY = "body"; //$NON-NLS-1$
-
- /**
- * forced line break tag name
- */
- public static final String TAG_BR = "br"; //$NON-NLS-1$
-
- /**
- * push button tag name
- */
- public static final String TAG_BUTTON = "button"; //$NON-NLS-1$
-
- /**
- * table caption tag name
- */
- public static final String TAG_CAPTION = "caption"; //$NON-NLS-1$
-
- /**
- * shorthand for DIV align=center tag name
- */
- public static final String TAG_CENTER = "center"; //$NON-NLS-1$
-
- /**
- * citation tag name
- */
- public static final String TAG_CITE = "cite"; //$NON-NLS-1$
-
- /**
- * computer code fragment tag name
- */
- public static final String TAG_CODE = "code"; //$NON-NLS-1$
-
- /**
- * table column tag name
- */
- public static final String TAG_COL = "col"; //$NON-NLS-1$
-
- /**
- * table column group tag name
- */
- public static final String TAG_COLGROUP = "colgroup"; //$NON-NLS-1$
-
- /**
- * definition description tag name
- */
- public static final String TAG_DD = "dd"; //$NON-NLS-1$
-
- /**
- * deleted text tag name
- */
- public static final String TAG_DEL = "del"; //$NON-NLS-1$
-
- /**
- * instance definition tag name
- */
- public static final String TAG_DFN = "dfn"; //$NON-NLS-1$
-
- /**
- * directory list tag name
- */
- public static final String TAG_DIR = "dir"; //$NON-NLS-1$
-
- /**
- * generic language/style container (div) tag name
- */
- public static final String TAG_DIV = "div"; //$NON-NLS-1$
-
- /**
- * definition list tag name
- */
- public static final String TAG_DL = "dl"; //$NON-NLS-1$
-
- /**
- * definition term tag name
- */
- public static final String TAG_DT = "dt"; //$NON-NLS-1$
-
- /**
- * emphasis tag name
- */
- public static final String TAG_EM = "em"; //$NON-NLS-1$
-
- /**
- * fieldset tag name
- */
- public static final String TAG_FIELDSET = "fieldset"; //$NON-NLS-1$
-
- /**
- * local change to font (font) tag name
- */
- public static final String TAG_FONT = "font"; //$NON-NLS-1$
-
- /**
- * form tag name
- */
- public static final String TAG_FORM = "form"; //$NON-NLS-1$
-
- /**
- * frame tag name
- */
- public static final String TAG_FRAME = "frame"; //$NON-NLS-1$
-
- /**
- * frameset tag name
- */
- public static final String TAG_FRAMESET = "frameset"; //$NON-NLS-1$
-
- /**
- * h1 tag name
- */
- public static final String TAG_H1 = "h1"; //$NON-NLS-1$
-
- /**
- * h2 tag name
- */
- public static final String TAG_H2 = "h2"; //$NON-NLS-1$
-
- /**
- * h3 tag name
- */
- public static final String TAG_H3 = "h3"; //$NON-NLS-1$
-
- /**
- * h4 tag name
- */
- public static final String TAG_H4 = "h4"; //$NON-NLS-1$
-
- /**
- * h5 tag name
- */
- public static final String TAG_H5 = "h5"; //$NON-NLS-1$
-
- /**
- * h6 tag name
- */
- public static final String TAG_H6 = "h6"; //$NON-NLS-1$
-
- /**
- * head tag name
- */
- public static final String TAG_HEAD = "head"; //$NON-NLS-1$
-
- /**
- * horizontal rule tag name
- */
- public static final String TAG_HR = "hr"; //$NON-NLS-1$
-
- /**
- * document root element (html) tag name
- */
- public static final String TAG_HTML = "html"; //$NON-NLS-1$
-
- /**
- * italic text style tag name
- */
- public static final String TAG_I = "i"; //$NON-NLS-1$
-
- /**
- * inline subwindow (iframe) tag name
- */
- public static final String TAG_IFRAME = "iframe"; //$NON-NLS-1$
-
- /**
- * Embedded image tag name
- */
- public static final String TAG_IMG = "img"; //$NON-NLS-1$
-
- /**
- * input tag name
- */
- public static final String TAG_INPUT = "input"; //$NON-NLS-1$
-
- /**
- * inserted text tag name
- */
- public static final String TAG_INS = "ins"; //$NON-NLS-1$
-
- /**
- * isindex tag name
- */
- public static final String TAG_ISINDEX = "isindex"; //$NON-NLS-1$
-
- /**
- * text to be entered by the user tag name
- */
- public static final String TAG_KBD = "kbd"; //$NON-NLS-1$
-
- /**
- * form field label text tag name
- */
- public static final String TAG_LABEL = "label"; //$NON-NLS-1$
-
- /**
- * fieldset legend tag name
- */
- public static final String TAG_LEGEND = "legend"; //$NON-NLS-1$
-
- /**
- * list item tag name
- */
- public static final String TAG_LI = "li"; //$NON-NLS-1$
-
- /**
- * media-independent link tag name
- */
- public static final String TAG_LINK = "link"; //$NON-NLS-1$
-
- /**
- * client-side image map tag name
- */
- public static final String TAG_MAP = "map"; //$NON-NLS-1$
-
- /**
- * menu list tag name
- */
- public static final String TAG_MENU = "menu"; //$NON-NLS-1$
-
- /**
- * generic metainformation tag name
- */
- public static final String TAG_META = "meta"; //$NON-NLS-1$
-
- /**
- * noembed tag name
- */
- public static final String TAG_NOEMBED = "noembed"; //$NON-NLS-1$
-
- /**
- * container for non-frame-based
- * rendering (noframes) tag name
- */
- public static final String TAG_NOFRAMES = "noframes"; //$NON-NLS-1$
-
- //
-
- /**
- * container for non-script-based
- * rendering (noscript) tag name
- */
- public static final String TAG_NOSCRIPT = "noscript"; //$NON-NLS-1$
-
- //
-
- /**
- * generic embedded (object) tag name
- */
- public static final String TAG_OBJECT = "object"; //$NON-NLS-1$
-
- /**
- * ordered list tag name
- */
- public static final String TAG_OL = "ol"; //$NON-NLS-1$
-
- /**
- * option group tag name
- */
- public static final String TAG_OPTGROUP = "optgroup"; //$NON-NLS-1$
-
- /**
- * selectable choice tag name
- */
- public static final String TAG_OPTION = "option"; //$NON-NLS-1$
-
- /**
- * paragraph tag name
- */
- public static final String TAG_P = "p"; //$NON-NLS-1$
-
- /**
- * named property value tag name
- */
- public static final String TAG_PARAM = "param"; //$NON-NLS-1$
-
- /**
- * preformatted text tag name
- */
- public static final String TAG_PRE = "pre"; //$NON-NLS-1$
-
- /**
- * short inline quotation tag name
- */
- public static final String TAG_Q = "q"; //$NON-NLS-1$
-
- /**
- * strike-through text style tag name
- */
- public static final String TAG_S = "s"; //$NON-NLS-1$
-
- /**
- * sample program output tag name
- */
- public static final String TAG_SAMP = "samp"; //$NON-NLS-1$
-
- // scripts, etc.
-
- /**
- * script statements tag name
- */
- public static final String TAG_SCRIPT = "script"; //$NON-NLS-1$
-
- /**
- * option selector tag name
- */
- public static final String TAG_SELECT = "select"; //$NON-NLS-1$
-
- /**
- * small text style tag name
- */
- public static final String TAG_SMALL = "small"; //$NON-NLS-1$
-
- /**
- * generic language/style tag name
- */
- public static final String TAG_SPAN = "span"; //$NON-NLS-1$
-
- // container
-
- /**
- * strike-through text tag name
- */
- public static final String TAG_STRIKE = "strike"; //$NON-NLS-1$
-
- /**
- * strong emphasis tag name
- */
- public static final String TAG_STRONG = "strong"; //$NON-NLS-1$
-
- /**
- * style info tag name
- */
- public static final String TAG_STYLE = "style"; //$NON-NLS-1$
-
- /**
- * subscript tag name
- */
- public static final String TAG_SUB = "sub"; //$NON-NLS-1$
-
- /**
- * superscript tag name
- */
- public static final String TAG_SUP = "sup"; //$NON-NLS-1$
-
- /**
- * table tag name
- */
- public static final String TAG_TABLE = "table"; //$NON-NLS-1$
-
- /**
- * table body tag name
- */
- public static final String TAG_TBODY = "tbody"; //$NON-NLS-1$
-
- /**
- * table data cell tag name
- */
- public static final String TAG_TD = "td"; //$NON-NLS-1$
-
- /**
- * multi-line text
- */
- public static final String TAG_TEXTAREA = "textarea"; //$NON-NLS-1$
-
- // field
-
- /**
- * table footer tag name
- */
- public static final String TAG_TFOOT = "tfoot"; //$NON-NLS-1$
-
- /**
- * table header cell tag name
- */
- public static final String TAG_TH = "th"; //$NON-NLS-1$
-
- /**
- * table header tag name
- */
- public static final String TAG_THEAD = "thead"; //$NON-NLS-1$
-
- /**
- * document title tag name
- */
- public static final String TAG_TITLE = "title"; //$NON-NLS-1$
-
- /**
- * table row tag name
- */
- public static final String TAG_TR = "tr"; //$NON-NLS-1$
-
- /**
- * teletype or monospaced text tag name
- */
- public static final String TAG_TT = "tt"; //$NON-NLS-1$
-
- // style
-
- /**
- * underlined text style tag name
- */
- public static final String TAG_U = "u"; //$NON-NLS-1$
-
- /**
- * unordered list tag name
- */
- public static final String TAG_UL = "ul"; //$NON-NLS-1$
-
- /**
- * instance of a variable tag name
- */
- public static final String TAG_VAR = "var"; //$NON-NLS-1$
-
- /**
- * Tag identifier for an HTML form tag
- */
- public static final TagIdentifier TAG_IDENTIFIER_HTML_FORM =
- TagIdentifierFactory.createJSPTagWrapper(CMDocType.HTML_DOC_TYPE, TAG_FORM);
-
- // program argument
-
- /**
- * abbr attribute
- */
- public static final String ATTR_ABBR = "abbr"; //$NON-NLS-1$
-
- /**
- * accept-charset attribute
- */
- public static final String ATTR_ACCEPTCHARSET = "accept-charset"; //$NON-NLS-1$
-
- /**
- * accept attribute
- */
- public static final String ATTR_ACCEPT = "accept"; //$NON-NLS-1$
-
- /**
- * access key attribute
- */
- public static final String ATTR_ACCESSKEY = "accesskey"; //$NON-NLS-1$
-
- /**
- * action attribute
- */
- public static final String ATTR_ACTION = "action"; //$NON-NLS-1$
-
- /**
- * align attribute
- */
- public static final String ATTR_ALIGN = "align"; //$NON-NLS-1$
-
- /**
- * alink attribute
- */
- public static final String ATTR_ALINK = "alink"; //$NON-NLS-1$
-
- /**
- * alt attribute
- */
- public static final String ATTR_ALT = "alt"; //$NON-NLS-1$
-
- /**
- * archive attribute
- */
- public static final String ATTR_ARCHIVE = "archive"; //$NON-NLS-1$
-
- /**
- * axis attribute
- */
- public static final String ATTR_AXIS = "axis"; //$NON-NLS-1$
-
- /**
- * background attribute
- */
- public static final String ATTR_BACKGROUND = "background"; //$NON-NLS-1$
-
- /**
- * bgcolor attribute
- */
- public static final String ATTR_BGCOLOR = "bgcolor"; //$NON-NLS-1$
-
- /**
- * border attribute
- */
- public static final String ATTR_BORDER = "border"; //$NON-NLS-1$
-
- /**
- * cellpadding attribute
- */
- public static final String ATTR_CELLPADDING = "cellpadding"; //$NON-NLS-1$
-
- /**
- * cellspacing attribute
- */
- public static final String ATTR_CELLSPACING = "cellspacing"; //$NON-NLS-1$
-
- /**
- * char attribute
- */
- public static final String ATTR_CHAR = "char"; //$NON-NLS-1$
-
- /**
- * charoff attribute
- */
- public static final String ATTR_CHAROFF = "charoff"; //$NON-NLS-1$
-
- /**
- * charset attribute
- */
- public static final String ATTR_CHARSET = "charset"; //$NON-NLS-1$
-
- /**
- * checked attribute
- */
- public static final String ATTR_CHECKED = "checked"; //$NON-NLS-1$
-
- /**
- * cite attribute
- */
- public static final String ATTR_CITE = "cite"; //$NON-NLS-1$
-
- /**
- * class attribute
- */
- public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-
- /**
- * classid attribute
- */
- public static final String ATTR_CLASSID = "classid"; //$NON-NLS-1$
-
- /**
- * clear attribute
- */
- public static final String ATTR_CLEAR = "clear"; //$NON-NLS-1$
-
- /**
- * code attribute
- */
- public static final String ATTR_CODE = "code"; //$NON-NLS-1$
-
- /**
- * codebase attribute
- */
- public static final String ATTR_CODEBASE = "codebase"; //$NON-NLS-1$
-
- /**
- * code type attribute
- */
- public static final String ATTR_CODETYPE = "codetype"; //$NON-NLS-1$
-
- /**
- * color attribute
- */
- public static final String ATTR_COLOR = "color"; //$NON-NLS-1$
-
- /**
- * cols attribute
- */
- public static final String ATTR_COLS = "cols"; //$NON-NLS-1$
-
- /**
- * colspan attribute
- */
- public static final String ATTR_COLSPAN = "colspan"; //$NON-NLS-1$
-
- /**
- * compact attribute
- */
- public static final String ATTR_COMPACT = "compact"; //$NON-NLS-1$
-
- /**
- * content attribute
- */
- public static final String ATTR_CONTENT = "content"; //$NON-NLS-1$
-
- /**
- * coords attribute
- */
- public static final String ATTR_COORDS = "coords"; //$NON-NLS-1$
-
- /**
- * data attribute
- */
- public static final String ATTR_DATA = "data"; //$NON-NLS-1$
-
- /**
- * datetime attribute
- */
- public static final String ATTR_DATETIME = "datetime"; //$NON-NLS-1$
-
- /**
- * declare attribute
- */
- public static final String ATTR_DECLARE = "declare"; //$NON-NLS-1$
-
- /**
- * defer attribute
- */
- public static final String ATTR_DEFER = "defer"; //$NON-NLS-1$
-
- /**
- * dir attribute
- */
- public static final String ATTR_DIR = "dir"; //$NON-NLS-1$
-
- /**
- * disabled attribute
- */
- public static final String ATTR_DISABLED = "disabled"; //$NON-NLS-1$
-
- /**
- * enctype attribute
- */
- public static final String ATTR_ENCTYPE = "enctype"; //$NON-NLS-1$
-
- /**
- * face attribute
- */
- public static final String ATTR_FACE = "face"; //$NON-NLS-1$
-
- /**
- * for attribute
- */
- public static final String ATTR_FOR = "for"; //$NON-NLS-1$
-
- /**
- * frame attribute
- */
- public static final String ATTR_FRAME = "frame"; //$NON-NLS-1$
-
- /**
- * frameborder attribute
- */
- public static final String ATTR_FRAMEBORDER = "frameborder"; //$NON-NLS-1$
-
- /**
- * headers attribute
- */
- public static final String ATTR_HEADERS = "headers"; //$NON-NLS-1$
-
- /**
- * height attribute
- */
- public static final String ATTR_HEIGHT = "height"; //$NON-NLS-1$
-
- /**
- * href attribute
- */
- public static final String ATTR_HREF = "href"; //$NON-NLS-1$
-
- /**
- * hreflang attribute
- */
- public static final String ATTR_HREFLANG = "hreflang"; //$NON-NLS-1$
-
- /**
- * hspace attribute
- */
- public static final String ATTR_HSPACE = "hspace"; //$NON-NLS-1$
-
- /**
- * http-equiv attribute
- */
- public static final String ATTR_HTTPEQUIV = "http-equiv"; //$NON-NLS-1$
-
- /**
- * id attribute
- */
- public static final String ATTR_ID = "id"; //$NON-NLS-1$
-
- /**
- * ismap attribute
- */
- public static final String ATTR_ISMAP = "ismap"; //$NON-NLS-1$
-
- /**
- * label attribute
- */
- public static final String ATTR_LABEL = "label"; //$NON-NLS-1$
-
- /**
- * lang attribute
- */
- public static final String ATTR_LANG = "lang"; //$NON-NLS-1$
-
- /**
- * language attribute
- */
- public static final String ATTR_LANGUAGE = "language"; //$NON-NLS-1$
-
- /**
- * link attribute
- */
- public static final String ATTR_LINK = "link"; //$NON-NLS-1$
-
- /**
- * longdesc attribute
- */
- public static final String ATTR_LONGDESC = "longdesc"; //$NON-NLS-1$
-
- /**
- * marginheight attribute
- */
- public static final String ATTR_MARGINHEIGHT = "marginheight"; //$NON-NLS-1$
-
- /**
- * margin width attribute
- */
- public static final String ATTR_MARGINWIDTH = "marginwidth"; //$NON-NLS-1$
-
- /**
- * maxlength attribute
- */
- public static final String ATTR_MAXLENGTH = "maxlength"; //$NON-NLS-1$
-
- /**
- * media attribute
- */
- public static final String ATTR_MEDIA = "media"; //$NON-NLS-1$
-
- /**
- * method attribute
- */
- public static final String ATTR_METHOD = "method"; //$NON-NLS-1$
-
- /**
- * multiple attribute
- */
- public static final String ATTR_MULTIPLE = "multiple"; //$NON-NLS-1$
-
- /**
- * name attribute
- */
- public static final String ATTR_NAME = "name"; //$NON-NLS-1$
-
- /**
- * nohref attribute
- */
- public static final String ATTR_NOHREF = "nohref"; //$NON-NLS-1$
-
- /**
- * noresize attribute
- */
- public static final String ATTR_NORESIZE = "noresize"; //$NON-NLS-1$
-
- /**
- * noshade attribute
- */
- public static final String ATTR_NOSHADE = "noshade"; //$NON-NLS-1$
-
- /**
- * nowrap attribute
- */
- public static final String ATTR_NOWRAP = "nowrap"; //$NON-NLS-1$
-
- /**
- * object attribute
- */
- public static final String ATTR_OBJECT = "object"; //$NON-NLS-1$
-
- /**
- * onblur attribute
- */
- public static final String ATTR_ONBLUR = "onblur"; //$NON-NLS-1$
-
- /**
- * onchange attribute
- */
- public static final String ATTR_ONCHANGE = "onchange"; //$NON-NLS-1$
-
- /**
- * onclick attribute
- */
- public static final String ATTR_ONCLICK = "onclick"; //$NON-NLS-1$
-
- /**
- * ondblclick attribute
- */
- public static final String ATTR_ONDBLCLICK = "ondblclick"; //$NON-NLS-1$
-
- /**
- * onfocus attribute
- */
- public static final String ATTR_ONFOCUS = "onfocus"; //$NON-NLS-1$
-
- /**
- * onkeydown attribute
- */
- public static final String ATTR_ONKEYDOWN = "onkeydown"; //$NON-NLS-1$
-
- /**
- * onkeypress attribute
- */
- public static final String ATTR_ONKEYPRESS = "onkeypress"; //$NON-NLS-1$
-
- /**
- * onkeyup attribute
- */
- public static final String ATTR_ONKEYUP = "onkeyup"; //$NON-NLS-1$
-
- /**
- * onload attribute
- */
- public static final String ATTR_ONLOAD = "onload"; //$NON-NLS-1$
-
- /**
- * onmousedown attribute
- */
- public static final String ATTR_ONMOUSEDOWN = "onmousedown"; //$NON-NLS-1$
-
- /**
- * onmousemove attribute
- */
- public static final String ATTR_ONMOUSEMOVE = "onmousemove"; //$NON-NLS-1$
-
- /**
- * onmouseout attribute
- */
- public static final String ATTR_ONMOUSEOUT = "onmouseout"; //$NON-NLS-1$
-
- /**
- * onmouseover attribute
- */
- public static final String ATTR_ONMOUSEOVER = "onmouseover"; //$NON-NLS-1$
-
- /**
- * onmouseup attribute
- */
- public static final String ATTR_ONMOUSEUP = "onmouseup"; //$NON-NLS-1$
-
- /**
- * onreset attribute
- */
- public static final String ATTR_ONRESET = "onreset"; //$NON-NLS-1$
-
- /**
- * onselect attribute
- */
- public static final String ATTR_ONSELECT = "onselect"; //$NON-NLS-1$
-
- /**
- * onsubmit attribute
- */
- public static final String ATTR_ONSUBMIT = "onsubmit"; //$NON-NLS-1$
-
- /**
- * onunload attribute
- */
- public static final String ATTR_ONUNLOAD = "onunload"; //$NON-NLS-1$
-
- /**
- * profile attribute
- */
- public static final String ATTR_PROFILE = "profile"; //$NON-NLS-1$
-
- /**
- * prompt attribute
- */
- public static final String ATTR_PROMPT = "prompt"; //$NON-NLS-1$
-
- /**
- * readonly attribute
- */
- public static final String ATTR_READONLY = "readonly"; //$NON-NLS-1$
-
- /**
- * rel attribute
- */
- public static final String ATTR_REL = "rel"; //$NON-NLS-1$
-
- /**
- * rev attribute
- */
- public static final String ATTR_REV = "rev"; //$NON-NLS-1$
-
- /**
- * rows attribute
- */
- public static final String ATTR_ROWS = "rows"; //$NON-NLS-1$
-
- /**
- * rowspan attribute
- */
- public static final String ATTR_ROWSPAN = "rowspan"; //$NON-NLS-1$
-
- /**
- * rules attribute
- */
- public static final String ATTR_RULES = "rules"; //$NON-NLS-1$
-
- /**
- * scheme attribute
- */
- public static final String ATTR_SCHEME = "scheme"; //$NON-NLS-1$
-
- /**
- * scope attribute
- */
- public static final String ATTR_SCOPE = "scope"; //$NON-NLS-1$
-
- /**
- * scrolling attribute
- */
- public static final String ATTR_SCROLLING = "scrolling"; //$NON-NLS-1$
-
- /**
- * selected attribute
- */
- public static final String ATTR_SELECTED = "selected"; //$NON-NLS-1$
-
- /**
- * shape attribute
- */
- public static final String ATTR_SHAPE = "shape"; //$NON-NLS-1$
-
- /**
- * size attribute
- */
- public static final String ATTR_SIZE = "size"; //$NON-NLS-1$
-
- /**
- * span attribute
- */
- public static final String ATTR_SPAN = "span"; //$NON-NLS-1$
-
- /**
- * src attribute
- */
- public static final String ATTR_SRC = "src"; //$NON-NLS-1$
-
- /**
- * standby attribute
- */
- public static final String ATTR_STANDBY = "standby"; //$NON-NLS-1$
-
- /**
- * start attribute
- */
- public static final String ATTR_START = "start"; //$NON-NLS-1$
-
- /**
- * style attribute
- */
- public static final String ATTR_STYLE = "style"; //$NON-NLS-1$
-
- /**
- * summary attribute
- */
- public static final String ATTR_SUMMARY = "summary"; //$NON-NLS-1$
-
- /**
- * tabindex attribute
- */
- public static final String ATTR_TABINDEX = "tabindex"; //$NON-NLS-1$
-
- /**
- * target attribute
- */
- public static final String ATTR_TARGET = "target"; //$NON-NLS-1$
-
- /**
- * text attribute
- */
- public static final String ATTR_TEXT = "text"; //$NON-NLS-1$
-
- /**
- * title attribute
- */
- public static final String ATTR_TITLE = "title"; //$NON-NLS-1$
-
- /**
- * type attribute
- */
- public static final String ATTR_TYPE = "type"; //$NON-NLS-1$
-
- /**
- * usemap attribute
- */
- public static final String ATTR_USEMAP = "usemap"; //$NON-NLS-1$
-
- /**
- * valign attribute
- */
- public static final String ATTR_VALIGN = "valign"; //$NON-NLS-1$
-
- /**
- * value attribute
- */
- public static final String ATTR_VALUE = "value"; //$NON-NLS-1$
-
- /**
- * valuetype attribute
- */
- public static final String ATTR_VALUETYPE = "valuetype"; //$NON-NLS-1$
-
- /**
- * version attribute
- */
- public static final String ATTR_VERSION = "version"; //$NON-NLS-1$
-
- /**
- * vlink attribute
- */
- public static final String ATTR_VLINK = "vlink"; //$NON-NLS-1$
-
- /**
- * vspace attribute
- */
- public static final String ATTR_VSPACE = "vspace"; //$NON-NLS-1$
-
- /**
- * width attribute
- */
- public static final String ATTR_WIDTH = "width"; //$NON-NLS-1$
-
- /**
- * submit type
- */
- public static final String TYPE_SUBMIT = "submit"; //$NON-NLS-1$
-
- /**
- * checkbox type
- */
- public static final String TYPE_CHECKBOX = "checkbox"; //$NON-NLS-1$
-
- /**
- * radio type
- */
- public static final String TYPE_RADIO = "radio"; //$NON-NLS-1$
-
- /**
- * image type
- */
- public static final String TYPE_IMAGE = "image"; //$NON-NLS-1$
-
- /**
- * password type
- */
- public static final String TYPE_PASSWORD = "password"; //$NON-NLS-1$
-
- /**
- * text type
- */
- public static final String TYPE_TEXT = "text"; //$NON-NLS-1$
-
- /**
- * hidden type
- */
- public static final String TYPE_HIDDEN = "hidden"; //$NON-NLS-1$
-
- /**
- * submit query label
- */
- public static final String SUBMIT_LABEL = "Submit Query"; //$NON-NLS-1$
-
- /**
- * reset label
- */
- public static final String RESET_LABEL = "Reset"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IJMTConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IJMTConstants.java
deleted file mode 100644
index 7dbd5b84c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/IJMTConstants.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner;
-
-/**
- * JMT constants that would be used through the JMT core plugin.
- *
- * @author mengbo
- */
-public interface IJMTConstants {
- /**
- * bundle file name
- */
- public static final String PAGEDESIGNER_RESOURCE_BUNDLE_FILE = "org.eclipse.jst.pagedesigner.editors.pagedesigner.JSPEditorMessages"; //$NON-NLS-1$
-
- // Properties contains general properties and defaults to preferences.
- /**
- * root resource bundle name
- */
- public static final String ROOT_RESOURCEBUNDLE = "org.eclipse.jst.pagedesigner.JMTResources"; //$NON-NLS-1$
-
- /**
- * default property file name
- */
- public static final String DEFAULT_PROPERTIES = "default.properties"; //$NON-NLS-1$
-
- /**
- * default style sheet
- */
- public static final String USERAGENT = "html4.css"; //$NON-NLS-1$
-
- /**
- * html editor id
- */
- public static final String EDITORID_HTML = "org.eclipse.jst.pagedesigner.PageDesignerEditor"; //$NON-NLS-1$
-
- /**
- * show all action preference id
- */
- public static final String PREF_PALETTE_SHOW_ALL = "pref.palette.showall"; //$NON-NLS-1$
-
- /**
- * local name of page designer extension
- */
- public static final String EXTENSION_POINT_PAGEDESIGNER = "pageDesignerExtension"; //$NON-NLS-1$
-
- /**
- * local name of cm registry extension
- */
- public static final String EXTENSION_POINT_CMREGISTRY = "cmRegistry"; //$NON-NLS-1$
-
- /**
- * local name of DT resource provider extension
- */
- public static final String DT_RESOURCE_PROVIDER = "dtResourceProvider"; //$NON-NLS-1$
-
- /**
- * local name of local drop handler extension
- */
- public static final String LOCAL_DROP_HANDLER = "localDropHandler"; //$NON-NLS-1$
-
- /**
- * local name of tag converter factory extension
- */
- public static final String TAG_CONVERTER_FACTORY = "tagConverterFactory"; //$NON-NLS-1$
-
- /**
- * local name of attribute cell editor factory extension
- * @deprecated and unused
- */
- public static final String ATTRIBUTE_CELLEDITOR_FACTORY = "attributeCellEditorFactory"; //$NON-NLS-1$
-
- /**
- * local name of tag attribute cell editor factory extension
- */
- public static final String TAG_ATTRIBUTE_CELLEDITOR_FACTORY = "tagAttributeCellEditorFactory"; //$NON-NLS-1$
-
- /**
- * local name of tag transform operation extension
- */
- public static final String TAG_TRANSFORM_OPERATION = "tagTransformOperation"; //$NON-NLS-1$
-
- /**
- *
- * local name of element edit factory extension
- */
- public static final String ELEMENT_EDIT_FACTORY = "elementEditFactory"; //$NON-NLS-1$
-
- /**
- * local name of link creator extension
- */
- public static final String LINK_CREATOR = "linkCreator"; //$NON-NLS-1$
-
- /**
- * extension for property page factory
- */
- public static final String PROPERTY_PAGE_FACTORY = "propertyPageFactory"; //$NON-NLS-1$
- /**
- * extension for palette viewer page factory
- */
- public static final String PALETTE_FACTORY = "paletteFactory"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/JMTResources.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/JMTResources.properties
deleted file mode 100644
index b8262cb8c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/JMTResources.properties
+++ /dev/null
@@ -1,256 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2008 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-####################################################
-# Resource message for Logging
-####################################################
-Log.Error.PageDesignerResources.Open=Error occurred getting the source bundle.
-Log.Error.MessageFormater.Format0=Error in message format.
-Log.Error.ExtensionReader.ReadLinkExtension=can't create linkCreator instance
-Log.Error.PreviewResources.ResouceNotFound=resource {0} not found
-
-Error.StringBufferWriter.Write.0=Error in string buffer writing.
-Error.RangeModeCommand.SetSelection=Selection error
-Error.SourceViewerCommand.Execution=Error in command execution
-Error.PDPlugin.Installation.0=Error starting plug-in.
-Error.PDPlugin.Installation.1=Problems starting plug-in Web Application Development.
-Error.PDPlugin.Installation.6=Problems starting plug-in Web Application Development.
-Error.DesignerPropertyTool.NatureQuerying=Error in project Java nature querying.
-Error.PDPlugin.Installation.10=log.PDPlugin.image.error
-Error.PDPlugin.Installation.13=log.PDPlugin.image.error
-Error.PDPlugin.Installation.15=error in installtion query.
-Error.ProjectResolver.GetlocationByURI.0=Error in taglib locating.
-Error.ProjectFileDialogContentProvider.0=Core error, you may need to restart the application.
-Error.EditValidateUtil.Position = Error in position validation.
-Error.EditValidateUtil.Text = Error occurred in text validation.
-Error.EditValidateUtil.Node = Error occurred in node validation.
-Error.EditValidateUtil.Range = Error occurred in range validation.
-Error.EditValidateUtil.StringIndex = Invalid string.
-Error.EditValidateUtil.IndexOffset = Invalid index or offset of string.
-CSSColorConverter.0=Error in color expression:
-CSSColorConverter.1=Error in color expression:
-Error.CSSFigure.0=Error in flowContext setting.
-Error.CSSUtil.0=Could not cast to CSS style
-Error.CSSUtil.1=Could not cast to CSS style
-Error.CSSUtil.2=Could not cast to CSS style
-Error.CSSUtil.3=Could not cast to CSS style
-Error.HTMLEditor.0=
-Error.HTMLEditor.1=Error occurred getting storage contents
-Error.HTMLEditor.2=Error occurred closing content.
-Error.HTMLEditor.3=The core has exception
-Error.HTMLEditor.4=Error occurred closing stream.
-Error.HTMLEditor.5=Error occurred initializing the editor.
-Error.HTMLEditor.6=Error occurred changing the page.
-Error.FontSizeMeta.0=Error occurred in tag font attribute calculating.
-Error.EditModelQuery.0=Error in position creation:
-Error.EditModelQuery.1=Error occurred getting node at indexed position
-Error.CommonResourceDialog.0.1=Error in project memeber querying
-Error.CommonResourceDialog.0.2=Please refer to error log for details
-Error.ImgFileFilter.1=CoreException is thrown, please refer to error log for details
-Error.ImgFileFilter.3=CoreException is thrown, please refer to error log for details
-Error.ImgFileFilter.0=Error in filtering the tree
-Error.ImgFileFilter.2=Error in getting project Nature
-Info.FontWeightMeta.0=Error occurred in integer processing.
-Warn.PolicyHelper.0=cannot get status line manager
-Warn.PolicyHelper.1=viewer is not HTML viewer
-HTMLSpecialCharHelper.3=Exception thrown
-HTMLSpecialCharHelper.2=Truncated & without ;
-HTMLSpecialCharHelper.1=Not an entity and not a &\#XXXX;
-HTMLSpecialCharHelper.0=Error in number expression
-
-####################################################
-# Resource message for RenderingTraverser
-####################################################
-RenderingTraverser.Error.FileNotFound = File Not Found
-RenderingTraverser.Error.UnsupportedEncoding = Unsupport Encoding
-RenderingTraverser.Error.IO = IO exception
-
-PaletteItemManager.error=error in constructor
-PaletteItemManager.initForPluginExtension.error.IOException=IOExcetpion in initForPluginExtension error
-PaletteItemManager.initForPluginExtension.error.MalformedURLException=MalformedURLException in initForPluginExtension
-PaletteItemManager.initForPluginExtension.error.InstantiationException=InstantiationException in initForPluginExtension
-PaletteItemManager.save.error.IOException=IOException when save
-ParagraphSupport.CommandLabel.Preformated=Preformated
-PaletteItemManager.loadPaletteItemState.error.IOException=IOException in loadPaletteItemState
-PaletteItemManager.loadPaletteItemState.error.SAXException=SAXException in loadPaletteItemState
-PaletteItemManager.loadPaletteItemState.error.getDocumentBuilderFail=getDocumentBuilder Failed
-
-PreviewUtil.previewFile.CoreException= CoreException previewing file
-PreviewUtil.previewFile.IOException= IOException previewing file
-
-#context menu
-ActionGroup.Submenu.TextStyle=Text Style
-ActionGroup.Submenu.Align=Align
-ActionGroup.Submenu.ParagraphFormat=Paragraph Format
-ActionGroup.Submenu.StyleClasses=Style Classes
-ActionGroup.Submenu.BorderStyle=Border Style
-ActionGroup.Submenu.Color=Color
-ActionGroup.Submenu.BackgroundColor=Background Color
-ActionGroup.Submenu.Link=Make Link...
-ActionGroup.Submenu.SelectRelative=Select Relative
-
-TableActionGroup.Submenu.SelectTable=Select Table
-TableActionGroup.Submenu.InsertRowBefore=Insert Row Before
-TableActionGroup.Submenu.InsertRowAfter=Insert Row After
-TableActionGroup.Submenu.InsertColumnBefore=Insert Column Before
-TableActionGroup.Submenu.InsertColumnAfter=Insert Column After
-TableActionGroup.Submenu.DeleteRow=Delete Row
-TableActionGroup.Submenu.DeleteColumn=Delete Column
-ElementEdit.Submenu.Table=Table
-ElementEdit.Submenu.SelectTable=Select Table
-ElementEdit.Submenu.InsertRowBefore=Insert Row Before
-ElementEdit.Submenu.InsertRowAfter=Insert Row After
-ElementEdit.Submenu.InsertColumnBefore=Insert Column Before
-ElementEdit.Submenu.InsertColumnAfter=Insert Column After
-ElementEdit.Submenu.DeleteRow=Delete Row
-ElementEdit.Submenu.DeleteColumn=Delete Column
-ElementEdit.Submenu.InsertHeader=Insert Header
-ElementEdit.Submenu.InsertFooter=Insert Footer
-ElementEdit.Submenu.DeleteHeader=Delete Header
-ElementEdit.Submenu.DeleteFooter=Delete Footer
-ElementEdit.Submenu.Taglib=Open Definition File
-TableInsertHeaderFooterCommand.ColumnHeader=Column Header
-TableInsertHeaderFooterCommand.ColumnFooter=Column Footer
-
-Action.Name.Copy=Copy
-Action.Name.Cut=Cut
-Action.Name.Paste=Paste
-
-Message.Warning.Title=Warning
-Taglib.OpenFile.ERROR=The file that the URI refers to does not exist.
-
-MakeLinkAction.Wizard.PageTitle=Please select link type
-CreateLinkWizard.Title=Select Link Type
-LinkWizardPage.GroupTitle=Link Types
-LinkWizardPage.PreviewLabel=Preview
-
-ItemCreationEditPolicy.CommandLabel.CreateItem=Create Item
-MakeLinkCommand.Label.MakeLink=Make Link
-AttributePropertySource.CommandLabel.ChangeAttribute=Change Attribute
-ChangeAttributeAction.CommandLabel.ChangeStyleClass=Change Style Class
-BorderStyleSupport.CommandLabel.Hidden=Hidden
-BorderStyleSupport.CommandLabel.Dotted=Dotted
-BorderStyleSupport.CommandLabel.Dashed=Dashed
-BorderStyleSupport.CommandLabel.Solid=Solid
-BorderStyleSupport.CommandLabel.Double=Double
-BorderStyleSupport.CommandLabel.Groove=Groove
-BorderStyleSupport.CommandLabel.Ridge=Ridge
-BorderStyleSupport.CommandLabel.Inset=Inset
-BorderStyleSupport.CommandLabel.Outset=Outset
-ColorSupport.CommandLabel.Aqua=Aqua
-ColorSupport.CommandLabel.Black=Black
-ColorSupport.CommandLabel.Blue=Blue
-ColorSupport.CommandLabel.Fuchsia=Fuchsia
-ColorSupport.CommandLabel.Gray=Gray
-ColorSupport.CommandLabel.Green=Green
-ColorSupport.CommandLabel.Lime=Lime
-ColorSupport.CommandLabel.Maroon=Maroon
-ColorSupport.CommandLabel.Navy=Navy
-ColorSupport.CommandLabel.Olive=Olive
-ColorSupport.CommandLabel.Orange=Orange
-ColorSupport.CommandLabel.Purple=Purple
-ColorSupport.CommandLabel.Red=Red
-ColorSupport.CommandLabel.Silver=Silver
-ColorSupport.CommandLabel.Teal=Teal
-ColorSupport.CommandLabel.White=White
-ColorSupport.CommandLabel.Yellow=Yellow
-ColorSupport.CommandLabel.Default=Default
-ParagraphSupport.CommandLabel.None=None
-ParagraphSupport.CommandLabel.Paragraph=Paragraph
-ParagraphSupport.CommandLabel.Heading1=Heading 1
-ParagraphSupport.CommandLabel.Heading2=Heading 2
-ParagraphSupport.CommandLabel.Heading3=Heading 3
-ParagraphSupport.CommandLabel.Heading4=Heading 4
-ParagraphSupport.CommandLabel.Heading5=Heading 5
-ParagraphSupport.CommandLabel.Heading6=Heading 6
-ParagraphSupport.CommandLabel.P=P
-ParagraphSupport.CommandLabel.H1=H1
-ParagraphSupport.CommandLabel.H2=H2
-ParagraphSupport.CommandLabel.H3=H3
-ParagraphSupport.CommandLabel.H4=H4
-ParagraphSupport.CommandLabel.H5=H5
-ParagraphSupport.CommandLabel.H6=H6
-ParagraphSupport.CommandLabel.PRE=PRE
-HTagsInsertGroupAction.ActionLabel.Hx=Hx
-RangeStyleSupport.ActionLabel.Bold=Bold
-RangeStyleSupport.ActionLabel.Italic=Italic
-RangeStyleSupport.ActionLabel.Underline=Underline
-ShowAllAction.ActionLabel.ShowAll=Show All
-AlignSupport.ActionLabel.Left=Left
-AlignSupport.ActionLabel.Center=Center
-AlignSupport.ActionLabel.Right=Right
-AlignSupport.ActionLabel.Justify=Justify
-
-Info.ElementDescReader.ReadPropertyFile=The property file:{0} is not found
-Info.ElementDescReader.ReadPropertyFile.Key=The key:{0} is not found in file:{1}
-ChangeStyleAction.Text=Edit Style...
-
-Log.Error.HTMLStringTagConverter.Error=Error
-ConverterUtil.Description= Drag and drop Web page content here
-
-SimpleGraphicalEditor.help.id=org.eclipse.jst.pagedesigner.graphicalEditor
-DesignerTabbedPropertySheetPage.help.id=org.eclipse.jst.pagedesigner.QuickEditor
-MyPropertySheetPage.help.id=org.eclipse.jst.pagedesigner.Attributes
-StyleDialog.help.id=org.eclipse.jst.pagedesigner.styleDialog
-DesignerPaletteViewerProvider.help.id=org.eclipse.jst.pagedesigner.palette_help
-
-StyleClassSupport.Default=Default
-XMLUtil.Error.0=Error in create documentBuilder:
-XMLUtil.Error.2=Error in object persistance:
-PreviewUtil.Error.0=Error occurred processing the resource bundle:
-PreviewUtil.Error.3=Error occurred opening the file:
-PreviewHandlerNew.Error.0=Error in model release:
-PreviewConvertContext.Error.0=Error:
-CellEditorFactoryRegistry.Info.2=Error in fields retrieving:
-CellEditorFactoryRegistry.Info.3=Error in fields retrieving:
-PageExpressionContext.Info.0=Error:
-TextLayoutSupport.Info.1=Error in text painting:
-
-CMRegistry.ReadConfigration=Reading Properties Configurations
-CMRegistry.HTMLConfigration=Reading HTML Configuration ...
-CMRegistry.JSPConfigration=Reading JSP Configuration ...
-CMRegistry.OtherConfigration=Reading Other Configuration ...
-
-HTMLEditor.Design=Design
-HTMLEditor.Source=Source
-
-LocalSelectionDropTargetListener.MessageDialog.Title=Info
-LocalSelectionDropTargetListener.MessageDialog.Message=The page is deleted, save it first.
-
-LoadBundleTagConverter.convertRefresh.MalformedURLException= MalformedURLException in LoadBundleTagConverter
-LoadBundleTagConverter.convertRefresh.IOException= IOException in LoadBundleTagConverter
-
-Warning.TransformOperationFactory.ExtensionNotFound=ITransformOperation id not found in pageDesigner extension registry ("{0}")
-Warning.TransformOperationFactory.CannotLoadOpClass=Unable to load tag transform operation Class for id ("{0}")
-Warning.TransformOperationFactory.ClassNotFound=ITransformOperation class specified by name in metadata not found ("{0}")
-Warning.TransformOperationFactory.IllegalAccess=ITransformOperation class specified by name in metadata could not be legally accessed ("{0}")
-Warning.TransformOperationFactory.Instantiation=ITransformOperation class specified by name in metadata could not be instantiated ("{0}")
-Warning.TransformOperationFactory.NotAbstractTransformOperation=ITransformOperation class specified by name in metadata does not extend AbstractTransformOperation ("{0}")
-Warning.TransformOperationFactory.UnknownOperationID=Unknown operation ID specified in metadata ("{0}")
-Warning.TransformOperationFactory.TooFewParameters=Too few parameters specified in metadata for operation ("{0}")
-Warning.TransformOperationFactory.RegistryError=Unable to read "{0}" extension registry
-
-Warning.DTResourceProviderFactory.RegistryError=Unable to read "{0}" extension registry
-Warning.DTResourceProviderFactory.ClassNotFound=DT resource provider class "{0}" specified for id "{1}" could not be found
-
-Warning.ProviderClassMap.IllegalAccess=DT resource provider class "{0}" specified for id "{1}" could not be legally accessed
-Warning.ProviderClassMap.Instantiation=DT resource provider class "{0}" specified for id "{1}" could not be instantiated
-Warning.ProviderClassMap.NotIDTResourceProvider=DT resource provider class "{0}" is not correct type (must be IDTResourceProvider)
-
-Warning.DefaultDTSkin.FailureLoadingStyleSheet=DefaultDTSkin "{0}" failed to load a StyleSheet for the URL "{1}"
-
-#Errors relating to ITagCreator et al.
-Error.TagCreatorMustBeOfType=ITagCreator instances must be of type {0}.
-Error.ProblemLoadingExtensionPoint=Problem loading ITagCreatorFactory extension Point
-Error.ProblemLoadingTagCreatorFactory=Problem loading tag creator factory: {0}
-Error.ProblemLoadingExecutingTagCreator=Problem executing tag creator: {0}
-
-#Property Sheet
-QuickEditTab.no_quick_edit_md=No quick edit properties are available for the current selection \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PDPlugin.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PDPlugin.java
deleted file mode 100644
index 9056855f1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PDPlugin.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.Properties;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jst.jsf.common.ui.internal.guiutils.Alerts;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PDPlugin extends AbstractUIPlugin {
- private static final String ICONS_LIB_PATH = "icons"; //$NON-NLS-1$
-
- //private static final boolean ROOT_PLUGIN = false;
-
- // The shared instance.
- private static PDPlugin _plugin;
-
- private static Logger _log;
-
- private static Alerts _alerts;
-
- private ResourceBundle _resourceBundle;
-
- private Properties _properties;
-
- private URL _pluginBase;
-
- /**
- * The constructor.
- */
- public PDPlugin() {
- super();
- _plugin = this;
- }
-
- /**
- * This method is called upon plug-in activation
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
-
- try {
- // get resource bundle.
- _resourceBundle = ResourceBundle
- .getBundle(IJMTConstants.ROOT_RESOURCEBUNDLE);
- _alerts = new Alerts(this, _resourceBundle);
-
- // get properties.
- _properties = new Properties();
- InputStream input = null;
- _pluginBase = getBundle().getEntry("/"); //$NON-NLS-1$
- try {
- input = (new URL(_pluginBase, IJMTConstants.DEFAULT_PROPERTIES))
- .openStream();
- _properties.load(input);
- } finally {
- try {
- input.close();
- } catch (IOException ee)// NOPMD
- {
- // nothing to do when IOException throwed in closing files.
- }
- }
-
- // set up logging for this plugin and everthing under it.
- _log = new Logger(this.getBundle(), _resourceBundle);
-
- // NOTE: add in any other plugin code statup HERE!!!!
-
- // log.CommonPlugin=Web Application Development Common Plugin
- // initialized on eclipse version {0}.
-
- // log.info("log.CommonPlugin", version);
-
- } catch (Exception ee) {
- // only log if the logger was configured correctly.
- if (_log != null) {
- _log
- .error(
- "log.msg", //$NON-NLS-1$
- "Problems starting plug-in Web Application Development Common.", //$NON-NLS-1$
- ee);
- }
-
- throw new CoreException(
- new Status(
- IStatus.ERROR,
- getBundle().getSymbolicName(),
- IStatus.OK,
- "Problems starting plug-in Web Application Development Common", //$NON-NLS-1$
- ee));
- }
- }
-
- /**
- * Returns the shared instance.
- * @return the default plugin
- */
- public static PDPlugin getDefault() {
- return _plugin;
- }
-
- /**
- * get the alerts objects associated with this plugin for alerting the user.
- *
- * @return the Alerts object
- */
- public static Alerts getAlerts() {
- return _alerts;
- }
-
- /**
- * Returns a logger for the new class using this plugin for reference.
- * @param theClass
- * @return the Logger object associated with theClass
- */
- public static Logger getLogger(Class theClass) {
- if (getDefault() != null && getDefault().getRootLogger() != null) {
- return getDefault().getRootLogger();
- }
- return null;
- }
-
- /**
- * Returns the plugin's root logger
- * @return the root logger
- */
- public Logger getRootLogger() {
- return _log;
- }
-
- /**
- * Returns this plugin's unique identifier
- * @return the plugin id
- */
- public static String getPluginId() {
- return getDefault().getBundle().getSymbolicName();
- }
-
- /**
- * @return the plugin's resource bundle
- */
- public ResourceBundle getResourceBundle() {
- return _resourceBundle;
- }
-
- /**
- * @param key
- * @return the string from the plugin's resource bundle, or 'key' if not
- * found.
- */
- public static String getResourceString(String key) {
- ResourceBundle bundle = PDPlugin.getDefault().getResourceBundle();
- try {
- return (bundle != null) ? bundle.getString(key) : key;
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-
- /**
- * @return the plugin's descriptor's resource bundle,
- */
- public ResourceBundle getPluginDecriptorBundle() {
- return Platform.getResourceBundle(getDefault().getBundle());
- }
-
- /**
- * @return the plugin's default properties. These are normally used for
- * default preferences.
- */
- public Properties getProperties() {
- return _properties;
- }
-
- /**
- * @return the standard display to be used. The method first checks, if the
- * thread calling this method has an associated dispaly. If so, this display
- * is returned. Otherwise the method returns the default display.
- */
- public static Display getStandardDisplay() {
- Display display;
- display = Display.getCurrent();
- if (display == null) {
- display = Display.getDefault();
- }
- return display;
- }
-
- /**
- * @return the workspace instance.
- */
- public static IWorkspace getWorkspace() {
- return ResourcesPlugin.getWorkspace();
- }
-
- /**
- * Returns a shared image for the given name. Image must exist in icons folder of pagedesigner plugin.
- * <p>
- * Note: Images returned from this method will be automitically disposed of
- * when this plug-in shuts down. Callers must not dispose of these images
- * themselves.
- * </p>
- *
- * @param name
- * the image name found in /icons (with extension)
- * @return the image, null on error or not found.
- */
- public Image getImage(String name) {
- if (name == null) {
- return null;
- }
-
- ImageRegistry images = getImageRegistry();
- Image image = images.get(name);
- if (image == null) {
- getImageDescriptor(name);
- image = images.get(name);
- }
- return image;
- }
-
- /**
- * Returns a shared ImageDescriptor for the given name
- * <p>
- * Note: ImageDescriptor returned from this method will be automatically
- * disposed of when this plug-in shuts down. Callers must not dispose of
- * these ImageDescriptor themselves.
- * </p>
- *
- * @param name
- * the ImageDescriptor name found in /icons (with extension)
- * @return the ImageDescriptor, null on error or not found.
- */
- public ImageDescriptor getImageDescriptor(String name) {
- if (name == null) {
- return null;
- }
-
- ImageRegistry images = getImageRegistry();
- ImageDescriptor id = images.getDescriptor(name);
- if (id == null) {
- InputStream stream = null;
- try {//check existance of file
- URL url = new URL(_pluginBase,
- ICONS_LIB_PATH + "/" + name); //$NON-NLS-1$
-
- //doing the following to check existance... exception will be caught and null descriptor returned
- stream = url.openStream();
- stream.close();
-
- id = ImageDescriptor.createFromURL(url);
- images.put(name, id);
- } catch (IOException e1) {
- _log.info("Unable to create ImageDescriptor for: "+name, e1); //$NON-NLS-1$
- return null;
- }
- }
- return id;
- }
-
- /**
- * Read a file resource. The file should contain any partial path and the
- * filename from the plugin base. The caller is responsible for closing the
- * file.
- * @param file
- * @return the input stream for the file
- * @throws MalformedURLException
- * @throws IOException
- */
- public InputStream readFile(String file) throws MalformedURLException,
- IOException {
- return (new URL(_pluginBase, file)).openStream();
- }
-
- /**
- * @param file
- * @return the File associate with the name 'file'
- * @throws MalformedURLException
- * @throws IOException
- */
- public File getFile(String file) throws MalformedURLException, IOException {
- return new File((new URL(_pluginBase, file)).getPath());
- }
-
- /**
- * @return the plugin's install location with the leading "/" removed
- * and normalized to the the os string.
- */
- public static Path getInstallLocation() {
- try {
- URL url = getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
- String s1 = FileLocator.resolve(url).getFile();
- if (s1.startsWith("/")) //$NON-NLS-1$
- {
- s1 = s1.substring(1);
- }
- s1 = (new Path(s1)).toOSString();
- String s;
- if (s1.endsWith(File.separator)) {
- s = s1;
- } else {
- s = s1 + File.separator;
- }
- return new Path(s);
- } catch (Exception exception) {
- _log.error("Error.PDPlugin.Installation.15", exception); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * Returns the active workbench window.
- *
- * @return the active workbench window. this can be null but I've never seen
- * it.
- */
- public static IWorkbenchWindow getActiveWorkbenchWindow() {
- if (getDefault().getWorkbench() == null) {
- return null;
- }
- return getDefault().getWorkbench().getActiveWorkbenchWindow();
- }
-
- /**
- * Returns the active workbench page. Note that the active page may not be
- * the one that the user perceives as active in some situations so this
- * method of obtaining the activate page should only be used if no other
- * method is available.
- *
- * @return the active workbench page
- */
- public static IWorkbenchPage getActivePage() {
- IWorkbenchWindow window = getActiveWorkbenchWindow();
- if (window == null) {
- return null;
- }
- return window.getActivePage();
- }
-
- /**
- * Initializes the preference controls to the default values. These values
- * are used the first time the preference page is displayed or when the user
- * presses the Defaults button in the preferences page.
- */
- protected void initializeDefaultPreferences(IPreferenceStore store) {
- // initialize any preferences for this plugin.
- }
-
- /**
- * @return the active workbench Shell. Used for some funciton need IShell
- * Parameter.
- */
- public static Shell getActiveWorkbenchShell() {
- IWorkbenchWindow window = getActiveWorkbenchWindow();
- if (window != null) {
- return window.getShell();
- }
- IWorkbenchWindow[] windows = getDefault().getWorkbench()
- .getWorkbenchWindows();
- if (windows.length > 0) {
- return windows[0].getShell();
- }
- return null;
- }
-
- /**
- * @return the active display.
- */
- public static Display getDisplay() {
- Shell shell = getActiveWorkbenchShell();
- if (shell != null) {
- return shell.getDisplay();
- }
- return Display.getDefault();
- }
-
- /**
- * @return current active project.
- */
- public static IProject getCurrentProject() {
- IProject curProject = null;
- IEditorPart editor = PDPlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- IEditorInput input = editor.getEditorInput();
- IFile inputFile = null;
- if (input instanceof IFileEditorInput) {
- inputFile = ((IFileEditorInput) input).getFile();
- curProject = inputFile.getProject();
- }
- return curProject;
- }
-
- /**
- * Log status using the default plugin logger
- * @param status
- */
- public static void log(IStatus status)
- {
- ILog log = getDefault().getLog();
- log.log(status);
- }
-
- /**
- * @param message
- * @param excp
- */
- public static void log(String message, Throwable excp)
- {
- Status status = new Status(IStatus.ERROR, getPluginId(), message, excp);
- log(status);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PageDesignerTraceOptions.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PageDesignerTraceOptions.java
deleted file mode 100644
index 5bcf32a32..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/PageDesignerTraceOptions.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner;
-
-import org.eclipse.osgi.framework.debug.FrameworkDebugOptions;
-import org.eclipse.osgi.service.debug.DebugOptions;
-
-/**
- * Defines that standard runtime trace options for debugging. See .options file
- * for definitions.
- *
- * NOT API
- *
- * @author cbateman
- *
- */
-public final class PageDesignerTraceOptions
-{
- /**
- * True if debug tracing is enabled. Other tracing cannot be enabled unless
- * this is enabled.
- */
- public static final boolean ENABLED;
-
- /**
- * True if tag converter ext load tracing is enabled
- */
- public static final boolean TRACE_CONVERTERLOAD;
- /**
- * True if tag converter selection tracing is enabled
- */
- public static final boolean TRACE_CONVERTERSELECT;
- /**
- * True if tag element edit ext load tracing is enabled
- */
- public static final boolean TRACE_ELEMENTEDITLOAD;
- /**
- * True if tag element edit selection tracing is enabled
- */
- public static final boolean TRACE_ELEMENTEDITSELECTION;
-
- private static final String KEY_DEBUG_ENABLED = "/debug"; //$NON-NLS-1$
- private static final String KEY_CONVERTER = KEY_DEBUG_ENABLED+"/converter"; //$NON-NLS-1$
- private static final String KEY_CONVERTER_LOAD = KEY_CONVERTER + "/load"; //$NON-NLS-1$
- private static final String KEY_CONVERTER_SELECTION = KEY_CONVERTER + "/selection"; //$NON-NLS-1$
-
- private static final String KEY_ELEMENTEDIT = KEY_DEBUG_ENABLED+"/elementedit"; //$NON-NLS-1$
- private static final String KEY_ELEMENTEDIT_LOAD = KEY_ELEMENTEDIT + "/load"; //$NON-NLS-1$
- private static final String KEY_ELEMENTEDIT_SELECTION = KEY_ELEMENTEDIT + "/selection"; //$NON-NLS-1$
-
-
- static
- {
- final DebugOptions debugOptions = FrameworkDebugOptions.getDefault();
- final String pluginId = PDPlugin.getPluginId();
- ENABLED = debugOptions != null
- && debugOptions.getBooleanOption(pluginId
- + KEY_DEBUG_ENABLED, false);
-
- if (ENABLED)
- {
- TRACE_CONVERTERLOAD = debugOptions.getBooleanOption(
- pluginId + KEY_CONVERTER_LOAD, false);
- TRACE_CONVERTERSELECT = debugOptions.getBooleanOption(
- pluginId + KEY_CONVERTER_SELECTION, false);
- TRACE_ELEMENTEDITLOAD = debugOptions.getBooleanOption(
- pluginId + KEY_ELEMENTEDIT_LOAD, false);
- TRACE_ELEMENTEDITSELECTION = debugOptions.getBooleanOption(
- pluginId + KEY_ELEMENTEDIT_SELECTION, false);
- }
- else
- {
- TRACE_CONVERTERLOAD = false;
- TRACE_CONVERTERSELECT = false;
- TRACE_ELEMENTEDITLOAD = false;
- TRACE_ELEMENTEDITSELECTION = false;
- }
- }
-
- /**
- * @param message
- */
- public static void log(final String message)
- {
- System.out.println(message);
- }
-
- /**
- * @param msg A short label placed before the trace of t to show the source
- * @param t
- */
- public static void log(final String msg, final Throwable t)
- {
- System.out.printf("%s: Exception Trace:\n\n",msg); //$NON-NLS-1$
- t.printStackTrace(System.out);
- System.out.print("\n\n\n"); //$NON-NLS-1$
- }
-
- private PageDesignerTraceOptions()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/container/ContainerActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/container/ContainerActionGroup.java
deleted file mode 100644
index 807cad294..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/container/ContainerActionGroup.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.container;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.ui.actions.ActionGroup;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ContainerActionGroup extends ActionGroup {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager menu) {
- ISelection selection = this.getContext().getSelection();
-
- EditPart part = findCommonAncesterPart(selection);
- if (!(part instanceof NodeEditPart)) {
- return;
- }
-
- NodeEditPart original = (NodeEditPart) part;
- // start from the parent of part
- while (part.getParent() instanceof ElementEditPart) {
- ElementEditPart elementEditPart = (ElementEditPart) part
- .getParent();
-
- IElementEdit elementEdit = elementEditPart.getElementEdit();
- if (elementEdit != null) {
- boolean filled = elementEdit.fillContainerContextMenu(menu,
- elementEditPart, original, selection);
- if (filled) {
- break;
- }
- }
-
- part = part.getParent();
- }
- }
-
- /**
- * Give a selection, find a single common container node as start for table
- * related operations.
- *
- * @param selection
- * @return
- */
- private EditPart findCommonAncesterPart(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection structsel = (IStructuredSelection) selection;
- if (structsel.size() != 1) {
- return null;
- } else if (structsel.getFirstElement() instanceof EditPart) {
- return (EditPart) structsel.getFirstElement();
- } else {
- return null;
- }
- } else if (selection instanceof DesignRange) {
- DesignRange range = (DesignRange) selection;
- if (!range.isValid()) {
- return null;
- }
- if (range.isEmpty()) {
- DesignPosition position = range.getStartPosition();
- if (position.getOffset() == 0
- || position.getContainerNode() instanceof Text) {
- return position.getContainerPart();
- }
- return position.getSiblingEditPart(false);
- }
- return RangeUtil.findCommonAncestor(range);
- } else {
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/AbstractLinkCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/AbstractLinkCreator.java
deleted file mode 100644
index 925b4494c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/AbstractLinkCreator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class AbstractLinkCreator implements ILinkCreator,
- IExecutableExtension {
- private String _identifier;
- /**
- * the link identifier attribute name
- */
- private static final String LINK_IDENTIFIER = "linkIdentifier"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.actions.link.ILinkCreator#canExcute(org.eclipse.jst.pagedesigner.viewer.DesignRange)
- */
- public boolean canExecute(DesignRange range) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.actions.link.ILinkCreator#getLinkIdentifier()
- */
- public String getLinkIdentifier() {
- return this._identifier;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
- * java.lang.String, java.lang.Object)
- */
- public void setInitializationData(IConfigurationElement config,
- String propertyName, Object data) throws CoreException {
- this._identifier = config.getAttribute(LINK_IDENTIFIER);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/CreateLinkWizard.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/CreateLinkWizard.java
deleted file mode 100644
index 2aae9ffb5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/CreateLinkWizard.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import java.util.Map;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CreateLinkWizard extends Wizard {
- private static final String WIZARD_TITLE = PDPlugin
- .getResourceString("CreateLinkWizard.Title"); //$NON-NLS-1$
-
- private static final String INTIAL_DEFAULT_PAGE_IMAGE = "newsuade_wiz.gif"; //$NON-NLS-1$
-
- private static final String PAGE_NAME = "first"; //$NON-NLS-1$
-
- private String _pageTitle;
-
- private EditPart _part;
-
- private DesignRange _range;
-
- private Map<String, ILinkCreator> _linkMap;
-
- private String _linkType;
-
- /**
- * @param part
- * @param range
- * @param linkMap
- */
- public CreateLinkWizard(EditPart part, DesignRange range, Map<String, ILinkCreator> linkMap) {
- this._part = part;
- this._range = range;
- this._linkMap = linkMap;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.IWizard#addPages()
- */
- public void addPages() {
- addPage(new LinkWizardPage(PAGE_NAME, _pageTitle, this._part,
- this._range, this._linkMap));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.IWizard#canFinish()
- */
- public boolean canFinish() {
- return super.canFinish();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.IWizard#performFinish()
- */
- public boolean performFinish() {
- LinkWizardPage page = (LinkWizardPage) getPage(PAGE_NAME);
- this._linkType = page.getChosenLinkType();
- return true;
- }
-
- /**
- * @param pageTitle
- */
- public void setPageTitle(String pageTitle) {
- _pageTitle = pageTitle;
- initializeDefaultPageImageDescriptor();
- }
-
- /**
- *
- */
- protected void initializeDefaultPageImageDescriptor() {
- ImageDescriptor desc = PDPlugin.getDefault().getImageDescriptor(
- INTIAL_DEFAULT_PAGE_IMAGE);
- setDefaultPageImageDescriptor(desc);
- setWindowTitle(WIZARD_TITLE);
- }
-
- /**
- * @return the link type
- */
- public String getChosenLinkType() {
- return this._linkType;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ExtensionReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ExtensionReader.java
deleted file mode 100644
index f4ababfaa..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ExtensionReader.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ExtensionReader {
- private static Logger _log = PDPlugin.getLogger(ExtensionReader.class);
-
- private static List<ILinkCreator> _handlers = null;
-
- private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-
- /**
- * @return the ext-pts for the link handler
- * List is not modifiable
- */
- public static synchronized List<ILinkCreator> getAllLinkHandlers() {
- if (_handlers == null) {
- _handlers = readAllLinkHandlers();
- }
- return Collections.unmodifiableList(_handlers);
-
- }
-
- private static List<ILinkCreator> readAllLinkHandlers() {
- List<ILinkCreator> result = new ArrayList<ILinkCreator>();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++) {
- IExtension ext = extensions[i];
- IConfigurationElement[] linkHandlers = ext
- .getConfigurationElements();
-
- for (int j = 0; j < linkHandlers.length; j++) {
- if (linkHandlers[j].getName()
- .equals(IJMTConstants.LINK_CREATOR)) {
- linkHandlers[j].getAttribute(ATTR_CLASS);
- Object obj;
- try {
- obj = linkHandlers[j]
- .createExecutableExtension(ATTR_CLASS);
-
- if (obj instanceof ILinkCreator) {
- result.add((ILinkCreator)obj);
- }
- } catch (CoreException e) {
- _log
- .error("Log.Error.ExtensionReader.ReadLinkExtension"); //$NON-NLS-1$
- }
- }
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/HtmlLinkCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/HtmlLinkCreator.java
deleted file mode 100644
index 14e85916e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/HtmlLinkCreator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class HtmlLinkCreator extends AbstractLinkCreator {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.actions.link.ILinkCreator#makeLinkElement(org.eclipse.gef.EditPart,
- * org.eclipse.jst.pagedesigner.viewer.DesignRange)
- */
- public Element makeLinkElement(EditPart part, DesignRange range) {
- if (part instanceof TextEditPart) {
- Text middleNode = LinkUtil.splitDomText(part, range);
- EditPart parent = part.getParent();
- Node parentNode = (Node) parent.getModel();
- Document doc = (parentNode instanceof Document) ? (Document) parentNode
- : (parentNode.getOwnerDocument());
-
- Element htmlLink = doc.createElement(IHTMLConstants.TAG_A);
- htmlLink.setAttribute(ICSSPropertyID.ATTR_HREF, ""); //$NON-NLS-1$
- Text text = doc.createTextNode(middleNode.getNodeValue());
- htmlLink.appendChild(text);
- parentNode.replaceChild(htmlLink, middleNode);
- return htmlLink;
- }
-
- return null;
- }
-
- public String getSourcePreview(EditPart part, DesignRange range) {
- if (part instanceof TextEditPart) {
- TextEditPart textPart = (TextEditPart) part;
- int[] offsets = textPart.getSelectedRange();
- String displayData = textPart.getTextData();
-
- String linkExp = displayData.substring(offsets[0], offsets[1]);
- StringBuffer sb = new StringBuffer();
- sb.append("<a href=\"\">"); //$NON-NLS-1$
- sb.append(linkExp);
- sb.append("</a>"); //$NON-NLS-1$
- return sb.toString();
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ILinkCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ILinkCreator.java
deleted file mode 100644
index 0652f37e7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/ILinkCreator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface ILinkCreator {
-
- /**
- * @param part
- * @param range
- * @return the link element
- */
- public Element makeLinkElement(EditPart part, DesignRange range);
-
- /**
- * @return link identifier
- */
- public String getLinkIdentifier();
-
- /**
- * @param range
- * @return true if can call makeLinkElement
- */
- public boolean canExecute(DesignRange range);
-
- /**
- * @param part
- * @param range
- * @return a preview string that approximates the result
- * of makeLinkElement
- */
- public String getSourcePreview(EditPart part, DesignRange range);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkRequest.java
deleted file mode 100644
index 1caa1f881..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkRequest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import org.eclipse.gef.Request;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class LinkRequest extends Request {
- private final String _identifier;
-
- private final DesignRange _range;
-
- /**
- * @param identifier
- * @param range
- */
- public LinkRequest(String identifier, DesignRange range) {
- this._identifier = identifier;
- this._range = range;
- }
-
- /**
- * @return the identifier
- */
- public String getIdentifier() {
- return this._identifier;
- }
-
- /**
- * @return the design range
- */
- public DesignRange getDesignRange() {
- return this._range;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkUtil.java
deleted file mode 100644
index aeeaf41a4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkUtil.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRangeHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class LinkUtil {
- /**
- * @param part
- * @param range
- * @return the select text if part is a text node or null.
- */
- public static String getSelectedText(EditPart part, DesignRange range) {
- if (part instanceof TextEditPart) {
- TextEditPart textPart = (TextEditPart) part;
- int[] offsets = textPart.getSelectedRange();
- String displayData = textPart.getTextData();
-
- String linkExp = displayData.substring(offsets[0], offsets[1]);
- return linkExp;
- }
- return null;
- }
-
- /**
- * @param part
- * @param range
- * @return the text from part split if it is a text node or null
- */
- public static Text splitDomText(EditPart part, DesignRange range) {
- if (part instanceof TextEditPart) {
- Text textNode = (Text) part.getModel();
-
- DOMRange domRange = DOMRangeHelper.toDOMRange(range);
- IDOMPosition start = domRange.getStartPosition();
- IDOMPosition end = domRange.getEndPosition();
- int domTempStartOffset = computeOffset(start, textNode);
- int domTempEndOffset = computeOffset(end, textNode);
-
- int domStartOffset = Math.min(domTempStartOffset, domTempEndOffset);
- int domEndOffset = Math.max(domTempStartOffset, domTempEndOffset);
-
- Text lastNode = textNode;
- if (domStartOffset > 0) {
- lastNode = textNode.splitText(domStartOffset);
- }
- lastNode = lastNode.splitText(domEndOffset - domStartOffset);
- Text middleNode = (Text) lastNode.getPreviousSibling();
- return middleNode;
- }
- return null;
- }
-
- private static int computeOffset(IDOMPosition pos, Text textNode) {
- int domOffset = 0;
- if (pos instanceof DOMRefPosition) {
- DOMRefPosition rep = (DOMRefPosition) pos;
- boolean forward = rep.isForward();
- Node refNode = rep.getReferenceNode();
-
- if ((refNode != textNode) && forward || (refNode == textNode)
- && !forward) {
- domOffset = 0;
- } else {
- domOffset = textNode.getLength();
- }
- } else {
- domOffset = pos.getOffset();
- }
- return domOffset;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkWizardPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkWizardPage.java
deleted file mode 100644
index aca482408..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/LinkWizardPage.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class LinkWizardPage extends WizardPage {
- private static final String GROUP_TITLE = PDPlugin
- .getResourceString("LinkWizardPage.GroupTitle"); //$NON-NLS-1$
-
- private static final String PREVIEW_TAG_LABEL = PDPlugin
- .getResourceString("LinkWizardPage.PreviewLabel"); //$NON-NLS-1$
-
- private StyledText _text = null;
-
- private final Map<String, ILinkCreator> _linkMap;
-
- private String _linkType = null;
-
- private final EditPart _part;
-
- private final DesignRange _range;
-
- /**
- * @param pageName
- * @param title
- * @param editPart
- * @param range
- * @param linkMap
- */
- public LinkWizardPage(String pageName, String title, EditPart editPart,
- DesignRange range, Map<String, ILinkCreator> linkMap) {
- super(pageName, title, null);
- this._part = editPart;
- this._range = range;
- this._linkMap = linkMap;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- GridLayout layout;
- GridData data;
-
- layout = new GridLayout();
- layout.marginWidth = 20;
- parent.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH | GridData.CENTER);
- parent.setLayoutData(data);
-
- Group group = new Group(parent, SWT.NONE);
- group.setText(GROUP_TITLE);
- layout = new GridLayout();
- group.setLayout(layout);
- data = new GridData(GridData.FILL_HORIZONTAL);
- group.setLayoutData(data);
-
- String defaultLink = ""; //$NON-NLS-1$
- Set<String> set = this._linkMap.keySet();
- int size = set.size();
- String[] keys = new String[size];
- Iterator<String> itr = set.iterator();
- int i = 0;
- while (itr.hasNext()) {
- String key = itr.next();
- keys[i++] = key;
- }
- Arrays.sort(keys);
- for (int j = 0; j < size; j++) {
- Button bt = new Button(group, SWT.RADIO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- bt.setLayoutData(data);
- bt.setText(keys[j]);
- if (j == 0) {
- bt.setSelection(true);
- defaultLink = keys[j];
- }
- bt.addSelectionListener(new SelectLinkListener(keys[j]));
- }
-
- Label label = new Label(parent, SWT.NONE);
- label.setText(PREVIEW_TAG_LABEL);
-
- _text = new StyledText(parent, SWT.WRAP | SWT.V_SCROLL | SWT.BORDER);
- data = new GridData(GridData.FILL_BOTH);
- data.heightHint = 50;
- _text.setLayoutData(data);
-
- ILinkCreator creator = _linkMap.get(defaultLink);
- _linkType = creator.getLinkIdentifier();
- String previewText = creator.getSourcePreview(_part, _range);
- previewText = previewText == null ? "" : previewText; //$NON-NLS-1$
- _text.setText(previewText);
- _text.setEditable(false);
-
- super.setControl(group);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.IWizardPage#isPageComplete()
- */
- public boolean isPageComplete() {
- return true;
- }
-
- /**
- * @return the link type
- */
- public String getChosenLinkType() {
- return this._linkType;
- }
-
- class SelectLinkListener extends SelectionAdapter {
- private String _key;
-
- /**
- * @param key
- */
- public SelectLinkListener(String key) {
- this._key = key;
- }
-
- public void widgetSelected(SelectionEvent e) {
- ILinkCreator creator = _linkMap.get(this._key);
- _linkType = creator.getLinkIdentifier();
- String previewText = creator.getSourcePreview(_part, _range);
- previewText = previewText == null ? "" : previewText; //$NON-NLS-1$
- _text.setText(previewText);
- super.widgetSelected(e);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkAction.java
deleted file mode 100644
index 475f4ff2f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkAction.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.CommonWizardDialog;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class MakeLinkAction extends Action {
- private final static String MAKE_LINK = PDPlugin
- .getResourceString("ActionGroup.Submenu.Link"); //$NON-NLS-1$
-
- private final static String WIZARD_PAGE_TITLE = PDPlugin
- .getResourceString("MakeLinkAction.Wizard.PageTitle"); //$NON-NLS-1$
-
- private EditPart _editPart;
-
- private DesignRange _range;
-
- private String _linkType;
-
- /**
- * @param range
- */
- public MakeLinkAction(DesignRange range) {
- super(MAKE_LINK);
- _range = range;
- _editPart = convertToEditPart(_range);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- Map<String, ILinkCreator> map = calAvailableLinkCreator();
- if (map.size() > 1) {
- CreateLinkWizard wizard = new CreateLinkWizard(_editPart, _range,
- map);
- wizard.setPageTitle(WIZARD_PAGE_TITLE);
- CommonWizardDialog wizardDialog = new CommonWizardDialog(
- getShell(), wizard);
- wizardDialog.create();
- if (wizardDialog.open() == Window.OK) {
- _linkType = wizard.getChosenLinkType();
- }
- }
- // else must be html link
- else if (map.size() == 1) {
- Set<Map.Entry<String, ILinkCreator>> set = map.entrySet();
- Iterator<Map.Entry<String,ILinkCreator>> itr = set.iterator();
- while (itr.hasNext()) {
- ILinkCreator creator = itr.next().getValue();
- _linkType = creator.getLinkIdentifier();
- }
- }
-
- if (_linkType != null) {
- Request request = new LinkRequest(_linkType, _range);
- Command cmd = _editPart.getCommand(request);
- if (cmd != null && cmd.canExecute()) {
- cmd.execute();
- }
- }
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- if (_editPart == null) {
- return false;
- }
- return super.isEnabled();
- }
-
- private EditPart convertToEditPart(DesignRange range) {
- DesignPosition startPosition = range.getStartPosition();
- EditPart startPart = startPosition.getContainerPart();
-
- DesignPosition endPosition = range.getEndPosition();
- EditPart endPart = endPosition.getContainerPart();
-
- if (startPosition == endPosition) {
- return null;
- }
-
- if (startPart instanceof TextEditPart
- && endPart instanceof TextEditPart) {
- if ((startPart == endPart)) {
- return startPart;
- }
- } else if (!(startPart instanceof TextEditPart)
- && !(endPart instanceof TextEditPart)) {
- Node[] startNodeOptions = null;
- startNodeOptions = getSideNodes(startPosition);
- Node[] endNodeOptions = null;
- endNodeOptions = getSideNodes(endPosition);
- Node selectedNode = null;
- for (int i = 0; i < 2; i++) {
- for (int j = 0; j < 2; j++) {
- if (startNodeOptions[i] == endNodeOptions[j]) {
- selectedNode = startNodeOptions[i];
- break;
- }
- }
- if (selectedNode != null) {
- break;
- }
- }
- if (selectedNode != null) {
- EditPart part = (EditPart) ((INodeNotifier) selectedNode)
- .getAdapterFor(EditPart.class);
- return part;
- }
- } else {
- if (startPart instanceof TextEditPart) {
- Node[] endNodeOptions = null;
- endNodeOptions = getSideNodes(endPosition);
- if (startPart.getModel() == endNodeOptions[0]
- || startPart.getModel() == endNodeOptions[1]) {
- return startPart;
- }
- }
- if (endPart instanceof TextEditPart) {
- Node[] startNodeOptions = null;
- startNodeOptions = getSideNodes(startPosition);
- if (endPart.getModel() == startNodeOptions[0]
- || endPart.getModel() == startNodeOptions[1]) {
- return endPart;
- }
- }
- }
-
- return null;
- }
-
- private Node[] getSideNodes(DesignPosition pos) {
- Node[] nodes = new Node[2];
-
- EditPart part = pos.getContainerPart();
- Node node = (Node) part.getModel();
- NodeList list = node.getChildNodes();
-
- if (list.getLength() == pos.getOffset()) {
- nodes[0] = list.item(pos.getOffset() - 1);
- nodes[1] = list.item(pos.getOffset() - 1);
- } else if (pos.getOffset() == 0) {
- nodes[0] = list.item(0);
- nodes[1] = list.item(0);
- } else if (pos.getOffset() > 0 && pos.getOffset() < list.getLength()) {
- nodes[0] = list.item(pos.getOffset() - 1);
- nodes[1] = list.item(pos.getOffset());
- }
-
- return nodes;
- }
-
- private Shell getShell() {
- if (_editPart != null) {
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) _editPart
- .getViewer();
- return viewer.getControl().getShell();
- }
- return null;
- }
-
- private Map<String, ILinkCreator> calAvailableLinkCreator() {
- Map<String, ILinkCreator> map = new HashMap<String, ILinkCreator>();
- List<ILinkCreator> linkCreators = ExtensionReader.getAllLinkHandlers();
- for (ILinkCreator linkCreator : linkCreators) {
- String identifier = linkCreator.getLinkIdentifier();
- boolean canExecute = linkCreator.canExecute(_range);
- if (canExecute) {
- map.put(identifier, linkCreator);
- }
- }
- return map;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkCommand.java
deleted file mode 100644
index 7c4835f4e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/link/MakeLinkCommand.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.link;
-
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class MakeLinkCommand extends DesignerCommand {
- private String _identifier = null;
-
- private EditPart _part = null;
-
- private DesignRange _range = null;
-
- private ILinkCreator _linkcreator = null;
-
- private Element _ele = null;
-
- /**
- * @param identifier
- * @param viewer
- * @param part
- * @param range
- */
- public MakeLinkCommand(String identifier, IHTMLGraphicalViewer viewer,
- EditPart part, DesignRange range) {
- super(identifier, viewer);
- setLabel(PDPlugin.getResourceString("MakeLinkCommand.Label.MakeLink"));//$NON-NLS-1$
- this._identifier = identifier;
- this._part = part;
- this._range = range;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- List<ILinkCreator> creators = ExtensionReader.getAllLinkHandlers();
- if (creators != null) {
- for (ILinkCreator linkCreator : creators) {
- String identifier = linkCreator.getLinkIdentifier();
- if (this._identifier.equalsIgnoreCase(identifier)) {
- this._linkcreator = linkCreator;
- break;
- }
- }
- }
- if (this._linkcreator != null) {
- return this._linkcreator.canExecute(_range);
- }
-
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- if (this._linkcreator != null) {
- Element ele = this._linkcreator.makeLinkElement(this._part,
- this._range);
- Node node = (Node) this._part.getModel();
- Node parent = node.getParentNode();
- formatNode(parent);
-
- this._ele = ele;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_ele);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/CustomedContextMenuActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/CustomedContextMenuActionGroup.java
deleted file mode 100644
index b6721fc1b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/CustomedContextMenuActionGroup.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.menuextension;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.pagedesigner.extensionpoint.IContextMenuItemContributor;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CustomedContextMenuActionGroup extends ActionGroup {
- private final static String POPUPMENU_EXTENSION_ID = "org.eclipse.jst.pagedesigner.popupMenuContributor"; //$NON-NLS-1$
-
- private List _contributedMenuListener;
-
- private Control _parentControl;
-
- private IStructuredModel _model;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager menu) {
- populateContributedMenu(menu);
- }
-
- private List getListeners() {
- if (_contributedMenuListener == null) {
- _contributedMenuListener = computeContributedMenuListener();
- }
- return _contributedMenuListener;
- }
-
- private List computeContributedMenuListener() {
- IExtensionRegistry registry = Platform.getExtensionRegistry();
- IExtensionPoint extensionPoint = registry
- .getExtensionPoint(POPUPMENU_EXTENSION_ID);
- IExtension[] extensions = extensionPoint.getExtensions();
- List results = new ArrayList();
- for (int i = 0; i < extensions.length; i++) {
- IConfigurationElement[] elements = extensions[i]
- .getConfigurationElements();
- for (int j = 0; j < elements.length; j++) {
- try {
- Object listener = elements[j]
- .createExecutableExtension("class");//$NON-NLS-1$
-
- if (listener instanceof IContextMenuItemContributor) {
- results.add(listener);
- ((IContextMenuItemContributor) listener)
- .setURI(elements[j].getAttribute("URI"));//$NON-NLS-1$
- }
- } catch (CoreException e) {
- // ignore
- }
- }
- }
- return results;
- }
-
- private void populateContributedMenu(IMenuManager menuMgr) {
- List list = getListeners();
- for (int i = 0, n = list.size(); i < n; i++) {
- IContextMenuItemContributor contributor = (IContextMenuItemContributor) list
- .get(i);
- IFile file = StructuredModelUtil.getFileFor(_model);
- if (file != null && contributor.getURI() != null) {
- if (JSPUtil.supportTaglib(contributor.getURI(), file)) {
- contributor.fillContextMenu(menuMgr, getContext()
- .getSelection(), _model, _parentControl);
- }
- }
- }
- }
-
- /**
- * @return Returns the model.
- */
- public IStructuredModel getModel() {
- return _model;
- }
-
- /**
- * @param model
- * The model to set.
- */
- public void setModel(IStructuredModel model) {
- this._model = model;
- }
-
- /**
- * @return Returns the parentControl.
- */
- public Control getParentControl() {
- return _parentControl;
- }
-
- /**
- * @param parentControl
- * The parentControl to set.
- */
- public void setParentControl(Control parentControl) {
- this._parentControl = parentControl;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/RunAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/RunAction.java
deleted file mode 100644
index 35280196d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/menuextension/RunAction.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.menuextension;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RunAction extends Action {
- /**
- * constant for debug launch mode
- */
- public static final String LAUNCH_MODE_DEBUG = "debug"; //$NON-NLS-1$
-
- /**
- * constant for run launch mode
- */
- public static final String LAUNCH_MODE_RUN = "run"; //$NON-NLS-1$
-
- private final String ID = "org.eclipse.jst.pagedesigner.actions.menuextension.RunAction"; //$NON-NLS-1$
-
- //private EditorPart _editor;
-
- private String _mode;
-
- /**
- * @param editor
- * @param mode
- */
- public RunAction(EditorPart editor, String mode) {
- //_editor = editor;
- _mode = mode;
- }
-
- public void run() {
- PDPlugin.getLogger(getClass()).error("Obsolete. Shouldn't be used", new Throwable()); //$NON-NLS-1$
- // FIXME: we don't support this feature and it seems to depend
- // on debugger internal code anyway...
- // List allShortCuts = DebugUIPlugin.getDefault()
-// .getLaunchConfigurationManager().getLaunchShortcuts();
-// Iterator iter = allShortCuts.iterator();
-// LaunchShortcutExtension ext = null;
-// while (iter.hasNext()) {
-// ext = (LaunchShortcutExtension) iter.next();
-// try {
-// if (ext.getId().equals("org.eclipse.wst.server.launchShortcut")) {
-// break;
-// }
-// } catch (Exception e) {
-// // not supported
-// }
-// }
-// if (ext != null) {
-// ext.launch(getSelection(), _mode);
-// }
- }
-
-// private IStructuredSelection getSelection() {
-// IEditorInput input = ((HTMLEditor) _editor).getEditorInput();
-// List elements = new ArrayList();
-// if (input instanceof FileEditorInput) {
-// elements.add(((FileEditorInput) input).getFile());
-// }
-// return new StructuredSelection(elements);
-// }
-
- public String getId() {
- return ID;
- }
-
- public String getText() {
- return _mode.substring(0, 1).toUpperCase()
- + _mode.substring(1, _mode.length());
- }
-
- private ImageDescriptor getImageDescriptorForModel(String id) {
- IConfigurationElement[] elements = Platform.getExtensionRegistry()
- .getConfigurationElementsFor("org.eclipse.ui.actionSets"); //$NON-NLS-1$
- for (int i = 0; i < elements.length; i++) {
- if ("actionSet".equals(elements[i].getName())) { //$NON-NLS-1$
- IConfigurationElement[] actions = elements[i]
- .getChildren("action"); //$NON-NLS-1$
- for (int j = 0; j < actions.length; j++) {
- if (id.equals(actions[j].getAttribute("id"))) { //$NON-NLS-1$
- String iconPath = actions[j].getAttribute("icon"); //$NON-NLS-1$
- if (iconPath != null) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(
- actions[j].getDeclaringExtension()
- .getContributor().getName(), iconPath);
- }
- return null;
- }
- }
- }
- }
- return null;
- }
-
- public ImageDescriptor getImageDescriptor() {
- if (_mode == LAUNCH_MODE_DEBUG) {
- return getImageDescriptorForModel("org.eclipse.debug.internal.ui.actions.DebugDropDownAction"); //$NON-NLS-1$
- } else if (_mode == LAUNCH_MODE_RUN) {
- return getImageDescriptorForModel("org.eclipse.debug.internal.ui.actions.RunDropDownAction"); //$NON-NLS-1$
- } else {
- return super.getImageDescriptor();
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/AlignSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/AlignSupport.java
deleted file mode 100644
index aaab7e944..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/AlignSupport.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class AlignSupport {
-
- private static final String[] ALIGN_VALUES = new String[] {
- PDPlugin.getResourceString("AlignSupport.ActionLabel.Left"), //$NON-NLS-1$
- PDPlugin.getResourceString("AlignSupport.ActionLabel.Center"), //$NON-NLS-1$
- PDPlugin.getResourceString("AlignSupport.ActionLabel.Right"), //$NON-NLS-1$
- PDPlugin.getResourceString("AlignSupport.ActionLabel.Justify") //$NON-NLS-1$
- };
-
- private static Element[] _nodes = null;
-
- /**
- * @param menu
- * @param viewer
- */
- public static void createAlignActions(IMenuManager menu,
- IHTMLGraphicalViewer viewer) {
- for (int i = 0; i < ALIGN_VALUES.length; i++) {
- ParagraphStyleAction action = new ParagraphStyleAction(
- ALIGN_VALUES[i], _nodes[i], null, IAction.AS_CHECK_BOX);
- action.setViewer(viewer);
- menu.add(action);
- }
- }
-
- /**
- * @param nodes
- */
- public static void setAlignNodes(Element[] nodes) {
- if (_nodes != nodes) {
- _nodes = nodes;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ChangeStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ChangeStyleAction.java
deleted file mode 100644
index d710e3c84..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ChangeStyleAction.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.commands.range.ApplyStyleCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRangeHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class ChangeStyleAction extends DesignerToolBarAction {
- private final String _expectedTag;
-
- /**
- * @param text
- * @param name
- * @param image
- * @param style
- */
- public ChangeStyleAction(String text, String name, ImageDescriptor image,
- int style) {
- super(text, style);
- _expectedTag = name;
- this.setImageDescriptor(image);
- }
-
- /**
- * @param text
- * @param name
- * @param enabled
- * @param disabled
- * @param style
- */
- public ChangeStyleAction(String text, String name, ImageDescriptor enabled,
- ImageDescriptor disabled, int style) {
- super(text, style);
- _expectedTag = name;
- setImageDescriptor(enabled);
- setDisabledImageDescriptor(disabled);
- }
-
-
- protected boolean isApplied(DOMRange range) {
- if (range == null) {
- return false;
- }
-
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node startnode = start.getContainerNode();
- Node endnode = end.getContainerNode();
- if (!EditModelQuery.hasAncestor(startnode, _expectedTag, true)) {
- return false;
- }
- for (Node node = startnode; node != endnode; node = EditModelQuery
- .getInstance().getNextLeafNeighbor(node)) {
- if (!EditModelQuery.hasAncestor(node, _expectedTag, true)) {
- return false;
- }
- }
- if (!EditModelQuery.hasAncestor(endnode, _expectedTag, true)) {
- return false;
- }
- return true;
- }
-
- /**
- * @return the expected tag
- */
- protected String getExpectedTag() {
- return _expectedTag;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#getCommand()
- */
- protected Command getCommand() {
- DesignRange range = getViewer().getRangeSelection();
- DOMRange dRange = DOMRangeHelper.toDOMRange(range);
- Command command;
- if (isApplied(dRange)) {
- // command = new UnapplyStyleCommand(getViewer(), _expectedTag,
- // null, null);
- // since the un-applystyle is not implemented yet,we do nothing
- // here.
- command = null;
- this.setChecked(true);
- } else {
- command = new ApplyStyleCommand(getViewer(), _expectedTag, null,
- null);
- }
- return command;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.texteditor.IUpdate#update()
- */
- public void update() {
- if (canRun(getViewer())) {
- setEnabled(true);
- } else {
- setEnabled(false);
- }
- updateStatus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.actions.range.DesignerToolBarAction#updateStatus()
- */
- public void updateStatus() {
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer != null && viewer.isInRangeMode()
- && viewer.getModel().getDocument().hasChildNodes()) {
- DesignRange range = getViewer().getRangeSelection();
- if (range != null && range.isValid()) {
- DOMRange domRange = null;
- domRange = new DOMRange(DOMPositionHelper.toDOMPosition(range
- .getStartPosition()), DOMPositionHelper
- .toDOMPosition(range.getEndPosition()));
- if (isApplied(domRange)) {
- this.setChecked(true);
- } else {
- this.setChecked(false);
- }
- return;
- }
- }
- this.setChecked(false);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.actions.range.DesignerToolBarAction#canRun(org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer)
- */
- protected boolean canRun(IHTMLGraphicalViewer viewer) {
- if (viewer != null && viewer.isInRangeMode()
- && viewer.getModel().getDocument().hasChildNodes()) {
- DesignRange range = viewer.getRangeSelection();
- if (range != null && range.isValid()) {
- DesignPosition startPos = range.getStartPosition();
- DesignPosition endPos = range.getEndPosition();
- if (startPos != endPos) {
- return true;
- }
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/DesignerToolBarAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/DesignerToolBarAction.java
deleted file mode 100644
index 3e241e3ab..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/DesignerToolBarAction.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * @author mengbo
- */
-public abstract class DesignerToolBarAction extends Action implements IUpdate,
- ISelectionChangedListener {
- private IHTMLGraphicalViewer _viewer;
-
- /**
- * @param text
- * @param style
- */
- public DesignerToolBarAction(String text, int style) {
- super(text, style);
- }
-
- /**
- * @param text
- * @param image
- */
- public DesignerToolBarAction(String text, ImageDescriptor image) {
- super(text, image);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event) {
- update();
- }
-
- /**
- *
- */
- public void update() {
- if (canRun(this._viewer)) {
- setEnabled(true);
- updateStatus();
- } else {
- setEnabled(false);
- }
- }
-
- /**
- * Update the status
- */
- protected void updateStatus() {
- DesignRange range = _viewer.getRangeSelection();
- DOMRange domRange = null;
- if (range != null) {
- domRange = new DOMRange(DOMPositionHelper.toDOMPosition(range
- .getStartPosition()), DOMPositionHelper.toDOMPosition(range
- .getEndPosition()));
- if (isApplied(domRange)) {
- this.setChecked(true);
- } else {
- this.setChecked(false);
- }
- }
- }
-
- /**
- * @param range
- * @return ??
- */
- protected abstract boolean isApplied(DOMRange range);
-
- /**
- * @param viewer
- * @return true if this action can run
- */
- protected boolean canRun(IHTMLGraphicalViewer viewer) {
- if (viewer != null && viewer.isInRangeMode()
- && viewer.getModel().getDocument().hasChildNodes()) {
- DesignRange range = viewer.getRangeSelection();
- if (range != null && range.isValid()) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param viewer
- */
- public void setViewer(IHTMLGraphicalViewer viewer) {
- if (viewer == _viewer) {
- return;
- }
-
- if (_viewer != null) {
- _viewer.removeSelectionChangedListener(this);
- }
- _viewer = viewer;
- if (_viewer != null) {
- _viewer.addSelectionChangedListener(this);
- }
- update();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- // Assert.isTrue(_viewer != null && _viewer.isInRangeMode());
- DesignRange range = _viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- return;
- }
- Command command = getCommand();
- if (command != null) {
- command.execute();
- }
- }
-
- /**
- * @return the command for this action or null
- */
- protected abstract Command getCommand();
-
- /**
- * @return Returns the _viewer.
- */
- public IHTMLGraphicalViewer getViewer() {
- return _viewer;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/HTagsInsertGroupAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/HTagsInsertGroupAction.java
deleted file mode 100644
index 28352caec..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/HTagsInsertGroupAction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * @author mengbo
- */
-public class HTagsInsertGroupAction extends DesignerToolBarAction implements
- IMenuCreator {
- private Menu _menu;
-
- private static Map _actions = new HashMap();
-
- /**
- * @param image
- * @param style
- */
- public HTagsInsertGroupAction(ImageDescriptor image, int style) {
- super(
- PDPlugin
- .getResourceString("HTagsInsertGroupAction.ActionLabel.Hx"), IAction.AS_DROP_DOWN_MENU); //$NON-NLS-1$
- this.setImageDescriptor(image);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
- */
- public Menu getMenu(Control parent) {
- if (_menu != null) {
- _menu.dispose();
- }
- _menu = new Menu(parent);
- addActionToMenu(_menu, IHTMLConstants.TAG_H1);
- addActionToMenu(_menu, IHTMLConstants.TAG_H2);
- addActionToMenu(_menu, IHTMLConstants.TAG_H3);
- addActionToMenu(_menu, IHTMLConstants.TAG_H4);
- addActionToMenu(_menu, IHTMLConstants.TAG_H5);
- addActionToMenu(_menu, IHTMLConstants.TAG_H6);
-
- return _menu;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
- */
- public Menu getMenu(Menu parent) {
- return null;
- }
-
- /**
- * @param parent
- * @param name
- */
- protected void addActionToMenu(Menu parent, String name) {
- DesignerToolBarAction action;
- if (_actions.get(name) == null) {
- action = new ParagraphStyleAction(name, name, null,
- IAction.AS_CHECK_BOX);
- _actions.put(name, action);
- } else {
- action = (ParagraphStyleAction) _actions.get(name);
- }
- action.setViewer(getViewer());
- action.update();
- ActionContributionItem item = new ActionContributionItem(action);
- item.fill(parent, -1);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IMenuCreator#dispose()
- */
- public void dispose() {
- if (_menu != null) {
- _menu.dispose();
- _menu = null;
- _actions.clear();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#getMenuCreator()
- */
- public IMenuCreator getMenuCreator() {
- return this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editors.actions.DesignerToolBarAction#canRun(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected boolean isApplied(DOMRange range) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- return;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#getCommand()
- */
- protected Command getCommand() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#setViewer(org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer)
- */
- public void setViewer(IHTMLGraphicalViewer viewer) {
- if (_actions != null && _actions.size() > 0) {
- Collection values = _actions.values();
- Iterator iterator = values.iterator();
- while (iterator.hasNext()) {
- DesignerToolBarAction action = (DesignerToolBarAction) iterator
- .next();
- action.setViewer(viewer);
- }
- }
- super.setViewer(viewer);
- }
-
- /*
- * The group will delegate update to its children.
- */
- public void updateStatus() {
- if (_actions != null && _actions.size() > 0) {
- Collection values = _actions.values();
- Iterator iterator = values.iterator();
- while (iterator.hasNext()) {
- DesignerToolBarAction action = (DesignerToolBarAction) iterator
- .next();
- action.updateStatus();
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/InsertTagChangeStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/InsertTagChangeStyleAction.java
deleted file mode 100644
index 7624a2b51..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/InsertTagChangeStyleAction.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.actions.ChangeStyleAction;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class InsertTagChangeStyleAction extends ChangeStyleAction {
- /**
- * @param text
- * @param tag
- * @param image
- * @param style
- */
- public InsertTagChangeStyleAction(String text, String tag,
- ImageDescriptor image, int style) {
- super(text, tag, image, style);
- }
-
- protected String getExpectedCSSProperty() {
- // TODO Auto-generated method stub
- return null;
- }
-
- protected String getExpectedCSSPropertyValue() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- protected void updateState()
- {
- setEnabled(getDesignRange());
- }
-
- /**
- * @param range
- */
- public void setEnabled(DesignRange range) {
- DOMRange domRange = null;
- // We didn't deal with undo, so only enable is set.
- domRange = new DOMRange(DOMPositionHelper.toDOMPosition(range
- .getStartPosition()), DOMPositionHelper.toDOMPosition(range
- .getEndPosition()));
- if (canRun(domRange)) {
- this.setEnabled(true);
- } else {
- this.setEnabled(false);
- }
- }
-
- private boolean canRun(DOMRange range) {
- if (range != null) {
- if (EditModelQuery.isSame(range)) {
- return false;
- }
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node common = null;
- common = EditModelQuery.getInstance().getCommonAncestor(start, end);
- if (getExpectedTag() == null
- || EditModelQuery.hasAncestor(common, getExpectedTag(),
- true)) {
- return false;
- }
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneParagraphStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneParagraphStyleAction.java
deleted file mode 100644
index 17793f8c2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneParagraphStyleAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.commands.range.Paragraph;
-import org.eclipse.jst.pagedesigner.commands.range.ParagraphFinder;
-import org.eclipse.jst.pagedesigner.commands.range.ParagraphUnapplyStyleCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class NoneParagraphStyleAction extends ParagraphStyleAction {
-
- private String[] _applyingTags;
-
- /**
- * @param text
- * @param tags
- * @param image
- * @param style
- */
- public NoneParagraphStyleAction(String text, String[] tags,
- ImageDescriptor image, int style) {
- super(text, "", image, style); //$NON-NLS-1$
- _applyingTags = tags;
- }
-
- /**
- * @param text
- * @param node
- * @param image
- * @param style
- */
- public NoneParagraphStyleAction(String text, Node node,
- ImageDescriptor image, int style) {
- super(text, node, image, style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editors.actions.DesignerToolBarAction#isApplied(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected boolean isApplied(DOMRange range) {
- if (range != null) {
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node common = null;
- if (EditModelQuery.isSame(range)) {
- ParagraphFinder finder = new ParagraphFinder(start);
- Paragraph p = finder.getParagraph(start);
- common = p.getLowestContainer();
- } else {
- common = EditModelQuery.getInstance().getCommonAncestor(start,
- end);
- }
- // the lowest common block parent is the container to apply style.
- if (EditModelQuery.hasAncestor(common, _applyingTags, true)) {
- return false;
- }
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#getCommand()
- */
- protected Command getCommand() {
- ParagraphUnapplyStyleCommand command = new ParagraphUnapplyStyleCommand(
- getViewer(), _applyingTags, null, null);
- return command;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneStyleAction.java
deleted file mode 100644
index 44c9c7690..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/NoneStyleAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.commands.range.UnapplyStyleCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class NoneStyleAction extends ChangeStyleAction {
- private String[] _applyingStyleTags;
-
- /**
- * @param text
- * @param names
- * @param image
- * @param style
- */
- public NoneStyleAction(String text, String[] names, ImageDescriptor image,
- int style) {
- super(text, "", image, style); //$NON-NLS-1$
- _applyingStyleTags = names;
- }
-
- protected boolean isApplied(DOMRange range) {
- if (range != null) {
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node common = null;
- common = EditModelQuery.getInstance().getCommonAncestor(start, end);
- if (EditModelQuery.hasAncestor(common, _applyingStyleTags, true)) {
- return false;
- }
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#getCommand()
- */
- protected Command getCommand() {
- UnapplyStyleCommand command = new UnapplyStyleCommand(getViewer(),
- getExpectedTag(), null, null);
- return command;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphAction.java
deleted file mode 100644
index d2f13d04e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ParagraphAction extends Action {
- /**
- * @param text
- * @param htmlTag
- */
- public ParagraphAction(String text, String htmlTag) {
- super(text);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphStyleAction.java
deleted file mode 100644
index 5c5b0428d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphStyleAction.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.commands.range.Paragraph;
-import org.eclipse.jst.pagedesigner.commands.range.ParagraphApplyStyleCommand;
-import org.eclipse.jst.pagedesigner.commands.range.ParagraphFinder;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class ParagraphStyleAction extends DesignerToolBarAction {
- private String _tagName;
-
- private Node _applyingNode;
-
- /**
- * @param text
- * @param name
- * @param image
- * @param style
- */
- public ParagraphStyleAction(String text, String name,
- ImageDescriptor image, int style) {
- super(text, style);
- _tagName = name;
- setImageDescriptor(image);
- }
-
- /**
- * @param text
- * @param node
- * @param image
- * @param style
- */
- public ParagraphStyleAction(String text, Node node, ImageDescriptor image,
- int style) {
- super(text, style);
- _applyingNode = node;
- setImageDescriptor(image);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editors.actions.DesignerToolBarAction#isApplied(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected boolean isApplied(DOMRange range) {
- Assert.isTrue(getExpectedTag() != null);
- if (range != null) {
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node common = null;
- if (EditModelQuery.isSame(range)) {
- ParagraphFinder finder = new ParagraphFinder(start);
- Paragraph p = finder.getParagraph(start);
- common = p.getLowestContainer();
- } else {
- common = EditModelQuery.getInstance().getCommonAncestor(start,
- end);
- }
- // the lowest common block parent is the container to apply style.
- if (containsTag(common)) {
- return true;
- }
- return false;
- }
- return false;
- }
-
- /**
- * @param common
- * @return ???
- */
- protected boolean containsTag(Node common) {
- // the lowest common block parent is the container to apply style.
- if (_applyingNode == null) {
- return common.getNodeName() != null
- && getExpectedTag().equalsIgnoreCase(
- common.getNodeName().toLowerCase());
- }
-
- String align = ((Element) _applyingNode).getAttribute("align"); //$NON-NLS-1$
- if (!(common instanceof Element)) {
- return false;
- }
- String cAlign = ((Element) common).getAttribute("align"); //$NON-NLS-1$
- if (align == null || cAlign == null) {
- return false;
- }
- if (align.equals(cAlign)) {
- return true;
- }
- return false;
- }
-
- /**
- * @return Returns the _expectedTag.
- */
- public String getExpectedTag() {
- if (_tagName == null) {
- return _applyingNode.getNodeName().toLowerCase();
- }
- return _tagName.toLowerCase();
- }
-
- /**
- * @return Returns the _applyingNode.
- */
- public Element getApplyingNode() {
- if (_applyingNode != null) {
- return (Element) _applyingNode;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignerToolBarAction#getCommand()
- */
- protected Command getCommand() {
- ParagraphApplyStyleCommand command = null;
- if (getApplyingNode() != null) {
- command = new ParagraphApplyStyleCommand(getViewer(),
- getApplyingNode(), null, null);
- } else {
- command = new ParagraphApplyStyleCommand(getViewer(),
- getExpectedTag(), null, null);
- }
- return command;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphSupport.java
deleted file mode 100644
index 2d03548d7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/ParagraphSupport.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ParagraphSupport {
- static final String[] labels = new String[] {
- PDPlugin.getResourceString("ParagraphSupport.CommandLabel.None"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Paragraph"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading1"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading2"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading3"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading4"),//$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading5"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Heading6"), //$NON-NLS-1$
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.Preformated") //$NON-NLS-1$
- };
-
- static final String[] tags = new String[] {
- null,
- PDPlugin.getResourceString("ParagraphSupport.CommandLabel.P"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H1"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H2"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H3"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H4"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H5"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.H6"), PDPlugin.getResourceString("ParagraphSupport.CommandLabel.PRE") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- };
-
- /**
- * @param man
- * @param range
- * @param viewer
- */
- public static void createParagraphActions(IMenuManager man,
- DesignRange range, IHTMLGraphicalViewer viewer) {
- ParagraphStyleAction action = new NoneParagraphStyleAction(
- PDPlugin
- .getResourceString("ParagraphSupport.CommandLabel.None"), tags, null, IAction.AS_CHECK_BOX); //$NON-NLS-1$
- action.setViewer(viewer);
- action.update();
- man.add(action);
- for (int i = 1; i < labels.length; i++) {
- action = new ParagraphStyleAction(labels[i], tags[i], null,
- IAction.AS_CHECK_BOX);
- action.setViewer(viewer);
- action.update();
- man.add(action);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeActionGroup.java
deleted file mode 100644
index 42c17aa94..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeActionGroup.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.link.MakeLinkAction;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.editors.actions.DesignActionBarFactory;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.ui.actions.ActionGroup;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RangeActionGroup extends ActionGroup {
- // TODO: what is this? a separator?
- private static final Action action = new Action() {
- // Action is abstract but has no abstract methods
- // so create a default empty action that does nothing
- };
-
- /**
- *
- */
- public RangeActionGroup() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager contextMenu)
- {
- DesignRange selection = fixUpSelection(getContext().getSelection());
- if (selection == null) {
- return;
- }
- IContributionItem styleSubMenuItem =
- contextMenu.find(PageDesignerActionConstants.STYLE_SUBMENU_ID);
-
- if (styleSubMenuItem instanceof IMenuManager)
- {
- final IMenuManager subMenu = (IMenuManager) styleSubMenuItem;
- if (getContext().getInput() instanceof IHTMLGraphicalViewer) {
- addParagraphFormatMenu(subMenu, selection,
- (IHTMLGraphicalViewer) getContext().getInput());
- addHorizontalAlignMenu(subMenu, selection,
- (IHTMLGraphicalViewer) getContext().getInput());
- addTextStyleMenu(subMenu, (IHTMLGraphicalViewer) getContext()
- .getInput());
- }
- // TODO: the (commented out) copy of this method does nothing
- //addListModeMenu(menu, selection);
-
- // TODO: the (commented out) copy of this method does nothing
- //addTextFontMenu(menu, selection);
-
- addLinkMenu(subMenu, selection);
- }
- }
-
- /**
- * @param selection
- * @return
- */
- private DesignRange fixUpSelection(ISelection selection) {
- if (selection instanceof DesignRange) {
- return (DesignRange) selection;
- }
- return null;
- }
-
- private void addLinkMenu(IMenuManager menu, final DesignRange selection) {
- Action action1 = new MakeLinkAction(selection);
- menu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE, action1);
- }
-
- private void addTextStyleMenu(IMenuManager menu,
- final IHTMLGraphicalViewer viewer) {
- final IMenuManager submenu = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.TextStyle"));//$NON-NLS-1$
- submenu.add(action);
-
- submenu.setRemoveAllWhenShown(true);
- submenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- DesignerToolBarAction action1 = null;
- action1 = DesignActionBarFactory.getInstance().getStyleAction(
- IHTMLConstants.TAG_U);
- action1.setViewer(viewer);
- submenu.add(action1);
-
- action1 = DesignActionBarFactory.getInstance().getStyleAction(
- IHTMLConstants.TAG_B);
- action1.setViewer(viewer);
- submenu.add(action1);
-
- action1 = DesignActionBarFactory.getInstance().getStyleAction(
- IHTMLConstants.TAG_I);
- action1.setViewer(viewer);
- submenu.add(action1);
-
- action1 = DesignActionBarFactory.getInstance().getStyleAction(
- IHTMLConstants.TAG_SMALL);
- action1.setViewer(viewer);
- submenu.add(action1);
-
- action1 = DesignActionBarFactory.getInstance().getStyleAction(
- IHTMLConstants.TAG_BIG);
- action1.setViewer(viewer);
- submenu.add(action1);
-
- }
- });
- menu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE, submenu);
- }
-
- /**
- * @param menu
- * @param selection
- */
-// private void addTextFontMenu(IMenuManager menu, DesignRange selection) {
-// //
-// }
-
- /**
- * @param menu
- * @param selection
- */
- private void addHorizontalAlignMenu(IMenuManager menu,
- final DesignRange selection, final IHTMLGraphicalViewer viewer) {
- // we have to initialize align nodes here for some refresh problem
- Element[] alignNodes = new Element[4];
- final String[] alignValues = new String[] { "left", "center", "right", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "justify" }; //$NON-NLS-1$
- Document document = viewer.getModel().getDocument();
- for (int i = 0; i < 4; i++) {
- Element node = document.createElement(IHTMLConstants.TAG_P);
- node.setAttribute(IHTMLConstants.ATTR_ALIGN, alignValues[i]);
- alignNodes[i] = node;
- }
- AlignSupport.setAlignNodes(alignNodes);
-
- final IMenuManager submenu = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.Align"));//$NON-NLS-1$
- submenu.add(action);
- submenu.setRemoveAllWhenShown(true);
- submenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- AlignSupport.createAlignActions(submenu, viewer);
- }
- });
- menu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE, submenu);
-
- }
-
- /**
- * @param menu
- * @param selection
- */
-// private void addListModeMenu(IMenuManager menu, DesignRange selection) {
-// }
-
- /**
- * @param menu
- * @param selection
- */
- private void addParagraphFormatMenu(IMenuManager menu,
- final DesignRange selection, final IHTMLGraphicalViewer viewer) {
- final IMenuManager submenu = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.ParagraphFormat"));//$NON-NLS-1$
- submenu.add(action);
- // Add the submenu.
-
- submenu.addMenuListener(new IMenuListener() {
-
- public void menuAboutToShow(IMenuManager manager) {
- submenu.removeAll();
- ParagraphSupport.createParagraphActions(submenu, selection,
- viewer);
- }
- });
- menu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE, submenu);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleAction.java
deleted file mode 100644
index 2346403fc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RangeStyleAction extends Action {
- /**
- * @param text
- * @param range
- * @param htmlTag
- * @param cssProperty
- * @param cssValue
- */
- public RangeStyleAction(String text, DesignRange range, String htmlTag,
- String cssProperty, String cssValue) {
- super(text);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- if (isChecked()) {
- // un-apply the style here
- } else {
- // apply the style here.
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleSupport.java
deleted file mode 100644
index e4e13ada1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/range/RangeStyleSupport.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.range;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RangeStyleSupport {
- private static final String[] ActionLabel = new String[] {
- PDPlugin.getResourceString("RangeStyleSupport.ActionLabel.Bold"),//$NON-NLS-1$
- PDPlugin.getResourceString("RangeStyleSupport.ActionLabel.Italic"),//$NON-NLS-1$
- PDPlugin
- .getResourceString("RangeStyleSupport.ActionLabel.Underline"), }; //$NON-NLS-1$
-
- private static final String[] HtmlTag = new String[] { "STRONG", "I", "U", }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- private static final String[] CSSProperty = new String[] {
- "font-weight", "font-style", "text-decoration", }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- private static final String[] CSSValue = new String[] { "bolder", "italic", //$NON-NLS-1$ //$NON-NLS-2$
- "underline", }; //$NON-NLS-1$
-
- /**
- * @param menu
- * @param range
- */
- public static void createRangeStyleActions(IMenuManager menu,
- DesignRange range) {
- for (int i = 0; i < ActionLabel.length; i++) {
- RangeStyleAction action = new RangeStyleAction(ActionLabel[i],
- range, HtmlTag[i], CSSProperty[i], CSSValue[i]);
-
- menu.add(action);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/BorderStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/BorderStyleAction.java
deleted file mode 100644
index 17236629b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/BorderStyleAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BorderStyleAction extends Action {
-
- /**
- * @param stylevalue
- * @param ele
- * @param text
- *
- */
- public BorderStyleAction(String text, IDOMElement ele, String stylevalue) {
- super(text);
- // TODO Auto-generated constructor stub
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeAttributeAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeAttributeAction.java
deleted file mode 100644
index 7595da6eb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeAttributeAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeAttributeCommand;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ChangeAttributeAction extends Action {
- IDOMElement _ele;
-
- String _attrValue;
-
- private String _attrName;
-
- /**
- * @param label
- * @param ele
- * @param attrName
- * @param attrValue
- */
- public ChangeAttributeAction(String label, IDOMElement ele,
- String attrName, String attrValue) {
- super(label);
- this._ele = ele;
- this._attrName = attrName;
- this._attrValue = attrValue;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- if (this.isChecked()) {
- return;
- }
-
- ChangeAttributeCommand c = new ChangeAttributeCommand(
- PDPlugin
- .getResourceString("ChangeAttributeAction.CommandLabel.ChangeStyleClass"), _ele, _attrName, _attrValue); //$NON-NLS-1$
- c.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStyleAction.java
deleted file mode 100644
index 272dd4f45..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStyleAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.ui.dialogs.StyleDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ChangeStyleAction extends Action {
- private static final String MY_TEXT = PDPlugin
- .getResourceString("ChangeStyleAction.Text"); //$NON-NLS-1$
-
- private ElementEditPart _editPart;
-
- private IDOMElement _element;
-
- /**
- * @param part
- * @param ele
- */
- public ChangeStyleAction(ElementEditPart part, IDOMElement ele) {
- super(MY_TEXT);
- this._editPart = part;
- this._element = ele;
- }
-
- public void run() {
- ICSSStyleDeclaration styleDeclaration = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) this._element)
- .getStyle();
- PreferenceManager manager = new PreferenceManager();
- EditPartViewer viewer = this._editPart.getViewer();
- Shell shell = viewer.getControl().getShell();
-
- CSSPropertyContext context = new CSSPropertyContext(styleDeclaration);
- StyleDialog dialog = new StyleDialog(shell, manager, _element, context);
- if (dialog.open() == Window.OK) {
- if (context.isModified()) {
- ChangeStyleCommand c = new ChangeStyleCommand(_element, context);
- c.execute();
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStylePropertyAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStylePropertyAction.java
deleted file mode 100644
index 1fef76f21..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStylePropertyAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ChangeStylePropertyAction extends Action {
- private IDOMElement _ele;
-
- private String _cssProperty;
-
- private String _cssValue;
-
- /**
- * @param text
- * @param ele
- * @param cssProperty
- * @param cssValue
- */
- public ChangeStylePropertyAction(String text, IDOMElement ele,
- String cssProperty, String cssValue) {
- super(text);
- this._ele = ele;
- this._cssProperty = cssProperty;
- this._cssValue = cssValue;
- }
-
- public void run() {
- if (isChecked()) {
- return;
- }
-
- Map map = new HashMap();
- map.put(_cssProperty, _cssValue);
- ChangeStyleCommand command = new ChangeStyleCommand(_ele, map);
- command.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ColorSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ColorSupport.java
deleted file mode 100644
index d253dd183..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ColorSupport.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class ColorSupport {
- static final String[] COLOR_VALUES = new String[] {
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Aqua"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Black"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Blue"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Fuchsia"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Gray"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Green"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Lime"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Maroon"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Navy"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Olive"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Orange"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Purple"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Red"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Silver"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Teal"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.White"), //$NON-NLS-1$
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Yellow") //$NON-NLS-1$
- };
-
- /**
- *
- * @param menu
- * @param ele
- * @param cssProperty
- * will be "color" or "background-color"
- */
- static void createColorActions(IMenuManager menu, IDOMElement ele,
- String cssProperty) {
- boolean needAdditional = true;
- String currentValue = DOMStyleUtil.getInlineStyleProperty(ele,
- cssProperty);
- ChangeStylePropertyAction defaultAction = new ChangeStylePropertyAction(
- PDPlugin.getResourceString("ColorSupport.CommandLabel.Default"), ele, cssProperty, null); //$NON-NLS-1$
- if (currentValue == null || currentValue.length() == 0) {
- defaultAction.setChecked(true);
- needAdditional = false;
- }
- menu.add(defaultAction);
- menu.add(new Separator());
- for (int i = 0; i < COLOR_VALUES.length; i++) {
- ChangeStylePropertyAction action = new ChangeStylePropertyAction(
- COLOR_VALUES[i], ele, cssProperty, COLOR_VALUES[i]);
- if (COLOR_VALUES[i].equalsIgnoreCase(currentValue)) {
- action.setChecked(true);
- needAdditional = false;
- }
- menu.add(action);
- }
-
- if (needAdditional) {
- ChangeStylePropertyAction action = new ChangeStylePropertyAction(
- currentValue, ele, cssProperty, currentValue);
- action.setChecked(true);
- menu.add(action);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/Messages.java
deleted file mode 100644
index 8ca77727b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.actions.single.messages"; //$NON-NLS-1$
-
- /**
- * see messages.properties
- */
- public static String SelectParentAction_MenuTextNoParent;
- /**
- * see messages.properties
- */
- public static String SelectParentAction_MenuTextParent;
- /**
- * see messages.properties
- */
- public static String SingleElementActionGroup_ChildrenActionText;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectEditPartAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectEditPartAction.java
deleted file mode 100644
index 2cb229902..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectEditPartAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class SelectEditPartAction extends Action {
-
- /**
- * @param text
- * @param forThisPart
- * @return a convience object when the edit part that needs selection
- * is already known when the action is constructed
- */
- public static SelectEditPartAction create(final String text, final EditPart forThisPart)
- {
- return new SelectEditPartAction(text)
- {
- protected EditPart getNewSelection() {
- return forThisPart;
- }
- };
- }
-
- /**
- * @param text
- */
- protected SelectEditPartAction(String text) {
- super(text);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- final EditPart newSelection = getNewSelection();
- newSelection.getViewer().setSelection(new StructuredSelection(newSelection));
- }
-
- /**
- * @return the EditPart onto which selection should be applied.
- */
- protected abstract EditPart getNewSelection();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectNodeAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectNodeAction.java
deleted file mode 100644
index 5724e3169..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectNodeAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.w3c.dom.Node;
-
-/**
- * An edit part selection action that corresponds to a Node selection
- */
-public abstract class SelectNodeAction extends SelectEditPartAction
-{
- private final Node _node;
-
- /**
- * @param text
- * @param curNode
- */
- protected SelectNodeAction(String text, Node curNode) {
- super(text);
- _node = curNode;
- }
-
- /**
- * @return the current node
- */
- protected Node getNode() {
- return _node;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectParentAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectParentAction.java
deleted file mode 100644
index 4a02abc90..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SelectParentAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Node;
-
-/**
- * Given a target node/edit part change selection to its parent
- *
- * @author cbateman
- *
- */
-public class SelectParentAction extends SelectNodeAction {
-
- private final EditPart _editPart;
-
- /**
- * @param node
- * @param editPart
- * @return an action that will change focus selection to the parent
- * part of node/editPart or a disabled one if there is no parent
- */
- public static SelectParentAction create(Node node, EditPart editPart)
- {
- Node parent = node.getParentNode();
-
- if (parent != null)
- {
- final String text = NLS.bind(Messages.SelectParentAction_MenuTextParent, parent.getNodeName());
- return new SelectParentAction(text, node, editPart);
- }
- SelectParentAction action = new SelectParentAction(Messages.SelectParentAction_MenuTextNoParent, node, editPart);
- action.setEnabled(false);
- return action;
- }
-
- private SelectParentAction(String text, Node node, EditPart editPart)
- {
- super(text, node);
- _editPart = editPart;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.actions.single.SelectEditPartAction#getNewSelection()
- */
- protected EditPart getNewSelection()
- {
- return _editPart.getParent();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SingleElementActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SingleElementActionGroup.java
deleted file mode 100644
index 402a3919b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/SingleElementActionGroup.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-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.action.IContributionItem;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-
-/**
- * Group that constructs context menu items for a single selected element.
- *
- * @author mengbo
- * @version 1.5
- */
-public class SingleElementActionGroup extends ActionGroup {
- // TODO: why?
- private static final Action action = new Action() {
- // create a default instance that does nothing
- // Action is abstract but has no abstract methods
- // run() on this object is a NOOP
- };
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager menu) {
- ElementEditPart part = fixUpSelection(getContext().getSelection());
- if (part == null) {
- return;
- }
- IDOMElement ele = (IDOMElement) part.getIDOMNode();
- addPositionRelativeMenu(menu, part, ele);
- addStylelMenu(menu, part, ele);
-
- // next add element special actions
- IElementEdit elementEdit = part.getElementEdit();
- if (elementEdit != null) {
- elementEdit.fillContextMenu(menu, ele);
- }
- }
-
- /**
- * @param selection
- * @return
- */
- private ElementEditPart fixUpSelection(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection sel = (IStructuredSelection) selection;
- if (sel.size() != 1) {
- return null;
- }
- if (sel.getFirstElement() instanceof ElementEditPart) {
- return (ElementEditPart) sel.getFirstElement();
- }
- }
- return null;
- }
-
- /**
- * Add menu actions that select relative to the current position
- *
- * @param menu
- * @param part
- * @param ele
- */
- private void addPositionRelativeMenu(IMenuManager menu, ElementEditPart part, IDOMElement ele)
- {
- IContributionItem subMenuItem = menu.find(PageDesignerActionConstants.SELECT_SUBMENU_ID);
-
- if (subMenuItem instanceof IMenuManager)
- {
- final IMenuManager subMenu = (IMenuManager) subMenuItem;
- // final IMenuManager selectMenu = new MenuManager(PDPlugin
- // .getResourceString("ActionGroup.Submenu.SelectRelative"));//$NON-NLS-1$
- SelectParentAction selectParentAction = SelectParentAction.create(ele, part);
- // Eclipse UI guideline: 6.13
- // even if there is no parent, a disabled action will be returned by
- // create and this should be added to the menu
- subMenu.add(selectParentAction);
-
- List children = new ArrayList();
- for (Iterator it = part.getChildren().iterator(); it.hasNext();)
- {
- EditPart childPart = (EditPart) it.next();
-
- // only include selectable element edit part that are modelling
- // XML elements in the source doc
- if (childPart instanceof ElementEditPart
- && ((ElementEditPart)childPart).isSelectable()
- && ((ElementEditPart)childPart).getModel() instanceof Element)
- {
- children.add(SelectNodeAction
- .create(((Element)((ElementEditPart)childPart).getModel()).getNodeName(), childPart));
- }
- }
-
-
- // don't add the select Children menu unless there are actually children
- if (children.size() > 0)
- {
- MenuManager selectChildMenu = new MenuManager(Messages.SingleElementActionGroup_ChildrenActionText);
- subMenu.add(selectChildMenu);
-
- for (final Iterator it = children.iterator(); it.hasNext();)
- {
- selectChildMenu.add((Action)it.next());
- }
- }
- else
- { // Eclipse UI guideline 6.13
- // create the child actions even if no children but make it
- // a disabled option if no children
- Action childrenAction = new Action(Messages.SingleElementActionGroup_ChildrenActionText){/* do nothing*/};
- childrenAction.setEnabled(false);
- subMenu.add(childrenAction);
- }
- }
- }
-
- /**
- * @param menu
- * @param part
- */
- private void addStylelMenu(IMenuManager menu, ElementEditPart part,
- IDOMElement ele) {
- IContributionItem subMenu =
- menu.find(PageDesignerActionConstants.STYLE_SUBMENU_ID);
-
- if (subMenu instanceof IMenuManager)
- {
- final IMenuManager subMenuManager =
- (IMenuManager) subMenu;
- addStyle(subMenuManager, part, ele);
- addStyleClassesMenu(subMenuManager, part, ele);
-
- if (DOMStyleUtil.supportStyleAttribute(ele)) {
- // addBorderStyleMenu(stylesub, part, ele);
- addColorMenu(subMenuManager, part, ele);
- addBackgroundMenu(subMenuManager, part, ele);
- }
- }
- }
-
- /**
- *
- * @param menu
- * @param part
- * @param ele
- */
- private void addStyle(IMenuManager subMenu, ElementEditPart part,
- IDOMElement ele) {
- StyleSupport.createStyleAction(subMenu, part, ele);
- }
-
- /**
- * @param stylesub
- * @param part
- */
- private void addStyleClassesMenu(IMenuManager subMenu,
- ElementEditPart part, final IDOMElement ele) {
- final IMenuManager classmenu = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.StyleClasses"));//$NON-NLS-1$
- StyleClassSupport.createStyleClassActions(classmenu, ele);
-
- subMenu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE,
- classmenu);
- }
-
- /**
- * @param stylesub
- * @param part
- */
- private void addColorMenu(IMenuManager subMenu, ElementEditPart part,
- final IDOMElement ele) {
- final IMenuManager colorSub = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.Color"));//$NON-NLS-1$
- colorSub.add(action);
- colorSub.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- colorSub.removeAll();
- ColorSupport.createColorActions(colorSub, ele,
- ICSSPropertyID.ATTR_COLOR);
- }
- });
- subMenu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE,
- colorSub);
-
- }
-
- /**
- * @param stylesub
- * @param part
- */
- private void addBackgroundMenu(IMenuManager subMenu, ElementEditPart part,
- final IDOMElement ele) {
- final IMenuManager colorSub = new MenuManager(PDPlugin
- .getResourceString("ActionGroup.Submenu.BackgroundColor"));//$NON-NLS-1$
- colorSub.add(action);
- colorSub.addMenuListener(new IMenuListener() {
-
- public void menuAboutToShow(IMenuManager manager) {
- colorSub.removeAll();
- ColorSupport.createColorActions(colorSub, ele,
- ICSSPropertyID.ATTR_BACKGROUND_COLOR);
- }
- });
-
- subMenu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE,
- colorSub);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleClassSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleClassSupport.java
deleted file mode 100644
index 40264f4e3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleClassSupport.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.CSSUtil;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class StyleClassSupport {
- private final static String DEFAULT = PDPlugin
- .getResourceString("StyleClassSupport.Default"); //$NON-NLS-1$
-
- /**
- * @param classmenu
- * @param ele
- */
- public static void createStyleClassActions(IMenuManager classmenu,
- IDOMElement ele) {
- String styleClassAttr = getStyleClassAttributeName(ele);
- if (styleClassAttr == null) {
- return; // don't support style class
- }
- String styleClass = getStyleClass(ele);
-
- boolean needAdditional = true;
- ChangeAttributeAction action = new ChangeAttributeAction(DEFAULT, ele,
- styleClassAttr, null);
- if (styleClass == null || styleClass.length() == 0) {
- action.setChecked(true);
- needAdditional = false;
- }
- classmenu.add(action);
- String[] classes = CSSUtil.getCSSClasses(ele.getOwnerDocument());
- if (classes.length > 0) {
- classmenu.add(new Separator());
- }
- for (int i = 0; i < classes.length; i++) {
- ChangeAttributeAction action2 = new ChangeAttributeAction(
- classes[i], ele, styleClassAttr, classes[i]);
- if (classes[i].equalsIgnoreCase(styleClass)) {
- action2.setChecked(true);
- needAdditional = false;
- }
- classmenu.add(action2);
- }
- if (needAdditional) {
- ChangeAttributeAction action2 = new ChangeAttributeAction(
- styleClass, ele, styleClassAttr, styleClass);
- action2.setChecked(true);
- classmenu.add(action2);
- }
- }
-
- /**
- * @param ele
- * @return the style class for ele or null if none
- */
- public static String getStyleClass(IDOMElement ele) {
- String styleClassAttr = getStyleClassAttributeName(ele);
- if (styleClassAttr != null) {
- return ele.getAttribute(styleClassAttr);
- }
- return null;
- }
-
- /**
- * FIXME: This is a temparary impelementation, with everything hard coded.
- * In the future, should have some INodeAdapter mechanism for each node to
- * tell the style class attribute name.
- *
- * @param ele
- * @return the style class attribute name or null if none applies
- */
- public static String getStyleClassAttributeName(IDOMElement ele) {
- CMElementDeclaration decl = CMUtil.getElementDeclaration(ele);
- if (decl == null) {
- return null;
- }
- String taguri = CMUtil.getTagURI(decl);
- if (taguri == null || ITLDConstants.URI_HTML.equals(taguri)) {
- if (decl.getAttributes().getNamedItem("class") != null) { //$NON-NLS-1$
- return "class"; //$NON-NLS-1$
- }
- return null;
- } else if (decl.getAttributes().getNamedItem("styleClass") != null) { //$NON-NLS-1$
- return "styleClass"; //$NON-NLS-1$
- } else if (decl.getAttributes().getNamedItem("class") != null) { //$NON-NLS-1$
- return "class"; //$NON-NLS-1$
- } else {
- return null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleSupport.java
deleted file mode 100644
index e32abab68..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/StyleSupport.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.single;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class StyleSupport {
- /**
- * @param menu
- * @param part
- * @param ele
- */
- public static void createStyleAction(IMenuManager menu,
- ElementEditPart part, IDOMElement ele) {
- if (part == null) {
- return;
- }
- if (hasStyleAttribute(ele)) {
- IAction action = new ChangeStyleAction(part, ele);
- menu.appendToGroup(PageDesignerActionConstants.GROUP_STYLE, action);
- }
- }
-
- private static boolean hasStyleAttribute(IDOMElement ele) {
- CMElementDeclaration decl = CMUtil.getElementDeclaration(ele);
- if (decl == null) {
- return false;
- }
- if (decl.getAttributes().getNamedItem("style") != null) { //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- private StyleSupport()
- {
- // util class; no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/messages.properties
deleted file mode 100644
index 3b36f16f5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-SelectParentAction_MenuTextNoParent=Parent
-SelectParentAction_MenuTextParent=Parent ({0})
-SingleElementActionGroup_ChildrenActionText=Children
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java
deleted file mode 100644
index f076978b6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableActionGroup.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.table;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-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.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.single.SelectEditPartAction;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.tableedit.DeleteRowColumnAction;
-import org.eclipse.jst.pagedesigner.tableedit.InsertRowColumnAction;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- *
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableActionGroup extends ActionGroup {
- // TODO: I think there's a pattern emerging...
- private final static Action action = new Action() {
- // create an empty no-op
- };
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager menu) {
- ISelection selection = this.getContext().getSelection();
-
- EditPart part = findCommonAncesterPart(selection);
- if (part == null) {
- return;
- }
-
- TableOperationContext context = TableOperationContext
- .getTableOperationContext(part);
- if (context == null) {
- return;
- }
-
- final ElementEditPart tablePart = context.getTablePart();
-
- if (tablePart == null || !supportTableActions(tablePart)) {
- return;
- }
-
- final int cellRow = context.getRowIndex();
- final int cellColumn = context.getColumnIndex();
-
- String tag = ((IDOMElement) tablePart.getIDOMNode()).getLocalName();
- final IMenuManager tableMenu = new MenuManager(tag);
-
- // ok, we passed the checking, now let's create the actions.
- tableMenu.add(action);
- tableMenu.addMenuListener(new IMenuListener() {
-
- public void menuAboutToShow(IMenuManager manager) {
- tableMenu.removeAll();
- fillTableMenu(tablePart, cellRow, cellColumn, tableMenu);
- }
- });
- menu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER,
- tableMenu);
- }
-
- /**
- * @param tablePart
- * @param cellRow
- * @param cellColumn
- * @param tableMenu
- */
- private void fillTableMenu(ElementEditPart tablePart, int cellRow,
- int cellColumn, IMenuManager tableMenu) {
- SelectEditPartAction action1 = SelectEditPartAction.create(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.SelectTable"), tablePart);//$NON-NLS-1$
- tableMenu.add(action1);
-
- tableMenu.add(new Separator());
-
- {
- InsertRowColumnAction insertRowBeforeAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.InsertRowBefore"),//$NON-NLS-1$
- tablePart, cellRow, true, true);
- tableMenu.add(insertRowBeforeAction);
-
- InsertRowColumnAction insertRowAfterAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.InsertRowAfter"),//$NON-NLS-1$
- tablePart, cellRow, true, false);
- tableMenu.add(insertRowAfterAction);
-
- tableMenu.add(new Separator());
- }
-
- {
- InsertRowColumnAction insertColumnBeforeAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.InsertColumnBefore"),//$NON-NLS-1$
- tablePart, cellColumn, true, true);
- tableMenu.add(insertColumnBeforeAction);
-
- InsertRowColumnAction insertColumnAfterAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.InsertColumnAfter"),//$NON-NLS-1$
- tablePart, cellColumn, true, false);
- tableMenu.add(insertColumnAfterAction);
-
- tableMenu.add(new Separator());
- }
-
- {
- DeleteRowColumnAction deleteRowAction = new DeleteRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.DeleteRow"),//$NON-NLS-1$
- tablePart, cellRow, true);
- tableMenu.add(deleteRowAction);
-
- DeleteRowColumnAction deleteColumnAction = new DeleteRowColumnAction(
- PDPlugin
- .getResourceString("TableActionGroup.Submenu.DeleteColumn"),//$NON-NLS-1$
- tablePart, cellColumn, false);
- tableMenu.add(deleteColumnAction);
- }
- }
-
- /**
- * @param tablePart
- * @return
- */
- private boolean supportTableActions(ElementEditPart tablePart) {
- // TODO: what's the point of this method?
- // it's only used in one place and always resolves to the same value..
- return true;
- }
-
- /**
- * Give a selection, find a single common container node as start for table
- * related operations.
- *
- * @param selection
- * @return
- */
- private EditPart findCommonAncesterPart(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection structsel = (IStructuredSelection) selection;
- if (structsel.size() != 1) {
- return null;
- } else if (structsel.getFirstElement() instanceof EditPart) {
- return (EditPart) structsel.getFirstElement();
- } else {
- return null;
- }
- } else if (selection instanceof DesignRange) {
- DesignRange range = (DesignRange) selection;
- if (!range.isValid()) {
- return null;
- }
- if (range.isEmpty()) {
- DesignPosition position = range.getStartPosition();
- if (position.getOffset() == 0) {
- return position.getContainerPart();
- }
- return position.getSiblingEditPart(true);
- }
- return RangeUtil.findCommonAncestor(range);
- } else {
- return null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableOperationContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableOperationContext.java
deleted file mode 100644
index 0981ed3ce..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/table/TableOperationContext.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.actions.table;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableCellLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
-import org.eclipse.jst.pagedesigner.css2.layout.table.TableCellInfo;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-
-/**
- *
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableOperationContext {
- private ElementEditPart _tablePart;
-
- private int _rowIndex;
-
- private int _columnIndex;
-
- /**
- * @param part
- * @return the operation context for part
- */
- public static TableOperationContext getTableOperationContext(EditPart part) {
- EditPart originalPart = part;
- ElementEditPart tablePart = null;
- CSSTableLayout2 tableLayout = null;
-
- while (part.getParent() instanceof ElementEditPart) {
- part = part.getParent();
- IFigure figure = ((GraphicalEditPart) part).getFigure();
-
- if (figure.getLayoutManager() instanceof CSSTableLayout2) {
- tableLayout = (CSSTableLayout2) figure.getLayoutManager();
- tablePart = ((ElementEditPart) part);
- break;
- }
- }
- if (tablePart == null) {
- return null;
- }
-
- part = originalPart;
-
- IFigure figure = ((GraphicalEditPart) originalPart).getFigure();
- while (figure instanceof CSSFigure) {
- if (figure.getLayoutManager() instanceof CSSTableCellLayout) {
- CSSTableCellLayout cellLayout = (CSSTableCellLayout) figure
- .getLayoutManager();
- if (cellLayout.getTableLayout() == tableLayout) {
- // ok, we found.
- TableCellInfo cellInfo = cellLayout.getTableCellInfo();
- if (cellInfo == null) {
- return null;
- }
- TableOperationContext context = new TableOperationContext();
- context._tablePart = tablePart;
- context._rowIndex = cellInfo.getRowIndex();
- context._columnIndex = cellInfo.getColumnIndex();
- return context;
- }
- return null;
- }
- figure = figure.getParent();
- }
- return null;
- }
-
- ElementEditPart getTablePart() {
- return _tablePart;
- }
-
- int getRowIndex() {
- return _rowIndex;
- }
-
- int getColumnIndex() {
- return _columnIndex;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/IBodyInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/IBodyInfo.java
deleted file mode 100644
index 34dfb6193..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/IBodyInfo.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.adapters;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * This is an adapter interface. Will be adapted to all the node in the
- * document. It provides additional information to support designer.
- *
- * Basicaly it tells the correspoinding node's body related information.
- *
- * @author mengbo
- */
-// XXX: in the future will use adapter mechanism to support dynamic information
-public interface IBodyInfo // extends INodeAdapter
-{
- // /**
- // * whether this node is runtime visible.
- // *
- // * @return
- // */
- // public boolean isRuntimeVisible(INodeNotifier node);
- //
- // /**
- // * whether this node is design time visible.
- // * @return
- // */
- // public boolean isDesignTimeVisible(INodeNotifier node);
-
- // /**
- // * whether is HTML tag.
- // * @param node
- // * @return
- // */
- // public boolean isHTML(IDOMNode node);
- //
- // /**
- // * whether is JSP tag.
- // * @param node
- // * @return
- // */
- // public boolean isJSP(IDOMNode node);
- //
- // /**
- // * whether is custom tag.
- // * @param node
- // * @return
- // */
- // public boolean isCustomTag(IDOMNode node);
- //
- // /**
- // * for custom tag, there may have a corresponding HTML tag name.
- // * This can be used for content model validation.
- // *
- // * @param node
- // * @return
- // */
- // public String getCorrespondingHTMLTag(IDOMNode node);
-
- /**
- * whether this node is body node. We treat the document node and certain
- * element node like "HTML", "BODY", "f:view", "f:subview" as body node. At
- * design time we may want to move those visual node into the body.
- *
- * @param node
- * @return true if node is a body container
- */
- public boolean isBodyContainer(IDOMNode node);
-
- /**
- * this method should only be called isBodyContainer return true; It checks
- * whether the uri/localname should belong to the head part of this body
- * container.
- *
- * @param node
- * @param uri
- * @param localname
- * @return true if node is a header
- */
- public boolean isBodyHeader(IDOMNode node, String uri, String localname);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/internal/BodyInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/internal/BodyInfo.java
deleted file mode 100644
index 5d9c49805..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/internal/BodyInfo.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.adapters.internal;
-
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.adapters.IBodyInfo;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-// XXX: currently hardcoded as sigleton implementation,
-// it is believed in the future will not use singleton, because we want to
-// dynamically
-// support other taglibs.
-public class BodyInfo implements IBodyInfo {
- private static final BodyInfo _instance = new BodyInfo();
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.adapters.IDesignInfo#isBodyContainer(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier)
- */
- public boolean isBodyContainer(IDOMNode node) {
- switch (node.getNodeType()) {
- case Node.DOCUMENT_FRAGMENT_NODE:
- case Node.DOCUMENT_NODE:
- return true;
- case Node.ELEMENT_NODE:
- return isBodyContainerElement((Element) node);
- default:
- return false;
- }
- }
-
- /**
- * @param element
- * @return
- */
- private boolean isBodyContainerElement(Element element) {
- String localname = element.getLocalName();
- /*
- * String namespaceURI = CMUtil.getElementNamespaceURI(element); if
- * (IJMTConstants.URI_HTML.equals(namespaceURI)) { return
- * "html".equalsIgnoreCase(localname) ||
- * "body".equalsIgnoreCase(localname); } if
- * (IJMTConstants.URI_JSF_CORE.equals(namespaceURI)) { return
- * "view".equals(localname) || "subview".equals(localname); }
- */
- return IHTMLConstants.TAG_HTML.equalsIgnoreCase(localname)
- || IHTMLConstants.TAG_BODY.equalsIgnoreCase(localname)
- || IJSFConstants.TAG_VIEW.equals(localname)
- || IJSFConstants.TAG_SUBVIEW.equals(localname);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.adapters.IDesignInfo#isBodyHeader(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * java.lang.String, java.lang.String)
- */
- public boolean isBodyHeader(IDOMNode node, String uri, String localname) {
- switch (node.getNodeType()) {
- case Node.DOCUMENT_FRAGMENT_NODE:
- case Node.DOCUMENT_NODE:
- return isDocumentHeader(uri, localname);
- case Node.ELEMENT_NODE:
- return isElementHeader((Element) node, uri, localname);
- default:
- return false;
- }
- }
-
- /**
- * @param element
- * @param uri
- * @param localname
- * @return
- */
- private boolean isElementHeader(Element element, String uri,
- String localname) {
- String elelocalname = element.getLocalName();
- String namespaceURI = CMUtil.getElementNamespaceURI(element);
- if (ITLDConstants.URI_HTML.equals(namespaceURI)
- && IHTMLConstants.TAG_HTML.equalsIgnoreCase(elelocalname)) {
- return IHTMLConstants.TAG_HEAD.equalsIgnoreCase(localname);
- }
- if (ITLDConstants.URI_JSF_CORE.equals(namespaceURI)
- && IJSFConstants.TAG_VIEW.equalsIgnoreCase(elelocalname)) {
- return IJSFConstants.TAG_LOADBUNDLE.equalsIgnoreCase(localname);
- }
- return false;
- }
-
- /**
- * @param uri
- * @param localname
- * @return
- */
- private boolean isDocumentHeader(String uri, String localname) {
- // FIXME: temparary commented out, since the dragged node do not have
- // uri information for now.
- // if (IJMTConstants.URI_JSP.equals(uri))
- return IJSPCoreConstants.TAG_DIRECTIVE_PAGE.equals(localname)
- || IJSPCoreConstants.TAG_DIRECTIVE_TAGLIB.equals(localname);
-
- }
-
- /**
- * @return the singleton
- */
- public static IBodyInfo getInstance() {
- return _instance;
- }
-
- private BodyInfo()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CloneNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CloneNodeCommand.java
deleted file mode 100644
index c618210b7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CloneNodeCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * This is when user control+mouse drag. Can also be used in other places.
- *
- * @author mengbo
- * @version 1.5
- */
-public class CloneNodeCommand extends DesignerCommand {
- IDOMPosition _insertPosition;
-
- Node _originalNode;
-
- Node _resultNode;
-
- /**
- * @param viewer
- * @param insertionPoint
- * @param originalNode
- */
- public CloneNodeCommand(IHTMLGraphicalViewer viewer,
- IDOMPosition insertionPoint, Node originalNode) {
- super(
- CommandResources.getString("CloneNodeCommand.Label.CloneNode"), viewer); //$NON-NLS-1$
- this._insertPosition = insertionPoint;
- this._originalNode = originalNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- Node newNode = DOMUtil.cloneNodeDeep(this.getDocument(), _originalNode);
- DOMUtil.insertNode(_insertPosition, newNode);
- _resultNode = newNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_resultNode);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.java
deleted file mode 100644
index c18db160f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CommandResources {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.commands.CommandResources"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private CommandResources() {
- // no local instantiation
- }
-
- /**
- * @param key
- * @return the resource value for key or !key! if not foudnd
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.properties
deleted file mode 100644
index 3e3464b1e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CommandResources.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-PasteNodeCommand.Label.DeleteNode=Delete Node
-CutNodeCommand.Label.CutNode=Cut Node
-DeleteNodeCommand.Label.DeleteNode=Delete Node
-DeleteAction.CommandLabel.Delete=Delete
-TableDeleteColumnCommand.Label.DeleteColumn=Delete Column
-TableInsertColumnCommand.Label.InsertColumn=Insert Column
-TableResizeColumnCommand.Label.ResizeColumn=Resize Column
-TableInsertColumnCommand.Text.Default=Cell
-TableResizeRowCommand.Label.ResizeColumn=Resize Column
-TableDeleteRowCommand.Label.DeleteRow=Delete Row
-TableInsertRowCommand.Label.InsertRow=Insert Row
-TableDeleteHeaderFooterCommand.Label.DeleteHeader=Delete Header
-TableDeleteHeaderFooterCommand.Label.DeleteFooter=Delete Footer
-TableInsertHeaderFooterCommand.Label.InsertHeader=Insert Header
-TableInsertHeaderFooterCommand.Label.InsertFooter=Insert Footer
-PasteCommand.Label.Paste=Paste
-DeleteCommand.Label.Delete=Delete
-CutCommand.Label.Cut=Cut
-CopyCommand.Label.Copy=Copy
-ApplyStyleCommand.Label.ApplyStyle=Apply Style
-ChangeStyleCommand.Label.ChangeStyle=Change Style
-MoveNodeCommand.Label.MoveNode=Move Node
-CloneNodeCommand.Label.CloneNode=Copy Node
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyAction.java
deleted file mode 100644
index 2502ac312..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.ui.actions.UpdateAction;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.range.CopyCommand;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class CopyAction extends DesignAction implements UpdateAction {
- /**
- * @param editor
- */
- public CopyAction(GraphicalEditor editor) {
- super(editor, PDPlugin.getResourceString("Action.Name.Copy"));//$NON-NLS-1$
- // this.setAccelerator(SWT.CTRL | SWT.INSERT);
- // this.setActionDefinitionId(ITextEditorActionDefinitionIds.CUT);
- }
-
- public void perform() {
- DesignerCommand command = null;
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer.isInRangeMode()) {
- command = new CopyCommand(viewer);
- command.execute();
- } else {
- Command nodeCopy = new CopyNodeCommand(viewer);
- nodeCopy.execute();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer != null) {
- if (viewer.isInRangeMode()
- && !EditModelQuery.isSame(viewer.getRangeSelection())) {
- return true;
- } else if (!viewer.isInRangeMode()
- && viewer.getSelectedEditParts().size() > 0) {
- return true;
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.actions.UpdateAction#update()
- */
- public void update() {
- this.setEnabled(isEnabled());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyNodeCommand.java
deleted file mode 100644
index ebc766c26..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CopyNodeCommand.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.w3c.dom.Node;
-
-/**
- * As copy operation won't change anything in the current document, so it is not
- * extending from DesignerCommand.
- *
- * @author mengbo
- */
-public class CopyNodeCommand extends Command {
- private IHTMLGraphicalViewer _viewer;
-
- /**
- * @param viewer
- */
- public CopyNodeCommand(IHTMLGraphicalViewer viewer) {
- super(""); //$NON-NLS-1$
- this._viewer = viewer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- public void execute() {
- List parts = _viewer.getSelectedEditParts();
- Vector result = new Vector();
- if (parts.size() > 0) {
- for (int i = 0, n = parts.size(); i < n; i++) {
- EditPart part = (EditPart) parts.get(i);
- Object model = part.getModel();
- if (model instanceof Node) {
- EditValidateUtil.validNode((Node) model);
- result.add(((Node) model).cloneNode(true));
- }
- }
- setClipboard(result);
- }
- }
-
- private void setClipboard(Vector result) {
- Node[] nodes = (Node[]) result.toArray(new Node[result.size()]);
- StringBuffer sb = new StringBuffer();
- for (int i = 0, size = nodes.length; i < size; i++) {
- DOMUtil.nodeToString(nodes[i], sb);
- }
- // TemplateTransfer.getInstance().setObject(result);
- Clipboard board = new Clipboard(_viewer.getControl().getDisplay());
- board.setContents(new Object[] { result, sb.toString() },
- new Transfer[] { TemplateTransfer.getInstance(),
- TextTransfer.getInstance() });
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CreateItemCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CreateItemCommand.java
deleted file mode 100644
index e19bb0a09..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CreateItemCommand.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.utils.CommandUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class CreateItemCommand extends DesignerCommand implements ICustomizableCommand
-{
- private final IDOMPosition _position;
- private final IDropSourceData _creationProvider;
- private Element _ele;
- private IAdaptable _customizationData;
-
- /**
- * @param label
- * @param model
- * @param position
- * @param creationProvider
- */
- public CreateItemCommand(String label, IDOMModel model,
- IDOMPosition position, IDropSourceData creationProvider) {
- super(label, model.getDocument());
- this._position = position;
- this._creationProvider = creationProvider;
- }
-
- /**
- * @return the dom position for the drop
- */
- public IDOMPosition getPosition()
- {
- return _position;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute()
- {
- Element element = CommandUtil.executeInsertion(
- _creationProvider,
- getModel(), this._position, this._customizationData);
- if (element != null)
- {
- formatNode(element);
- }
- this._ele = element;
- }
-
- @Override
- protected void postPostExecute()
- {
- // during JUnit testing, we may not have viewer.
- // this will cause us not to have undo support,
- // but should not effect testing for this command
- if (getViewer() != null)
- {
- super.postPostExecute();
- }
- }
-
- @Override
- protected boolean prePreExecute()
- {
- // during JUnit testing, we may not have viewer.
- // this will cause us not to have undo support,
- // but should not effect testing for this command
- if (getViewer() != null)
- {
- return super.prePreExecute();
- }
-
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.eclipse.jst.pagedesigner.commands.DesignerCommand#
- * getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_ele);
- }
-
- /**
- * @param customizationData
- */
- public void setCustomizationData(IAdaptable customizationData)
- {
- _customizationData = customizationData;
- }
-
- /**
- * This method is for test purposes and should generally not be
- * used by clients.
- *
- * @return the customization data
- */
- protected final IAdaptable getCustomizationData()
- {
- return _customizationData;
- }
-
- /**
- * @return the result of the command execution
- * TODO: add Object getResult() method to DesignerCommand
- */
- protected Element getResult()
- {
- return this._ele;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutAction.java
deleted file mode 100644
index 3617aec03..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.ui.actions.UpdateAction;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.range.CutCommand;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class CutAction extends DesignAction implements UpdateAction {
- /**
- * @param editor
- */
- public CutAction(GraphicalEditor editor) {
- super(editor, PDPlugin.getResourceString("Action.Name.Cut"));//$NON-NLS-1$
- }
-
- public void perform() {
- DesignerCommand command = null;
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer.isInRangeMode()) {
- command = new CutCommand(viewer);
- command.execute();
- } else {
- command = new CutNodeCommand(viewer);
- command.execute();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer != null) {
- if (viewer.isInRangeMode()
- && !EditModelQuery.isSame(viewer.getRangeSelection())) {
- return true;
- } else if (!viewer.isInRangeMode()
- && viewer.getSelectedEditParts().size() > 0) {
- return true;
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.actions.UpdateAction#update()
- */
- public void update() {
- setEnabled(isEnabled());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutNodeCommand.java
deleted file mode 100644
index 006629aa8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/CutNodeCommand.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class CutNodeCommand extends DesignerCommand {
- private static final String COMMAND_LABEL = CommandResources
- .getString("CutNodeCommand.Label.CutNode"); //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List parts = getViewer().getSelectedEditParts();
- Vector result = new Vector();
- if (parts.size() > 0) {
- for (int i = 0, n = parts.size(); i < n; i++) {
- EditPart part = (EditPart) parts.get(i);
- Object model = part.getModel();
- if (model instanceof Node) {
- EditValidateUtil.validNode((Node) model);
- Node parent = ((Node) model).getParentNode();
- model = parent.removeChild((Node) model);
- result.add(model);
- }
- }
- setClipboard(result);
- }
- }
-
- protected ISelection getAfterCommandDesignerSelection() {
- return null;
- }
-
- /**
- * @param viewer
- */
- public CutNodeCommand(IHTMLGraphicalViewer viewer) {
- super(COMMAND_LABEL, viewer);
- }
-
- private void setClipboard(Vector result) {
- Node[] nodes = (Node[]) result.toArray(new Node[result.size()]);
- StringBuffer sb = new StringBuffer();
- for (int i = 0, size = nodes.length; i < size; i++) {
- DOMUtil.nodeToString(nodes[i], sb);
- }
- // TemplateTransfer.getInstance().setObject(result);
- Clipboard board = new Clipboard(_viewer.getControl().getDisplay());
- board.setContents(new Object[] { result, sb.toString() },
- new Transfer[] { TemplateTransfer.getInstance(),
- TextTransfer.getInstance() });
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteAction.java
deleted file mode 100644
index 3c89651b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jst.pagedesigner.commands.range.DeleteCommand;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class DeleteAction extends DesignAction {
- /**
- * @param editor
- */
- public DeleteAction(GraphicalEditor editor) {
- super(editor, CommandResources
- .getString("DeleteAction.CommandLabel.Delete")); //$NON-NLS-1$
- }
-
- public void perform() {
- DesignerCommand command = null;
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer.isInRangeMode()) {
- command = new DeleteCommand(true, viewer);
- command.execute();
- } else {
- command = new DeleteNodeCommand(viewer);
- command.execute();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer != null) {
- if (viewer.isInRangeMode()
- && !EditModelQuery.isSame(viewer.getRangeSelection())) {
- return true;
- } else if (!viewer.isInRangeMode()) {
- int size = viewer.getSelectedEditParts().size();
- if (size > 1) {
- return true;
- } else if (size == 1
- && !(viewer.getSelectedEditParts().get(0) instanceof DocumentEditPart)) {
- return true;
- }
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteNodeCommand.java
deleted file mode 100644
index 71e529a3b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DeleteNodeCommand.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.parts.SubNodeEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class DeleteNodeCommand extends DesignerCommand {
- private static final String COMMAND_LABEL = CommandResources
- .getString("DeleteNodeCommand.Label.DeleteNode"); //$NON-NLS-1$
-
- private DesignRange _prevRange;
-
- /**
- * @param viewer
- */
- public DeleteNodeCommand(IHTMLGraphicalViewer viewer) {
- super(COMMAND_LABEL, viewer);
- }
-
- protected void preExecute() {
- _prevRange = _viewer.getRangeSelection();
- DesignPosition position = findObjectModePosition();
- _prevRange = new DesignRange(position, position);
- super.preExecute();
- }
-
- private DesignPosition findObjectModePosition() {
- DesignPosition result = null;
- IMovementMediator validator = new InlineEditingNavigationMediator(
- new ActionData(ActionData.KEYBOARD_NAVAGATION, null));
- DesignPosition position = getCurrentObjectPosition();
- if (position != null) {
- if (!validator.isValidPosition(position)) {
- result = null;
- } else {
- result = position;
- }
- }
- return result;
- }
-
- private DesignPosition getCurrentObjectPosition() {
- DesignRange result = null;
- if (_viewer.isInRangeMode()) {
- result = _viewer.getRangeSelection();
- } else {
- List parts = _viewer.getSelectedEditParts();
- if (parts.size() > 0) {
- EditPart selection = (EditPart) parts.get(0);
- if (selection instanceof SubNodeEditPart) {
- DesignPosition position = new DesignRefPosition(selection,
- false);
- position = DOMPositionHelper.toDesignPosition(EditHelper
- .ensureDOMPosition(DOMPositionHelper
- .toDOMPosition(position)));
- result = new DesignRange(position, position);
- }
- }
- }
- return result != null && result.isValid() ? result.getEndPosition()
- : null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List parts = getViewer().getSelectedEditParts();
- for (int i = 0, n = parts.size(); i < n; i++) {
- EditPart part = (EditPart) parts.get(i);
- Object model = part.getModel();
- if (model instanceof Node) {
- EditValidateUtil.validNode((Node) model);
- Node parent = ((Node) model).getParentNode();
- model = parent.removeChild((Node) model);
- }
- }
- }
-
- protected ISelection getAfterCommandDesignerSelection() {
- if (_prevRange.isValid()) {
- return _prevRange;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignAction.java
deleted file mode 100644
index a92e225e1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.ui.actions.UpdateAction;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.editors.IDesignViewer;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public abstract class DesignAction extends Action implements UpdateAction {
- private GraphicalEditor _editor;
-
- /**
- * @param editor
- * @param text
- */
- public DesignAction(GraphicalEditor editor, String text) {
- super(text);
- _editor = editor;
- }
-
- /**
- * @return Returns the _editor.
- */
- protected GraphicalEditor getEditor() {
- return _editor;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- perform();
- // Since the parameters don't affect, so they could be null, may change
- // in the future
- _editor.selectionChanged(null, null);
- }
-
- abstract void perform();
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.actions.UpdateAction#update()
- */
- public void update() {
- setEnabled(isEnabled());
- }
-
- /**
- * @return the viewer
- */
- protected IHTMLGraphicalViewer getViewer() {
- return ((IDesignViewer) _editor).getGraphicViewer();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignResizeComponentCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignResizeComponentCommand.java
deleted file mode 100644
index e829767fb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignResizeComponentCommand.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class DesignResizeComponentCommand extends Command {
- private EditPart _part;
-
- private Object _constraint;
-
- private SourceViewer _viewer;
-
- /**
- * @param child
- * @param constraint
- */
- public DesignResizeComponentCommand(EditPart child, Object constraint) {
- this._part = child;
- this._constraint = constraint;
- EditPart part = child;
- if (part instanceof ScalableRootEditPart) {
- // TODO: eh?
- // do nothing I guess...
- } else {
- while (part != null
- && !(part.getParent() instanceof ScalableRootEditPart)) {
- part = part.getParent();
- }
- }
- if (part != null) {
- EditPartViewer viewer = ((ScalableRootEditPart) part.getParent())
- .getViewer();
- HTMLEditor editor = ((HTMLEditor) ((DefaultEditDomain) ((IHTMLGraphicalViewer) viewer)
- .getEditDomain()).getEditorPart());
- _viewer = editor.getTextEditor().getTextViewer();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- Element element = ((Element) _part.getModel());
- String width = element.getAttribute(ICSSPropertyID.ATTR_WIDTH);
- // String height = element.getAttribute(ICSSPropertyID.ATTR_HEIGHT);
- String originalStyle = element.getAttribute(ICSSPropertyID.ATTR_STYLE);
- StringBuffer style;
- if (originalStyle != null) {
- originalStyle = this.removeOthers(originalStyle,
- ICSSPropertyID.ATTR_WIDTH);
- originalStyle = this.removeOthers(originalStyle,
- ICSSPropertyID.ATTR_HEIGHT);
- style = new StringBuffer(originalStyle);
- } else {
- style = new StringBuffer(50);
- }
- if (null == width) {
- style.append(";").append(ICSSPropertyID.ATTR_WIDTH).append(":") //$NON-NLS-1$ //$NON-NLS-2$
- .append(((Rectangle) _constraint).width).append(";"); //$NON-NLS-1$
- style.append(ICSSPropertyID.ATTR_HEIGHT).append(":").append( //$NON-NLS-1$
- ((Rectangle) _constraint).height).append(""); //$NON-NLS-1$
- }
- element.setAttribute(ICSSPropertyID.ATTR_STYLE, style.toString());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#redo()
- */
- public void redo() {
- _viewer.doOperation(ITextOperationTarget.REDO);
- }
-
- /**
- * @param style
- * @param item
- * @return ?
- */
- public String removeOthers(String style, String item) {
- String result = null;
- int pos = style.indexOf(item);
- if (pos < 0) {
- return style;
- }
- int pos1 = pos;
- if (pos > 0) {
- if (style.charAt(pos - 1) == ';') {
- pos--;
- }
- }
- char ch = style.charAt(pos1);
- while (!(ch == ';' || ch == '"' || ch == '\'')) {
- pos1++;
- if (pos1 >= style.length()) {
- break;
- }
- ch = style.charAt(pos1);
- }
- if (pos1 < style.length()) {
- result = style.substring(0, pos)
- + style.substring(pos1 + 1, style.length());
- } else {
- result = style.substring(0, pos);
- }
- if (result.indexOf(item) >= 0) {
- return removeOthers(result, item);
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#undo()
- */
- public void undo() {
- _viewer.doOperation(ITextOperationTarget.UNDO);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignerCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignerCommand.java
deleted file mode 100644
index 10d6c60ac..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignerCommand.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.utils.SelectionHelper;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This class is intended to be the base class for all designer GEF commands.
- * Basically, it will wrap the real command with common actions like handle
- * undo/redo, etc.
- *
- * @author mengbo
- */
-public abstract class DesignerCommand extends Command {
- private final IDOMModel _model;
-
- /**
- * the graphical viewer
- */
- protected IHTMLGraphicalViewer _viewer;
-
- private static final Logger _log = PDPlugin
- .getLogger(DesignerCommand.class);
-
- /**
- * @param label
- * @param viewer
- */
- public DesignerCommand(String label, IHTMLGraphicalViewer viewer) {
- super(label);
- this._viewer = viewer;
- this._model = viewer.getModel();
- }
-
- /**
- * @param label
- * @param node
- * the node must be a node in the IHTMLGraphicalViewer.
- */
- public DesignerCommand(String label, IDOMNode node) {
- this(label, (IDOMDocument) node.getOwnerDocument());
- }
-
- /**
- * @param label
- * @param document
- */
- public DesignerCommand(String label, IDOMDocument document)
- {
- super(label);
- this._model = document.getModel();
- EditPart part = (EditPart) document.getAdapterFor(EditPart.class);
- if (part != null) {
- this._viewer = (IHTMLGraphicalViewer) part.getViewer();
- }
- }
- /**
- * @return the GEF viewer this command is targeted for
- *
- */
- public IHTMLGraphicalViewer getViewer() {
- return _viewer;
- }
-
- /**
- * @return the DOM model that this command will effect
- */
- public IDOMModel getModel() {
- return _model;
- }
-
- /**
- * @return the dom document for the model this command will effect
- */
- public IDOMDocument getDocument() {
- return getModel().getDocument();
- }
-
- /**
- * executes the Command. This method should not be called if the Command is
- * not executable.
- */
- public final void execute() {
- boolean ok = prePreExecute();
- if (ok) {
- try {
- preExecute();
- doExecute();
- postExecute();
- } catch (Exception ex) {
- handleException(ex);
- } finally {
- postPostExecute();
- }
- }
- }
-
- /**
- * child class can override.
- *
- * @param ex
- */
- protected void handleException(Exception ex) {
- ex.printStackTrace();
- }
-
- /**
- * prePreExecute and postPostExecute is a pair. prePreExecute() SHOULD NOT
- * throw any exception, if it throw any exception, it should catch itself
- * and return false to indicate not continue.
- * @return true if execution should continue, false if should not
- */
- protected boolean prePreExecute() {
- int position = -1;
- int length = -1;
- ISelection selection = getViewer().getSelection();
- if (selection != null) {
- if (getViewer().isInRangeMode()) {
- DesignRange range = (DesignRange) selection;
- if (range.isValid()) {
- IDOMPosition domPos = DOMPositionHelper.toDOMPosition(range
- .getStartPosition());
- IDOMPosition domEnd = DOMPositionHelper.toDOMPosition(range
- .getEndPosition());
- if (EditValidateUtil.validPosition(domPos)
- && EditValidateUtil.validPosition(domEnd)) {
- position = EditModelQuery
- .getIndexedRegionLocation(domPos);
- int end = EditModelQuery
- .getIndexedRegionLocation(domEnd);
- if (end < position) {
- length = position - end;
- position = end;
- } else {
- length = end - position;
- }
- }
- }
- } else {
- Object object = ((IStructuredSelection) selection)
- .getFirstElement();
- if (object instanceof ElementEditPart) {
- Node node = ((ElementEditPart) object).getIDOMNode();
- position = EditModelQuery.getNodeStartIndex(node);
- length = EditModelQuery.getNodeLenth(node);
- }
- }
- }
- if (position >= 0 && length >= 0) {
- getModel().beginRecording(this, getLabel(), position, length);
- } else {
- getModel().beginRecording(this, getLabel());
- }
- getViewer().startSelectionChange();
- getModel().aboutToChangeModel();
- return true;
- }
-
- /**
- * child class can override this method for any pre action.
- */
- protected void preExecute() {
- // does nothing; children may wish to implement
- }
-
- /**
- * child class should override this method for the real action.
- */
- protected abstract void doExecute();
-
- /**
- * child class can override this method for any post action. NOTE: if
- * preExecute() or doExecute() throw exception, then this method will NOT be
- * called.
- */
- protected void postExecute() {
- // does nothing; child may wish to implement
- }
-
- /**
- * if prePreExecute() return true, then this method will always be called
- * even preExecute()/doExecute() and postExecute() fail.
- */
- protected void postPostExecute() {
- getModel().changedModel();
-
- // after "changedModel()" is called, model will fire out batched events
- // about model change
- // and EditPart will be refreshed. Only at this time, could we use
- // EditPart to construct the
- // result selection.
-
- // enforce a validate, so things get layed out, thus all the figures
- // will be valid.
- this.getViewer().getViewport().validate();
-
- ISelection sel = getAfterCommandDesignerSelection();
- if (sel != null) {
- ITextSelection textSel = SelectionHelper
- .convertFromDesignSelectionToTextSelection(sel);
- if (textSel != null) {
- getModel().endRecording(this, textSel.getOffset(),
- textSel.getLength());
- } else {
- getModel().endRecording(this);
- }
- } else {
- getModel().endRecording(this);
- }
-
- if (sel != null) {
- getViewer().setSelection(sel);
- } else {
- getViewer().deselectAll();
- }
- if (getViewer() != null) {
- getViewer().selectionChanged();
- }
- }
-
- /**
- * child class should override this method to provide the selection after
- * command. This method is called after model changed. So at time of this
- * call, the editpart should be valid. Default implementation.
- *
- * @return the selection
- */
- protected abstract ISelection getAfterCommandDesignerSelection();
-
- /**
- * @param range
- * @return a selection that contains the dom range or null if one doesn't exist
- */
- protected ISelection toDesignRange(DOMRange range) {
- try {
- if (range == null) {
- return null;
- }
- IDOMPosition startPos = range.getStartPosition();
- DesignPosition start = DOMPositionHelper.toDesignPosition(startPos);
- if (range.isEmpty()) {
- return new DesignRange(start, start);
- }
- IDOMPosition endPos = range.getEndPosition();
- return new DesignRange(start, DOMPositionHelper
- .toDesignPosition(endPos));
- } catch (Exception e) {
- // "Selection error"
- _log.error("Error.RangeModeCommand.SetSelection"); //$NON-NLS-1$
- return null;
- }
-
- }
-
- /**
- * @param node
- * @return a selection for the node
- */
- protected IStructuredSelection toDesignSelection(Node node) {
- if (node instanceof INodeNotifier) {
- EditPart part = (EditPart) ((INodeNotifier) node)
- .getAdapterFor(EditPart.class);
- if (part != null) {
- return new StructuredSelection(part);
- }
- }
- return null;
- }
-
- //
- // /**
- // * set selection to the specified node. Normally called by child class in
- // <code>setSelection()</code> implementation.
- // *
- // * @param node
- // */
- // protected final void setSelection(Node node)
- // {
- // EditPart part = (EditPart) ((INodeNotifier)
- // node).getAdapterFor(EditPart.class);
- //
- // StructuredSelection sel = new StructuredSelection(part);
- // getViewer().setSelection(sel);
- // }
-
- /**
- * format the specified node in source code. Utility method that can be
- * called by child classes
- *
- * @param node
- */
- public void formatNode(Node node) {
- // XXX: there should have some other way to get the FormatProcessor.
- // currently hardcoded to HTMLFormatProcessorImpl().
- new HTMLFormatProcessorImpl().formatNode(node);
- }
-
- /**
- * Re-executes the Command. This method should only be called after
- * <code>undo()</code> has been called.
- */
- public void redo() {
- // this method should in fact never be called, because we have already
- // delegate undo
- // operations to source view.
- getModel().getUndoManager().redo();
- }
-
- /**
- * Undoes the changes performed during <code>execute()</code>. This
- * method should only be called after <code>execute</code> has been
- * called, and only when <code>canUndo()</code> returns <code>true</code>.
- *
- * @see #canUndo()
- */
- public void undo() {
- // this method should in fact never be called, because we have already
- // delegate undo
- // operations to source view.
- getModel().getUndoManager().undo();
- }
-
- /**
- * a utility method. NOTE: this method can ONLY be called BEFORE you change
- * anything in the model.
- *
- * @param ele
- * @return the figure info for the element
- */
- public IFigure getFigureInfo(Element ele) {
- if (ele instanceof IDOMElement) {
- EditPart part = (EditPart) ((IDOMElement) ele)
- .getAdapterFor(EditPart.class);
- if (part instanceof GraphicalEditPart) {
- return ((GraphicalEditPart) part).getFigure();
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/ICustomizableCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/ICustomizableCommand.java
deleted file mode 100644
index 12d2d6eae..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/ICustomizableCommand.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A command that can be customized with drop customizable command
- *
- * This is not public API. Clients should not use.
- *
- * @author cbateman
- *
- */
-public interface ICustomizableCommand
-{
- /**
- * Sets the customization data
- *
- * @param customizationData
- */
- public void setCustomizationData(IAdaptable customizationData);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/MoveNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/MoveNodeCommand.java
deleted file mode 100644
index 327a2c7bd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/MoveNodeCommand.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Move a node from one place to another place.
- *
- * @author mengbo
- * @version 1.5
- */
-public class MoveNodeCommand extends DesignerCommand {
- private IDOMPosition insertPosition;
-
- private Node originalNode;
-
- /**
- * @param viewer
- * @param insertionPoint
- * @param originalNode
- */
- public MoveNodeCommand(IHTMLGraphicalViewer viewer,
- IDOMPosition insertionPoint, Node originalNode) {
- super(
- CommandResources.getString("MoveNodeCommand.Label.MoveNode"), viewer); //$NON-NLS-1$
- this.insertPosition = insertionPoint;
- this.originalNode = originalNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- getModel().beginRecording(this);
- try {
- Node originalParent = originalNode.getParentNode();
- if (originalParent == null) {
- return;
- }
- // when remove the _originalNode, may affect the insertionPosition.
- if (originalParent == insertPosition.getContainerNode()) {
- // under same parent, may affect it.
- int insertIndex = insertPosition.getOffset();
- int nodeIndex = -1;
- NodeList list = originalParent.getChildNodes();
- for (int i = 0, length = list.getLength(); i < length; i++) {
- if (originalNode == list.item(i)) {
- nodeIndex = i;
- }
- }
- if (nodeIndex == -1) {
- return; // should not happen.
- }
- if (insertIndex < nodeIndex) {
- insertPosition = new DOMPosition(originalParent,
- insertIndex);
- } else if (insertIndex == nodeIndex
- || insertIndex == nodeIndex + 1) {
- // move to same position, do nothing.
- return;
- } else {
- insertPosition = new DOMPosition(originalParent,
- insertIndex - 1);
- }
- }
- originalParent.removeChild(originalNode);
- DOMUtil.insertNode(insertPosition, originalNode);
- } finally {
- getModel().endRecording(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(originalNode);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDDropRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDDropRequest.java
deleted file mode 100644
index 75c1fcfdc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDDropRequest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- * @author mengbo
- */
-public class PDDropRequest extends Request implements DropRequest {
- private Point _location;
-
- private DropTargetEvent _currentEvent;
-
- /**
- *
- */
- public PDDropRequest() {
- setType(PDRequestConstants.REQ_DROP);
- }
-
- /**
- * Returns the location of the object to be created.
- *
- * @return the location
- */
- public Point getLocation() {
- return _location;
- }
-
- /**
- * Sets the location where the new object will be placed.
- *
- * @param location
- * the location
- */
- public void setLocation(Point location) {
- this._location = location;
- }
-
- /**
- * @param ev
- */
- public void setCurrentEvent(DropTargetEvent ev) {
- _currentEvent = ev;
- }
-
- /**
- * @return the current drop target event
- */
- public DropTargetEvent getCurrentEvent() {
- return _currentEvent;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDRequestConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDRequestConstants.java
deleted file mode 100644
index 8b73061e0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PDRequestConstants.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-/**
- * @author mengbo
- */
-public interface PDRequestConstants {
-
- /**
- * TODO: purpose?
- */
- String REQ_DROP = "pd drop"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PaletteDropInsertCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PaletteDropInsertCommand.java
deleted file mode 100644
index 7438282d0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PaletteDropInsertCommand.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dnd.internal.SourceViewerDragDropHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.DropCustomizationController;
-import org.eclipse.jst.pagedesigner.utils.CommandUtil;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Handles tag creation when dropped onto the WPE source view
- *
- * @author mengbo
- */
-public class PaletteDropInsertCommand extends SourceViewerCommand implements ICustomizableCommand
-{
-
- private final Logger _log = PDPlugin
- .getLogger(PaletteDropInsertCommand.class);
-
- private IDropSourceData _creationProvider;
-
- private int _location;
-
- private Element _element;
-
- private IAdaptable _customizationData;
-
- /**
- * @param label
- * @param editor
- * @param creationProvider
- * @param location
- */
- public PaletteDropInsertCommand(String label, StructuredTextEditor editor,
- IDropSourceData creationProvider, int location) {
- super(label, editor);
- _creationProvider = creationProvider;
- _location = location;
- }
-
- public void doExecute() {
- Node node;
- try {
- node = getSourceEditingTextTools().getNode(_location);
- } catch (Exception e) {
- _log.error("Bad text insertion location", e); //$NON-NLS-1$
- return;
- }
- IDOMPosition position = null;
- if (node != null) {
- position = SourceViewerDragDropHelper.getInstance()
- .findPosition(_location, node);
- } else {
- if (getModel().getDocument().getFirstChild() != null) {
- //Fix for 224541 - When palette item is dropped to end of file in source view of Web Page Editor, the item is inserted at the top of file
- //add inside at end of necessary container
- position = SourceViewerDragDropHelper.getInstance()
- .findPosition(getModel().getDocument().getEndOffset(), getModel().getDocument().getFirstChild());
- }
- else {
- // empty file
- position = new DOMPosition(getModel().getDocument(), 0);
- }
- }
-
- // essentially copied from ItemCreationTool so that DesignView drop and
- // SourceViewDrop are same.
- // Note that SourceView does NO drop validation checking. This is
- // handled by ItemCreationPolicy in DesignView
- final IStatus status = performCustomization(getModel().getDocument(),
- position);
-
- if (status.isOK())
- {
- final Element element = CommandUtil.executeInsertion(
- _creationProvider, getModel()
- , position, getCustomizationData());
- if (element != null) {
- formatNode(element);
- }
- this._element = element;
- }
- }
-
- /**
- * @param domDoc
- * @param position
- * @return status
- */
- protected IStatus performCustomization(final IDOMDocument domDoc, final IDOMPosition position) {
- return new DropCustomizationController(this, _creationProvider, domDoc, position).performCustomization();
- }
-
- /**
- * @param customizationData
- */
- public void setCustomizationData(IAdaptable customizationData) {
- _customizationData = customizationData;
- }
-
- /**
- * This method is for test purposes and should generally not be
- * used by clients.
- *
- * @return the customization data
- */
- protected final IAdaptable getCustomizationData() {
- return _customizationData;
- }
-
- public void setSelection() {
- if (_element != null) {
- int offset = EditModelQuery.getNodeStartIndex(_element);
- int length = EditModelQuery.getNodeEndIndex(_element) - offset;
- _editor.getTextViewer().setSelectedRange(offset, length);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteAction.java
deleted file mode 100644
index 46c205093..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.range.PasteCommand;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-
-/**
- * @author mengbo
- */
-public class PasteAction extends DesignAction {
-
- /**
- * @param editor
- */
- public PasteAction(GraphicalEditor editor) {
- super(editor, PDPlugin.getResourceString("Action.Name.Paste"));//$NON-NLS-1$
- }
-
- public void perform() {
- DesignerCommand command = null;
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer.isInRangeMode()) {
- command = new PasteCommand(viewer);
- command.execute();
- } else {
- return;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- IHTMLGraphicalViewer viewer = getViewer();
- if (viewer != null && viewer.isInRangeMode()
- && viewer.getRangeSelection().isValid()) {
- Clipboard clipboard = new Clipboard(viewer.getControl()
- .getDisplay());
- return clipboard.getContents(TemplateTransfer.getInstance()) != null
- || clipboard.getContents(TextTransfer.getInstance()) != null;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteNodeCommand.java
deleted file mode 100644
index 81b25a009..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/PasteNodeCommand.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jst.pagedesigner.commands.nav.ICaretPositionMover;
-import org.eclipse.wst.html.core.internal.document.ElementStyleImpl;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class PasteNodeCommand extends Command implements ICaretPositionMover {
- private static final String COMMAND_LABEL = CommandResources
- .getString("PasteNodeCommand.Label.DeleteNode"); //$NON-NLS-1$
-
- private Node child;
-
- private SourceViewer _sourceViewer;
-
- /**
- * @param viewer
- */
- public PasteNodeCommand(SourceViewer viewer) {
- super(COMMAND_LABEL);
- this._sourceViewer = viewer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- _sourceViewer.getTextWidget().setSelection(
- ((ElementStyleImpl) child).getStartOffset(),
- ((ElementStyleImpl) child).getStartOffset());
- _sourceViewer.doOperation(ITextOperationTarget.PASTE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#redo()
- */
- public void redo() {
- _sourceViewer.doOperation(ITextOperationTarget.REDO);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#undo()
- */
- public void undo() {
- _sourceViewer.doOperation(ITextOperationTarget.UNDO);
-
- }
-
- /**
- * @param child
- * The child to set.
- */
- public void setChild(Node child) {
- this.child = child;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SourceViewerCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SourceViewerCommand.java
deleted file mode 100644
index 2974929f0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SourceViewerCommand.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.ui.internal.provisional.IDOMSourceEditingTextTools;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public abstract class SourceViewerCommand extends Command {
- /**
- * the structured text editor containing the viewer
- */
- protected final StructuredTextEditor _editor;
-
- private Document _document;
-
- private Logger _log = PDPlugin.getLogger(SourceViewerCommand.class);
-
- /**
- * @param label
- * @param editor
- */
- public SourceViewerCommand(String label, StructuredTextEditor editor) {
- super();
- _editor = editor;
- IDOMSourceEditingTextTools tools = getSourceEditingTextTools();
- _document = tools.getDOMDocument();
- }
-
- /**
- * @return the text tools
- */
- protected IDOMSourceEditingTextTools getSourceEditingTextTools() {
- IDOMSourceEditingTextTools tools = (IDOMSourceEditingTextTools) _editor
- .getAdapter(ISourceEditingTextTools.class);
- return tools;
- }
-
- /**
- * preExecute and postExecute is a pair. () SHOULD NOT throw any exception,
- * if it throw any exception, it should catch itself and return false to
- * indicate not continue.
- * @return true if preExec succeeded
- */
- protected final boolean preExecute() {
- int position = 0;
- int length = 0;
- ISelection selection = _editor.getTextViewer().getSelection();
- if (selection instanceof TextSelection) {
- position = ((TextSelection) selection).getOffset();
- length = ((TextSelection) selection).getLength();
- }
- getModel().beginRecording(this, getLabel(), position, length);
- getModel().aboutToChangeModel();
- return true;
- }
-
- /**
- * if preExecute() return true, then this method will always be called even
- * preExecute()/doExecute() and postExecute() fail.
- */
- protected final void postExecute() {
- getModel().changedModel();
- getModel().endRecording(this);
- setSelection();
- }
-
- /**
- * format the specified node in source code. Utility method that can be
- * called by child classes
- *
- * @param node
- */
- public final void formatNode(Node node) {
- new HTMLFormatProcessorImpl().formatNode(node);
- }
-
- /**
- * @return the dom model
- */
- protected IDOMModel getModel() {
- Assert.isTrue(_document != null && _document instanceof IDOMNode);
- return ((IDOMNode) _document).getModel();
- }
-
- public final void execute() {
- boolean ok = preExecute();
- if (ok) {
- try {
- doExecute();
- } catch (Exception ex) {
- // "Error in command execution"
- _log.error("Error.SourceViewerCommand.Execution", ex); //$NON-NLS-1$
- } finally {
- postExecute();
- }
- }
- }
-
- /**
- * execute
- */
- public abstract void doExecute();
-
- /**
- * set the selection
- */
- public abstract void setSelection();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SwitchSelectionCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SwitchSelectionCommand.java
deleted file mode 100644
index 6092c521f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/SwitchSelectionCommand.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands;
-
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.SubNodeEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * A command to switch the selection
- *
- */
-public class SwitchSelectionCommand extends Command {
- IHTMLGraphicalViewer _viewer;
-
- /**
- * @param viewer
- */
- public SwitchSelectionCommand(IHTMLGraphicalViewer viewer) {
- _viewer = viewer;
- }
-
- public void execute() {
- if (_viewer.isInRangeMode()) {
- ISelection selection = _viewer.getSelection();
- if (selection instanceof DesignRange) {
- DesignPosition posStart = ((DesignRange) selection)
- .getStartPosition();
- DesignPosition posEnd = ((DesignRange) selection)
- .getEndPosition();
- if (EditValidateUtil.validPosition(posStart)
- && EditValidateUtil.validPosition(posEnd)) {
- Node ancestor = EditModelQuery.getInstance()
- .getCommonAncestor(posStart.getContainerNode(),
- posEnd.getContainerNode());
- if (ancestor instanceof Text) {
- ancestor = ancestor.getParentNode();
- }
- if (ancestor instanceof Element) {
- EditPart part = Target.resolvePart(ancestor);
- if (part instanceof SubNodeEditPart) {
- _viewer.select(part);
- }
- }
- }
- }
- } else {
- List parts = _viewer.getSelectedEditParts();
- if (parts.size() > 0) {
- EditPart parent = ((EditPart) parts.get(0)).getParent();
- if (!(parent instanceof DocumentEditPart)) {
- _viewer.select(parent);
- }
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteColumnCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteColumnCommand.java
deleted file mode 100644
index d9ba50d3d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteColumnCommand.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableDeleteColumnCommand extends DesignerCommand {
- private Element _tableEle;
-
- private int _columnIndex;
-
- private TableUtil _tableUtil;
-
- /**
- * @param viewer
- * @param dataTable
- * @param index
- */
- public TableDeleteColumnCommand(IHTMLGraphicalViewer viewer,
- Element dataTable, int index) {
- super(
- CommandResources
- .getString("TableDeleteColumnCommand.Label.DeleteColumn"), viewer); //$NON-NLS-1$
- this._tableEle = dataTable;
- this._columnIndex = index;
- this._tableUtil = new TableUtil(this._tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- if (this._columnIndex < 0) {
- return false;
- }
- boolean hasColSpan = _tableUtil.hasColumnSpanElement(this._columnIndex);
- boolean isAffectedByColSpan = _tableUtil
- .isAffectedByColSpan(this._columnIndex);
- if (hasColSpan || isAffectedByColSpan) {
- return false;
- }
-
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List trList = new ArrayList();
- TableUtil.getTrElements(this._tableEle, trList);
-
- List[] lists = _tableUtil.getTrCellLists();
-
- for (int i = 0, size = trList.size(); i < size; i++) {
- Element tr = (Element) trList.get(i);
- List cells = lists[i];
- if (cells.size() <= this._columnIndex) {
- continue;
- }
- Element cell = (Element) cells.get(this._columnIndex);
- if (!cell.getTagName().equalsIgnoreCase("fake")) //$NON-NLS-1$
- {
- tr.removeChild(cell);
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteHeaderFooterCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteHeaderFooterCommand.java
deleted file mode 100644
index 432e2043e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteHeaderFooterCommand.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableDeleteHeaderFooterCommand extends DesignerCommand {
- private Element _table;
-
- private boolean _isHeader;
-
- /**
- * @param viewer
- * @param table
- * @param isHeader
- */
- public TableDeleteHeaderFooterCommand(IHTMLGraphicalViewer viewer,
- Element table, boolean isHeader) {
- super(
- isHeader ? CommandResources
- .getString("TableDeleteHeaderFooterCommand.Label.DeleteHeader") : CommandResources.getString("TableDeleteHeaderFooterCommand.Label.DeleteFooter"), viewer); //$NON-NLS-1$ //$NON-NLS-2$
- this._table = table;
- this._isHeader = isHeader;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- String sectionName = this._isHeader ? IHTMLConstants.TAG_THEAD
- : IHTMLConstants.TAG_TFOOT;
- int rows = TableUtil.countSectionRows(this._table, sectionName);
- if (rows == 0) {
- return false;
- }
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- String sectionName = this._isHeader ? IHTMLConstants.TAG_THEAD
- : IHTMLConstants.TAG_TFOOT;
- List list = DOMUtil.getChildElementsByTagIgnoreCase(this._table,
- sectionName);
- Node delNode = (Node) list.get(0);
- this._table.removeChild(delNode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return this.toDesignSelection(this._table);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteRowCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteRowCommand.java
deleted file mode 100644
index 3ee5ea733..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableDeleteRowCommand.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableDeleteRowCommand extends DesignerCommand {
- Element _tableEle;
-
- int _rowIndex;
-
- /**
- * @param viewer
- * @param table
- * @param index
- */
- public TableDeleteRowCommand(IHTMLGraphicalViewer viewer, Element table,
- int index) {
- super(CommandResources
- .getString("TableDeleteRowCommand.Label.DeleteRow"), viewer); //$NON-NLS-1$
- this._tableEle = table;
- this._rowIndex = index;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- if (this._rowIndex < 0) {
- return false;
- }
- List list = new ArrayList();
- TableUtil.getTrElements(this._tableEle, list);
- // int index = TableUtil.countRowIndexInDOMTree(this._tableEle,
- // this._rowIndex);
- int index = this._rowIndex;
- Element tr = (Element) list.get(index);
- boolean hasRowSpan = TableUtil.hasRowSpanElement(tr);
- boolean isAffectedByRowSpan = TableUtil.isAffectedByRowSpan(list, tr,
- index);
- if (hasRowSpan || isAffectedByRowSpan) {
- return false;
- }
-
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List list = new ArrayList();
- TableUtil.getTrElements(this._tableEle, list);
- // int index = TableUtil.countRowIndexInDOMTree(this._tableEle,
- // this._rowIndex);
- int index = this._rowIndex;
- Element tr = (Element) list.get(index);
- tr.getParentNode().removeChild(tr);
- formatNode(this._tableEle);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertColumnCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertColumnCommand.java
deleted file mode 100644
index 9fe1dbba2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertColumnCommand.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableInsertColumnCommand extends DesignerCommand {
- private Element _tableEle;
-
- private int _columnIndex;
-
- private TableUtil _tableUtil;
-
- /**
- * @param viewer
- * @param dataTable
- * @param index
- */
- public TableInsertColumnCommand(IHTMLGraphicalViewer viewer,
- Element dataTable, int index) {
- super(
- CommandResources
- .getString("TableInsertColumnCommand.Label.InsertColumn"), viewer); //$NON-NLS-1$
- this._tableEle = dataTable;
- this._columnIndex = index;
- this._tableUtil = new TableUtil(this._tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- List trList = new ArrayList();
- TableUtil.getTrElements(this._tableEle, trList);
- if (trList == null || trList.isEmpty()) {
- return false;
- }
- if (this._columnIndex < 0 && this._columnIndex != -10) {
- return false;
- }
- boolean isAffectedByColSpan = _tableUtil
- .isAffectedByColSpan(this._columnIndex);
- if (isAffectedByColSpan) {
- return false;
- }
-
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List trList = new ArrayList();
- TableUtil.getTrElements(this._tableEle, trList);
-
- List[] lists = _tableUtil.getTrCellLists();
- int maxColumn = _tableUtil.getColumnCount();
-
- boolean isAtLastColumn = false;
- if (this._columnIndex >= maxColumn) {
- isAtLastColumn = true;
- }
-
- for (int i = 0, size = trList.size(); i < size; i++) {
- Element tr = (Element) trList.get(i);
- boolean hasTH = (DOMUtil.getChildElementsByTagIgnoreCase(tr,
- IHTMLConstants.TAG_TH).size() > 0);
-
- List cells = lists[i];
- if (isAtLastColumn || (cells.size() <= this._columnIndex)) {
- int index = this._columnIndex + 1;
- for (int k = cells.size(); k < index; k++) {
- tr.appendChild(createDefaultElement(hasTH));
- }
- } else {
- if (this._columnIndex != -10) {
- Element cell = (Element) cells.get(this._columnIndex);
- if (!cell.getTagName().equalsIgnoreCase("fake")) //$NON-NLS-1$
- {
- tr.insertBefore(createDefaultElement(hasTH), cell);
- } else {
- boolean hasRealElement = false;
- for (int k = _columnIndex + 1; k < cells.size(); k++) {
- Element td = (Element) cells.get(k);
- if (!td.getTagName().equalsIgnoreCase("fake")) //$NON-NLS-1$
- {
- hasRealElement = true;
- tr.insertBefore(createDefaultElement(hasTH), td);
- break;
- }
- }
- if (!hasRealElement) {
- tr.appendChild(createDefaultElement(hasTH));
- }
- }
- } else {
- tr.appendChild(createDefaultElement(hasTH));
- }
- }
- }
-
- formatNode(this._tableEle);
- }
-
- private Element createDefaultElement(boolean createTH) {
- Document doc = this._tableEle.getOwnerDocument();
- Element td = null;
- if (createTH) {
- td = doc.createElement(IHTMLConstants.TAG_TH);
- } else {
- td = doc.createElement(IHTMLConstants.TAG_TD);
- }
-
- Node node = doc.createTextNode(
- CommandResources.getString("TableInsertColumnCommand.Text.Default")); //$NON-NLS-1$
- td.appendChild(node);
- return td;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertHeaderFooterCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertHeaderFooterCommand.java
deleted file mode 100644
index c3cc31ecb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertHeaderFooterCommand.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableInsertHeaderFooterCommand extends DesignerCommand {
- private Element _table;
-
- private Element _headerOrFooter;
-
- private boolean _isHeader;
-
- private TableUtil _tableUtil;
-
- /**
- * @param viewer
- * @param table
- * @param isHeader
- */
- public TableInsertHeaderFooterCommand(IHTMLGraphicalViewer viewer,
- Element table, boolean isHeader) {
- super(
- isHeader ? CommandResources
- .getString("TableInsertHeaderFooterCommand.Label.InsertHeader") : CommandResources.getString("TableInsertHeaderFooterCommand.Label.InsertFooter"), viewer); //$NON-NLS-1$ //$NON-NLS-2$
- this._table = table;
- this._isHeader = isHeader;
- this._tableUtil = new TableUtil(this._table);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- String sectionName = this._isHeader ? IHTMLConstants.TAG_THEAD
- : IHTMLConstants.TAG_TFOOT;
- int rows = TableUtil.countSectionRows(this._table, sectionName);
- if (rows > 0) {
- return false;
- }
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- String sectionName = this._isHeader ? IHTMLConstants.TAG_THEAD
- : IHTMLConstants.TAG_TFOOT;
- this._headerOrFooter = this._table.getOwnerDocument().createElement(
- sectionName);
- Element tr = createDefaultElement();
- this._headerOrFooter.appendChild(tr);
- if (this._isHeader) {
- Node child = this._table.getFirstChild();
- this._table.insertBefore(this._headerOrFooter, child);
- } else {
- int headRows = TableUtil.countSectionRows(this._table,
- IHTMLConstants.TAG_THEAD);
- Node refNode = null;
- if (headRows > 0) {
- List list = DOMUtil.getChildElementsByTagIgnoreCase(
- this._table, IHTMLConstants.TAG_THEAD);
- Node header = (Node) list.get(0);
- refNode = header.getNextSibling();
- } else {
- refNode = this._table.getFirstChild();
- }
- this._table.insertBefore(this._headerOrFooter, refNode);
- }
- formatNode(this._headerOrFooter);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return this.toDesignSelection(this._headerOrFooter);
- }
-
- private Element createDefaultElement() {
- String key = this._isHeader ? "TableInsertHeaderFooterCommand.ColumnHeader" //$NON-NLS-1$
- : "TableInsertHeaderFooterCommand.ColumnFooter"; //$NON-NLS-1$
- String name = PDPlugin.getResourceString(key);
- Document doc = this._table.getOwnerDocument();
- Element ele = doc.createElement(IHTMLConstants.TAG_TR);
- int columnCount = _tableUtil.getColumnCount();
- for (int i = 0; i < columnCount; i++) {
- Element td = null;
- if (this._isHeader) {
- td = doc.createElement(IHTMLConstants.TAG_TH);
- } else {
- td = doc.createElement(IHTMLConstants.TAG_TD);
- }
- Node node = doc.createTextNode(name);
- td.appendChild(node);
- ele.appendChild(td);
- }
- return ele;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertRowCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertRowCommand.java
deleted file mode 100644
index 813a868b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableInsertRowCommand.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableInsertRowCommand extends DesignerCommand {
- private Element _tableEle;
-
- private int _rowIndex;
-
- private boolean _isBefore;
-
- private TableUtil _tableUtil;
-
- /**
- * @param viewer
- * @param table
- * @param index
- * @param isBefore
- */
- public TableInsertRowCommand(IHTMLGraphicalViewer viewer, Element table,
- int index, boolean isBefore) {
- super(CommandResources
- .getString("TableInsertRowCommand.Label.InsertRow"), viewer); //$NON-NLS-1$
- this._tableEle = table;
- this._rowIndex = index;
- this._isBefore = isBefore;
- this._tableUtil = new TableUtil(this._tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- if (this._rowIndex < 0 && this._rowIndex != -10) {
- return false;
- }
- List list = new ArrayList();
- TableUtil.getTrElements(this._tableEle, list);
- // if the row neither at the beginning nor the end then count
- if (_rowIndex > 0 && _rowIndex < list.size()) {
- // int index = TableUtil.countRowIndexInDOMTree(this._tableEle,
- // this._rowIndex);
- int index = this._rowIndex;
- Element tr = (Element) list.get(index);
- boolean isAffectedByRowSpan = TableUtil.isAffectedByRowSpan(list,
- tr, index);
- if (isAffectedByRowSpan) {
- return false;
- }
-
- }
-
- return super.canExecute();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_tableEle);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- List list = new ArrayList();
- TableUtil.getTrElements(this._tableEle, list);
- Element insertElement = createDefaultElement();
-
- if (this._rowIndex < list.size()) {
- if (this._rowIndex != -10) {
- // int index = TableUtil.countRowIndexInDOMTree(this._tableEle,
- // this._rowIndex);
- int index = this._rowIndex;
- Element tr = (Element) list.get(index);
- Element nextTr = tr;
-
- // int headRows = TableUtil.countSectionRows(this._tableEle,
- // IHTMLConstants.TAG_THEAD);
- // int footRows = TableUtil.countSectionRows(this._tableEle,
- // IHTMLConstants.TAG_TFOOT);
- if (!_isBefore) {
- int parentIndex = index - 1;
- /**
- * doesn't need any more,since the row index is from model now
- * int bodyRows = list.size() - headRows - footRows; boolean
- * hasBodyRow = false; boolean hasFootRow = false; if (bodyRows >
- * 0) { hasBodyRow = true; } if (footRows > 0) { hasFootRow =
- * true; } //last row in THEAD excute insert row after command
- * if ((this._rowIndex == headRows) && hasBodyRow && hasFootRow) {
- * parentIndex = index - footRows - 1; } //last row in TBODY
- * excute insert row after command if ((this._rowIndex ==
- * (list.size() - footRows)) && hasBodyRow && hasFootRow) {
- * parentIndex = list.size() - 1; }
- */
-
- tr = (Element) list.get(parentIndex);
- }
-
- if (tr.getParentNode() == nextTr.getParentNode()) {
- tr.getParentNode().insertBefore(insertElement, nextTr);
- } else {
- tr.getParentNode().appendChild(insertElement);
- }
- } else {
- //empty table - append first row
- _tableEle.appendChild(insertElement);
- }
- } else {
- // int index = TableUtil.countRowIndexInDOMTree(this._tableEle,
- // this._rowIndex - 1);
- int index = this._rowIndex - 1;
- Element tr = (Element) list.get(index);
- tr.getParentNode().insertBefore(insertElement, null);
- }
- formatNode(this._tableEle);
-
- }
-
- private Element createDefaultElement() {
- Document doc = this._tableEle.getOwnerDocument();
- Element ele = doc.createElement(IHTMLConstants.TAG_TR);
- int columnCount = _tableUtil.getColumnCount();
- if (columnCount < 1) {
- columnCount = 1;
- }
- for (int i = 0; i < columnCount; i++) {
- Element td = doc.createElement(IHTMLConstants.TAG_TD);
- Node node = doc.createTextNode(
- CommandResources.getString("TableInsertColumnCommand.Text.Default")); //$NON-NLS-1$
- td.appendChild(node);
- ele.appendChild(td);
- }
- return ele;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeColumnCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeColumnCommand.java
deleted file mode 100644
index d11ef19ac..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeColumnCommand.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableResizeColumnCommand extends DesignerCommand {
- private Element _table;
-
- private TableUtil _tableUtil;
-
- private int _columnIndex;
-
- private int _delta;
-
- /**
- * @param viewer
- * @param table
- * @param columnIndex
- * @param delta
- */
- public TableResizeColumnCommand(IHTMLGraphicalViewer viewer, Element table,
- int columnIndex, int delta) {
- super(
- CommandResources
- .getString("TableResizeColumnCommand.Label.ResizeColumn"), viewer); //$NON-NLS-1$
- this._table = table;
- this._columnIndex = columnIndex;
- this._delta = delta;
- _tableUtil = new TableUtil(this._table);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(_table);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- int index = this._columnIndex - 1;
- if (index < 0) {
- index = 0;
- }
- List list = _tableUtil.getColumnCells(index);
- Iterator itr = list.iterator();
- Element cell = null;
- while (itr.hasNext()) {
- Element ele = (Element) itr.next();
- if (ele.getTagName().equalsIgnoreCase("fake") || DOMUtil.getIntAttributeIgnoreCase(ele, IHTMLConstants.ATTR_COLSPAN, 1) > 1) //$NON-NLS-1$
- {
- continue;
- }
- cell = ele;
- break;
- }
-
- IFigure cellFigure = getFigureInfo(cell);
- int oldColumnWidth = cellFigure.getBounds().width;
- int cellPadding = cellFigure.getInsets().getWidth();
- int newWidth = oldColumnWidth + this._delta - cellPadding;
- if (this._columnIndex - 1 < 0) {
- newWidth = oldColumnWidth - this._delta - cellPadding;
- }
- Map map = new HashMap();
- if (newWidth > 0) {
- map.put(ICSSPropertyID.ATTR_WIDTH, newWidth + "px"); //$NON-NLS-1$
- DOMStyleUtil.insertStyle(cell, map);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeRowCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeRowCommand.java
deleted file mode 100644
index 53303680d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/html/TableResizeRowCommand.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.html;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableResizeRowCommand extends DesignerCommand {
- private Element _table;
-
- private int _rowIndex;
-
- private int _delta;
-
- /**
- * @param viewer
- * @param table
- * @param rowIndex
- * @param delta
- */
- public TableResizeRowCommand(IHTMLGraphicalViewer viewer, Element table,
- int rowIndex, int delta) {
- super(CommandResources
- .getString("TableResizeRowCommand.Label.ResizeColumn"), viewer); //$NON-NLS-1$
- this._table = table;
- this._rowIndex = rowIndex;
- this._delta = delta;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected ISelection getAfterCommandDesignerSelection() {
- return toDesignSelection(this._table);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- int index = this._rowIndex - 1;
- if (index < 0) {
- index = 0;
- }
- // int domIndex = TableUtil.countRowIndexInDOMTree(this._table, index);
- int domIndex = index;
-
- List list = new ArrayList();
- TableUtil.getTrElements(this._table, list);
- Element tr = (Element) list.get(domIndex);
-
- IFigure cellFigure = getFigureInfo(tr);
- int oldRowHeight = cellFigure.getBounds().height;
- int cellPadding = cellFigure.getInsets().getHeight();
- int newHeight = oldRowHeight + this._delta - cellPadding;
- if (this._rowIndex - 1 < 0) {
- newHeight = oldRowHeight - this._delta - cellPadding;
- }
- Map map = new HashMap();
- if (newHeight > 0) {
- map.put(ICSSPropertyID.ATTR_HEIGHT, newHeight + "px"); //$NON-NLS-1$
- DOMStyleUtil.insertStyle(tr, map);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/CaretPositionTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/CaretPositionTracker.java
deleted file mode 100644
index 729521087..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/CaretPositionTracker.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.nav;
-
-/**
- * @author mengbo
- */
-public interface CaretPositionTracker {
- /**
- * @return Returns the xoffset.
- */
- public int getXoffset();
-
- /**
- * @param xoffset
- * The xoffset to set.
- */
- public void setXoffset(int xoffset);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/HorizontalMoveCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/HorizontalMoveCommand.java
deleted file mode 100644
index 101463ac4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/HorizontalMoveCommand.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.nav;
-
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.parts.SubNodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class HorizontalMoveCommand extends Command implements
- ICaretPositionMover {
- private static Logger _log = PDPlugin
- .getLogger(HorizontalMoveCommand.class);
-
- IHTMLGraphicalViewer _viewer;
-
- boolean _forward;
-
- boolean _onlyMoveEnd;
-
- /**
- * @param viewer
- * @param b
- * @param c
- */
- public HorizontalMoveCommand(IHTMLGraphicalViewer viewer, boolean b,
- boolean c) {
- _viewer = viewer;
- _forward = b;
- _onlyMoveEnd = c;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- DesignPosition position = null;
- if (_viewer.isInRangeMode()) {
- if (_viewer.getRangeSelection() != null
- && _viewer.getRangeSelection().isValid()) {
- position = _viewer.getRangeSelection().getEndPosition();
- position = performInlineMode(_forward);
- }
- } else {
- position = performObjectMode();
- }
- setRange(position);
- }
-
- private DesignPosition performObjectMode() {
- DesignPosition result = null;
- IMovementMediator validator = new InlineEditingNavigationMediator(
- new ActionData(ActionData.KEYBOARD_NAVAGATION, null));
- DesignPosition position = getCurrentObjectPosition();
- if (position != null) {
- _viewer.setRange(position, position);
- if (!validator.isValidPosition(position)) {
- position = performInlineMode(_forward);
- if (validator.isValidPosition(position)) {
- result = position;
- } else {
- result = performInlineMode(!_forward);
- }
- } else {
- result = position;
- }
- }
- return result;
- }
-
- private DesignPosition performInlineMode(boolean forward) {
- DesignRange range = _viewer.getRangeSelection();
-
- if (range == null || !range.isValid()) {
- _log.error("invalid range"); //$NON-NLS-1$
- return null;
- }
-
- DesignPosition position = range.getEndPosition();
- if (position.getContainerPart() instanceof TextEditPart) {
- int length = ((TextEditPart) position.getContainerPart())
- .getTextData().length();
- int newoffset = position.getOffset() + (_forward ? 1 : -1);
- if (newoffset >= 0 && newoffset <= length) {
- DesignPosition newposi = new DesignPosition(position
- .getContainerPart(), newoffset);
- return newposi;
- }
- }
- DesignPosition newpos = EditHelper.moveToNextEditPosition(
- ActionData.KEYBOARD_NAVAGATION, position, forward);
- return newpos;
- }
-
- private void setRange(DesignPosition newpos) {
- if (_onlyMoveEnd) {
- _viewer.setRangeEndPosition(newpos);
- } else {
- _viewer.setRange(newpos, newpos);
- }
- }
-
- private DesignPosition getCurrentObjectPosition() {
- DesignRange result = null;
- if (_viewer.isInRangeMode()) {
- result = _viewer.getRangeSelection();
- } else {
- List parts = _viewer.getSelectedEditParts();
- if (parts.size() > 0) {
- EditPart selection = (EditPart) parts.get(0);
- if (selection instanceof SubNodeEditPart) {
- DesignPosition position = new DesignRefPosition(selection,
- _forward);
- result = new DesignRange(position, position);
- }
- }
- }
- return result != null && result.isValid() ? result.getEndPosition()
- : null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/ICaretPositionMover.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/ICaretPositionMover.java
deleted file mode 100644
index ca75659d5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/ICaretPositionMover.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.nav;
-
-/**
- * Tags commands that care about caret position
- * TODO: does presently appear to have a purpose
- *
- * @author mengbo
- *
- */
-public interface ICaretPositionMover {
- // empty; tagging interface
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/VerticalMoveCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/VerticalMoveCommand.java
deleted file mode 100644
index 3fe0dc594..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/nav/VerticalMoveCommand.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.nav;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.EditPartPositionHelper;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.widgets.Caret;
-
-/**
- * @author mengbo
- */
-public class VerticalMoveCommand extends Command {
- private static Logger _log = PDPlugin
- .getLogger(HorizontalMoveCommand.class);
-
- IHTMLGraphicalViewer _viewer;
-
- boolean _up;
-
- boolean _onlyMoveEnd;
-
- /**
- * @param viewer
- * @param up
- * @param c
- */
- public VerticalMoveCommand(IHTMLGraphicalViewer viewer, boolean up,
- boolean c) {
- _viewer = viewer;
- _up = up;
- _onlyMoveEnd = c;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- int OFFSET = 2;
- DesignRange range = _viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- _log.error("invalid range"); //$NON-NLS-1$
- return;
- }
- IMovementMediator moveMediator = new InlineEditingNavigationMediator(
- new ActionData(ActionData.KEYBOARD_NAVAGATION, null));
- DesignPosition position = range.getEndPosition();
- Caret caret = _viewer.getCaret();
- Point point = null;
- DesignPosition newPos = position;
- EditPart containerpart = null, rootpart1;
- if (_up) {
- point = new Point(((CaretPositionTracker) _viewer).getXoffset(),
- caret.getBounds().y);
- } else {
- point = new Point(((CaretPositionTracker) _viewer).getXoffset(),
- caret.getBounds().y + caret.getBounds().height);
-
- }
- rootpart1 = getRootEditablePart(position.getContainerPart(),
- moveMediator);// position.getContainerPart();
- if (rootpart1 == null) {
- return;
- }
-
- point = adjustLocation(rootpart1, point);
- Rectangle bound = EditPartPositionHelper.getAbsoluteBounds(rootpart1);
- // get current according to the point.
- // FlowBoxLine line =
- // getCurrentLine(moveMediator.getEditableContainer(new
- // Target(rootpart)), point, moveMediator);
- while (true) {
- // try to change offset and then to search for new point.
- if (_up) {
- point.y -= OFFSET;
- if (point.y <= bound.y) {
- newPos = position;
- break;
- }
- } else {
- point.y += OFFSET;
- if (point.y >= bound.y + bound.height) {
- newPos = position;
- break;
- }
- }
- containerpart = ((InlineEditingNavigationMediator) moveMediator)
- .getConstainedEditableContainer(position, point, _viewer);
- if (containerpart != null) {
- if (!EditModelQuery.isChild(Target.resolveNode(rootpart1),
- Target.resolveNode(containerpart))) {
- containerpart = rootpart1;
- }
- bound = EditPartPositionHelper.getAbsoluteBounds(rootpart1);
- newPos = EditPartPositionHelper
- .findEditPartPositionConstrained(containerpart, point,
- moveMediator);
- } else {
- newPos = position;
- break;
- }
- if (newPos != null) {
- if (found(newPos, position)) {
- break;
- }
- }
- }
- setRange(position, newPos);
- }
-
- private void setRange(DesignPosition position, DesignPosition newPos) {
- if (!EditModelQuery.isSame(position, newPos)) {
- {
- if (_onlyMoveEnd) {
- _viewer.setRangeEndPosition(newPos);
- } else {
- _viewer.setRange(newPos, newPos);
- }
- }
- }
- }
-
- /*
- * We should change this, it is too tricky to do in this way.
- */
- private Point adjustLocation(EditPart rootPart, Point point) {
- Point result = point.getCopy();
- Rectangle bounds = EditPartPositionHelper.getAbsoluteBounds(rootPart);
- if (!bounds.contains(point)) {
- if (bounds.getLeft().x > point.x) {
- result.x = bounds.getLeft().x;
- } else if (bounds.getRight().x < point.x) {
- result.x = bounds.getRight().x;
- }
- }
- return result;
- }
-
- private EditPart getRootEditablePart(EditPart part,
- IMovementMediator moveMediator) {
- EditPart rootpart = null;
- if ((rootpart = ((InlineEditingNavigationMediator) moveMediator)
- .getRootConstainedEditableContainer(new Target(part))) == null) {
- rootpart = moveMediator.getEditableContainer(new Target(part));
- }
- return rootpart;
- }
-
- private boolean found(DesignPosition newPos, DesignPosition prevPos) {
- Rectangle newRec = EditPartPositionHelper
- .convertToAbsoluteCaretRect(newPos);
- Rectangle prevRec = EditPartPositionHelper
- .convertToAbsoluteCaretRect(prevPos);
- if (_up) {
- return getYDistance(newRec, prevRec, _up) < 0;
- }
- return getYDistance(newRec, prevRec, _up) > 0;
- }
-
- /**
- * Distance from rec1 to rec2 at y coordination, if top, compare top,
- * otherwise compare bottom.
- *
- * @param rec1
- * @param rec2
- * @param up
- * @return
- */
- private int getYDistance(Rectangle rec1, Rectangle rec2, boolean top) {
- if (rec1.getCopy().intersect(rec2).height > 0) {
- return 0;
- }
- if (top) {
- return rec1.getTop().y - rec2.getTop().y;
- }
- return rec1.getBottom().y - rec2.getBottom().y;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ApplyStyleCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ApplyStyleCommand.java
deleted file mode 100644
index 2f087a6b7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ApplyStyleCommand.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class ApplyStyleCommand extends RangeModeCommand {
- private String _tag;
-
- private String _cssProperty;
-
- private String _cssPropertyValue;
-
- private final Element _applyingNode;
-
- /**
- * @param viewer
- * @param tag
- * @param property
- * @param value
- */
- public ApplyStyleCommand(IHTMLGraphicalViewer viewer, String tag,
- String property, String value) {
- super(
- CommandResources
- .getString("ApplyStyleCommand.Label.ApplyStyle"), viewer); //$NON-NLS-1$
- this._tag = tag;
- this._cssProperty = property;
- this._cssPropertyValue = value;
- this._applyingNode = null;
- }
-
- /**
- * @param viewer
- * @param node
- * @param property
- * @param value
- */
- public ApplyStyleCommand(IHTMLGraphicalViewer viewer, Element node,
- String property, String value) {
- super(
- CommandResources
- .getString("ApplyStyleCommand.Label.ApplyStyle"), viewer); //$NON-NLS-1$
- this._applyingNode = node;
- }
-
- /**
- * @return the applying node (may be null)
- */
- protected final Element getApplyingNode() {
- return _applyingNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected DOMRange doRangeExecute(DOMRange range) {
- if (range == null || range.isEmpty()) {
- return null;
- }
-
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
-
- Node startContainer = start.getContainerNode();
- Node endContainer = end.getContainerNode();
-
- Node common = DOMUtil.findCommonAncester(start.getContainerNode(), end
- .getContainerNode());
- if (common == null) {
- // should not happen.
- return null;
- }
-
- if (common instanceof Text) {
- // under the same Text scope
- range = doTextNodeStyleApply((Text) common, start.getOffset(), end
- .getOffset());
-
- return range;
- }
-
- if (startContainer instanceof Text) {
- // if the start offset is 0,then skip split the Text
- if (start.getOffset() > 0) {
- startContainer = ((Text) startContainer).splitText(start
- .getOffset());
- start = new DOMRefPosition(startContainer, false);
- }
- } else {
- startContainer = start.getNextSiblingNode();
- }
- if (endContainer instanceof Text) {
- if (end.getOffset() > 0) {
- endContainer = ((Text) endContainer).splitText(end
- .getOffset());
- endContainer = endContainer.getPreviousSibling();
- } else {
- endContainer = endContainer.getPreviousSibling();
- }
- } else {
- endContainer = end.getPreviousSiblingNode();
- }
-
- for (Node node = startContainer; node != endContainer; node = EditModelQuery
- .getInstance().getNextLeafNeighbor(node)) {
- if (EditModelQuery.hasAncestor(node, getTag(), true)) {
- continue;
- }
- Element newnode = createStyleElement();
- node.getParentNode().insertBefore(newnode, node);
- newnode.appendChild(node);
- }
- if (!EditModelQuery.hasAncestor(endContainer, getTag(), true)) {
- Element newnode = createStyleElement();
- endContainer.getParentNode()
- .insertBefore(newnode, endContainer);
- newnode.appendChild(endContainer);
- }
-
- // merge the style tags
-
- for (Node node = startContainer; node != endContainer; node = EditModelQuery
- .getInstance().getNextLeafNeighbor(node)) {
- Node stylenode = node;
- while (stylenode != null
- && !stylenode.getNodeName().equalsIgnoreCase(getTag())) {
- stylenode = stylenode.getParentNode();
- }
- if (stylenode == null) {
- continue;
- }
- if (stylenode.getNextSibling() != null
- && stylenode.getNextSibling().getNodeName()
- .equalsIgnoreCase(getTag())) {
- Node sibling = stylenode.getNextSibling();
- while (sibling.getFirstChild() != null) {
- stylenode.appendChild(sibling.getFirstChild());
- }
- stylenode.getParentNode().removeChild(sibling);
- node = startContainer;
- }
- }
-
- return new DOMRange(start, end);
-
- /*
- * boolean ordered = range.isOrdered(); IDOMPosition start = ordered ?
- * range.getStartPosition() : range.getEndPosition(); IDOMPosition end =
- * ordered ? range.getEndPosition() : range.getStartPosition();
- *
- * Node common = DOMUtil.findCommonAncester(start.getContainerNode(),
- * end.getContainerNode()); if (common == null) { // should not happen.
- * return null; }
- *
- * DOMRange result = null; if (common instanceof Text) { result =
- * doTextNodeStyleApply((Text) common, start.getOffset(),
- * end.getOffset()); } else { IDOMPosition startPosition = start;
- * IDOMPosition endPosition = end; Node ancester = common; DOMRange[]
- * leftRange = new DOMRange[1]; DOMRange[] rightRange = new DOMRange[1];
- *
- * startPosition = partialApply(startPosition, ancester, true,
- * leftRange); endPosition = partialApply(endPosition, ancester, false,
- * rightRange); DOMRange middle = middleApply(ancester, startPosition,
- * endPosition);
- *
- * IDOMPosition startref = null; if (leftRange[0] != null &&
- * leftRange[0].getStartPosition() != null) { startref =
- * leftRange[0].getStartPosition(); } else if (middle != null &&
- * middle.getStartPosition() != null) { startref =
- * middle.getStartPosition(); } else if (rightRange[0] != null &&
- * rightRange[0].getStartPosition() != null) { startref =
- * rightRange[0].getStartPosition(); }
- *
- * IDOMPosition endref = null; if (rightRange[0] != null &&
- * rightRange[0].getEndPosition() != null) { endref =
- * rightRange[0].getEndPosition(); } else if (middle != null &&
- * middle.getEndPosition() != null) { endref = middle.getEndPosition(); }
- * else if (leftRange[0] != null && leftRange[0].getEndPosition() !=
- * null) { endref = leftRange[0].getEndPosition(); }
- *
- * if (startref == null) { result = null; } else { startref = new
- * DOMPosition(EditModelQuery.getInstance().getNextLeafNeighbor(startref.getContainerNode()),
- * 0); System.out.println(startref.toString()); endref = new
- * DOMPosition(endref.getContainerNode(), 0); result = new
- * DOMRange(startref, endref); } }
- *
- * if (result == null) { return null; }
- *
- * if (ordered) { return result; } else { return new
- * DOMRange(result.getEndPosition(), result.getStartPosition()); }
- */
- }
-
- // TODO: unused code. Dead?
-// private DOMRange middleApply(Node ancester, IDOMPosition startPosition,
-// IDOMPosition endPosition) {
-// startPosition = skip(startPosition, true);
-// if (startPosition.getNextSiblingNode() == null
-// || startPosition.getOffset() >= endPosition.getOffset()) {
-// return null;
-// } else {
-// List needMove = new ArrayList();
-// Node startNext = startPosition.getNextSiblingNode();
-// Node endNext = endPosition.getNextSiblingNode();
-// while (startNext != null && startNext != endNext) {
-// needMove.add(startNext);
-// startNext = startNext.getNextSibling();
-// }
-// Element newEle = createStyleElement();
-// ancester.insertBefore(newEle, startPosition.getNextSiblingNode());
-// for (int i = 0, n = needMove.size(); i < n; i++) {
-// newEle.appendChild((Node) needMove.get(i));
-// }
-// return new DOMRange(new DOMRefPosition(newEle, false),
-// new DOMRefPosition(newEle, true));
-// }
-// }
-
- // TODO: unused code. Dead?
-// private IDOMPosition partialApply(IDOMPosition position, Node ancester,
-// boolean forward, DOMRange[] result) {
-// IDOMPosition startRef = null, endRef = null;
-//
-// while (position != null && position.getContainerNode() != ancester) {
-// Node container = position.getContainerNode();
-// if (container instanceof Text) {
-// // splitText will move the position up one level
-// position = splitText(position);
-// } else {
-// // skip those nodes that can't have the style applied.
-// position = skip(position, forward);
-// Node sibling = position.getSibling(forward);
-// if (sibling != null) {
-// List needMove = new ArrayList();
-// while (sibling != null) {
-// needMove.add(sibling);
-// sibling = forward ? sibling.getNextSibling() : sibling
-// .getPreviousSibling();
-// }
-//
-// // ok, there is nodes that need the style
-// Element newEle = createStyleElement();
-// container.insertBefore(newEle, position
-// .getNextSiblingNode());
-// for (int i = 0, size = needMove.size(); i < size; i++) {
-// newEle.appendChild((Node) needMove.get(i));
-// }
-// if (startRef == null) {
-// startRef = new DOMRefPosition(newEle, !forward);
-// }
-// endRef = new DOMRefPosition(newEle, forward);
-// }
-// // move the position up one level
-// position = new DOMRefPosition(container, forward);
-// }
-// }
-// if (startRef == null) {
-// result[0] = null;
-// } else {
-// result[0] = forward ? new DOMRange(startRef, endRef)
-// : new DOMRange(endRef, startRef);
-// }
-// return position;
-// }
-
- /**
- * @param position
- * @return
- */
- // TODO: dead?
-// private IDOMPosition splitText(IDOMPosition position) {
-// Text text = (Text) position.getContainerNode();
-// int offset = position.getOffset();
-// if (offset <= 0) {
-// return new DOMRefPosition(text, false);
-// } else if (offset >= text.getData().length()) {
-// return new DOMRefPosition(text, true);
-// } else {
-// text.splitText(offset);
-// return new DOMRefPosition(text, true);
-// }
-// }
-
- /**
- * @param start
- * @param end
- * @param common
- */
- private DOMRange doTextNodeStyleApply(Text textNode, int startOffset,
- int endOffset) {
- String data = textNode.getData();
- String before = data.substring(0, startOffset);
- String middle = data.substring(startOffset, endOffset);
- String tail = data.substring(endOffset);
-
- Text middleText = getModel().getDocument().createTextNode(middle);
-
- // case 1: normal one
- if (!isEmptyString(before) && !isEmptyString(tail)) {
- Node parent = textNode.getParentNode();
- parent.insertBefore(
- getModel().getDocument().createTextNode(before), textNode);
- Element bnode = createStyleElement();
- bnode.appendChild(middleText);
- parent.insertBefore(bnode, textNode);
- textNode.setNodeValue(tail);
- }
-
- if (isEmptyString(before) && !isEmptyString(tail)) {
- Node sibling = textNode.getPreviousSibling();
- if (sibling != null
- && sibling.getNodeName().equalsIgnoreCase(getTag())) {
- sibling.appendChild(middleText);
- } else {
- Node parent = textNode.getParentNode();
- parent.insertBefore(getModel().getDocument().createTextNode(
- before), textNode);
- Element bnode = createStyleElement();
- bnode.appendChild(middleText);
- parent.insertBefore(bnode, textNode);
- }
- textNode.setNodeValue(tail);
- }
-
- if (!isEmptyString(before) && isEmptyString(tail)) {
- Node sibling = textNode.getNextSibling();
- textNode.setNodeValue(before);
- if (sibling != null
- && sibling.getNodeName().equalsIgnoreCase(getTag())) {
- sibling.insertBefore(middleText, sibling.getFirstChild());
- } else {
- Element bnode = createStyleElement();
- bnode.appendChild(middleText);
- textNode.getParentNode().insertBefore(bnode, sibling);
- }
- }
-
- if (isEmptyString(before) && isEmptyString(tail)) {
-
- Node previousSibling = textNode.getPreviousSibling();
- Node nextSibling = textNode.getNextSibling();
- //
- if (getTag().equalsIgnoreCase(IHTMLConstants.TAG_P)) {
- Element bnode = createStyleElement();
- bnode.appendChild(middleText);
- textNode.getParentNode().insertBefore(bnode, textNode);
- textNode.getParentNode().removeChild(textNode);
- }
- //
- else {
- if (previousSibling != null
- && previousSibling.getNodeName().equalsIgnoreCase(
- getTag()) && nextSibling != null
- && nextSibling.getNodeName().equalsIgnoreCase(getTag())) {
- previousSibling.appendChild(middleText);
- while (nextSibling.getFirstChild() != null) {
- previousSibling
- .appendChild(nextSibling.getFirstChild());
- }
- nextSibling.getParentNode().removeChild(nextSibling);
- } else if (previousSibling != null
- && previousSibling.getNodeName().equalsIgnoreCase(
- getTag())) {
- previousSibling.appendChild(middleText);
- } else if (nextSibling != null
- && nextSibling.getNodeName().equalsIgnoreCase(getTag())) {
- nextSibling.insertBefore(middleText, nextSibling
- .getFirstChild());
- } else {
- Element bnode = createStyleElement();
- bnode.appendChild(middleText);
- textNode.getParentNode().insertBefore(bnode, textNode);
- }
- textNode.getParentNode().removeChild(textNode);
- }
- }
-
- return new DOMRange(new DOMRefPosition(middleText, false),
- new DOMRefPosition(middleText, true));
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-
- /**
- * @return a style element (cached on create)
- */
- protected Element createStyleElement() {
- if (_applyingNode != null) {
- return _applyingNode;
- }
- Element element = getModel().getDocument().createElement(getTag());
- if (_cssProperty != null && _cssPropertyValue != null) {
- element.setAttribute(_cssProperty, _cssPropertyValue);
- }
- return element;
- }
-
- /**
- * @param position
- * @param b
- * @return
- */
- // TODO: dead?
-// private IDOMPosition skip(IDOMPosition position, boolean forward) {
-// Node node = position.getSibling(forward);
-//
-// if (node == null) {
-// return position;
-// }
-// boolean canSkip = false;
-// if (node instanceof Text) {
-// canSkip = ((IDOMText) node).isElementContentWhitespace();
-// } else if (node instanceof Element) {
-// if (getTag().equalsIgnoreCase(((Element) node).getTagName())) {
-// canSkip = true;
-// } else {
-// canSkip = false;
-// }
-// } else {
-// canSkip = true;
-// }
-// if (canSkip) {
-// return new DOMRefPosition(node, forward);
-// } else {
-// return position;
-// }
-// }
-
- /**
- * @return Returns the _cssProperty.
- */
- public final String getCssProperty() {
- return _cssProperty;
- }
-
- /**
- * @param property
- * The _cssProperty to set.
- */
- public final void setCssProperty(String property) {
- _cssProperty = property;
- }
-
- /**
- * @return Returns the _cssPropertyValue.
- */
- public final String getCssPropertyValue() {
- return _cssPropertyValue;
- }
-
- /**
- * @param propertyValue
- * The _cssPropertyValue to set.
- */
- public final void setCssPropertyValue(String propertyValue) {
- _cssPropertyValue = propertyValue;
- }
-
- /**
- * @return Returns the _tag.
- */
- public final String getTag() {
- if (_tag != null) {
- return _tag;
- }
- return _applyingNode.getNodeName();
- }
-
- /**
- * @param _tag
- * The _tag to set.
- */
- public final void setTag(String _tag) {
- this._tag = _tag;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/BlockNodeFinder.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/BlockNodeFinder.java
deleted file mode 100644
index a4a3a8a1a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/BlockNodeFinder.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class BlockNodeFinder {
- private String[] _additionalTags;
-
- private IDOMPosition _position;
-
- /**
- * @param position
- * @param additionalTags
- */
- public BlockNodeFinder(IDOMPosition position, String[] additionalTags) {
- _position = position;
- _additionalTags = additionalTags;
- }
-
- private Node findInlineSiblings(IDOMPosition position, List result,
- boolean forward) {
- Node container = EditModelQuery.getInstance().getSibling(position,
- forward);
- if (!forward) {
- while (container != null) {
- if (EditModelQuery.isInline(container)) {
- result.add(container);
- } else {
- return container;
- }
- container = container.getPreviousSibling();
- }
- } else {
- while (container != null) {
- if (EditModelQuery.isInline(container)) {
- result.add(container);
- } else {
- return container;
- }
- container = container.getNextSibling();
- }
- }
- // the result will be non-zero length.
- return null;
- }
-
- private Node getParagraphNodes(IDOMPosition position, List result,
- boolean forward) {
- Node sResult = findInlineSiblings(position, result, forward);
- Node container = position.getContainerNode();
- container = position.isText() ? container.getParentNode() : container;
- while (sResult == null) {
- // stop at block, special container and H style nodes.
- if (EditModelQuery.isBlockNode(container)
- || EditModelQuery.isDocument(container)
- || (container.getLocalName() != null && (container
- .getLocalName().equals(IJSFConstants.TAG_VIEW) || container
- .getLocalName().equalsIgnoreCase(
- IHTMLConstants.TAG_HTML))) || //
- (_additionalTags != null
- && Arrays.asList(_additionalTags).contains(
- getTagName()) && Arrays.asList(
- _additionalTags).contains(container))) {
- return container;
- }
- position = new DOMRefPosition(container, forward);
- sResult = findInlineSiblings(position, result, forward);
- container = container.getParentNode();
- }
- return sResult;
- }
-
- /**
- * Search for an area between two block nodes or within a block node, search
- * will stop before or under a node which has block display-type, or
- * particular container like "html", jsf "view", .etc, two positions (left
- * and right) are returned in result.
- *
- * The searcher will search parent's directly children, if no block node is
- * found, then go up the node tree to search again.
- *
- * @param position
- * @param result
- */
- public void getParagraphNodes(IDOMPosition position, List result) {
- List tempResult = new ArrayList();
- Node r1 = getParagraphNodes(position, tempResult, true);
- if (EditModelQuery.isChild(r1, position.getContainerNode())) {
- result.add(new DOMPosition(r1, r1.getChildNodes().getLength()));
- } else {
- result.add(new DOMRefPosition(r1, false));
- }
-
- Node r2 = getParagraphNodes(position, tempResult, false);
- if (EditModelQuery.isChild(r2, position.getContainerNode())) {
- result.add(new DOMPosition(r2, 0));
- } else {
- result.add(new DOMRefPosition(r2, true));
- }
- }
-
- private String getTagName() {
- String name = _position.getContainerNode().getNodeName();
- name = name == null ? "" : name.toLowerCase(); //$NON-NLS-1$
- return name;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ClipboardData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ClipboardData.java
deleted file mode 100644
index 8900ab4f6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ClipboardData.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Vector;
-
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.widgets.Control;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class ClipboardData implements IInputSourceProvider {
-
- private Control _control;
-
- /**
- * @param control
- */
- public ClipboardData(Control control) {
- super();
- _control = control;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.IInputSourceProvider#getNodes()
- */
- public Node[] getNodes() {
- Object data = getClipboardData();
- if (data instanceof Vector && ((Vector) data).size() > 0) {
- return (Node[]) ((Vector) data).toArray(new Node[] {});
- } else if (data instanceof Node[]) {
- return (Node[]) data;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.IInputSourceProvider#getStringData()
- */
- public String getStringData() {
- Object data = getClipboardData();
- if (data instanceof String) {
- return (String) data;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.IInputSourceProvider#getCharacterData()
- */
- public Character getCharacterData() {
- return null;
- }
-
- /**
- * @return the clip board data
- */
- public Object getClipboardData() {
- Clipboard clipboard = new Clipboard(_control.getDisplay());
-
- final Object cuted = clipboard.getContents(TemplateTransfer.getInstance());
- if (cuted instanceof Node[] || cuted instanceof Vector) {
- return cuted;
- }
- return clipboard.getContents(TextTransfer.getInstance());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ContentCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ContentCommand.java
deleted file mode 100644
index 064ffd907..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ContentCommand.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Text;
-
-/**
- * This command can used to handle things like "paste". Or keyboard printable
- * ascii key. Note: ENTER key is not handled here.
- *
- * @author mengbo
- */
-// FIXME: \r \n in the content string is not handled.
-public class ContentCommand extends RangeModeCommand {
-
- private String _content;
-
- /**
- * @param viewer
- * @param content
- */
- public ContentCommand(IHTMLGraphicalViewer viewer, String content) {
- super("", viewer); //$NON-NLS-1$
- _content = content;
- }
-
- /**
- * @param viewer
- * @param c
- */
- public ContentCommand(IHTMLGraphicalViewer viewer, char c) {
- super("", viewer); //$NON-NLS-1$
- _content = String.valueOf(c);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected DOMRange doRangeExecute(DOMRange range) {
- if (range == null)
- return null;
-
- IDOMPosition position = DOMPositionHelper.removeRange(range);
- position = doContent(position);
- return new DOMRange(position, position);
-
- }
-
- /**
- * @param position
- * @return ??
- */
- protected IDOMPosition doContent(IDOMPosition position) {
- position = DOMPositionHelper.mergeIntoText(position);
-
- if (position.getContainerNode() instanceof Text) {
- Text text = (Text) position.getContainerNode();
- String data = text.getData();
- int offset = position.getOffset();
- String newData = data.substring(0, offset) + _content
- + data.substring(offset);
- text.setData(newData);
- return new DOMPosition(text, offset + _content.length());
- }
- // we need to create a text node.
- Text text = getDocument().createTextNode(_content);
- position.getContainerNode().insertBefore(text,
- position.getNextSiblingNode());
- return new DOMRefPosition(text, true);
- }
-
- // protected DesignPosition doContent()
- // {
- // // DesignPosition position = removeRange();
- // DesignPosition position = this.getSelectionRange().getEndPosition();
- // if ('\r' == _content || '\n' == _content)
- // {
- // Element br = getModel().getDocument().createElement("BR");
- // Node node = RangeUtil.insertElement(position, br);
- //
- // // we need set the new range to the node.
- // // FIXME: temp code, need to reconsider how to do refresh, when those
- // editpart
- // // are recreated.
- // IDOMNode parent = (IDOMNode) node.getParentNode();
- // EditPart parentPart = (EditPart) parent.getAdapterFor(EditPart.class);
- // List childParts = parentPart.getChildren();
- // for (int i=0; i<childParts.size(); i++)
- // {
- // if (node == ((EditPart)childParts.get(i)).getModel())
- // {
- // return new DesignPosition(parentPart, i+1);
- // }
- // }
- // return new DesignPosition(parentPart, childParts.size());
- // }
- // else
- // {
- // TextPosition textPosition = RangeUtil.insertText(position,
- // String.valueOf(_content));
- // IDOMText text = textPosition.getTextNode();
- // EditPart part = (EditPart) text.getAdapterFor(EditPart.class);
- // return new DesignPosition(part, textPosition.getOffset());
- // }
- // }
- //
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyCommand.java
deleted file mode 100644
index 594cf625f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyCommand.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class CopyCommand extends RangeModeCommand {
-
- /**
- * @param viewer
- */
- public CopyCommand(IHTMLGraphicalViewer viewer) {
- super(CommandResources.getString("CopyCommand.Label.Copy"), viewer); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange selection) {
- DesignEdit edit = new CopyEdit(selection, getViewer());
- edit.operate();
- return selection;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyEdit.java
deleted file mode 100644
index 93d3efe17..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CopyEdit.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Stack;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class CopyEdit extends DesignEdit {
- private static Logger _log = PDPlugin.getLogger(CopyEdit.class);
-
- private Stack result = new Stack();
-
- /**
- * @param range
- * @param viewer
- */
- public CopyEdit(DOMRange range, GraphicalViewer viewer) {
- super(range, viewer);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignEdit#operate()
- */
- protected boolean operate() {
- WorkNode root = getRootWorkNode();
- Node rootNode = root.getNode();
- result = getProcessedResult();
- collectOtherStyles(rootNode, result);
- setClipboard(result);
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignEdit#processContainer(org.eclipse.jst.pagedesigner.commands.range.WorkNode)
- */
- protected Node processContainer(WorkNode node) {
- return node.getNode().cloneNode(false);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.AbstractCopyEdit#processNode(org.w3c.dom.Node,
- * int[], java.util.Stack)
- */
- protected Node processNode(WorkNode node) {
- int pos[] = node.getPosOffsets();
- // the text could be tranparent, or 0 length.
- Assert.isTrue(pos[0] <= pos[1]);
- if (pos[0] == pos[1]) {
- return null;
- }
- return node.getNode().cloneNode(true);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.AbstractCopyEdit#processText(org.w3c.dom.Text,
- * int[], java.util.Stack)
- */
- protected Text processText(WorkNode node) {
- Text currentNode = (Text) node.getNode();
- int left = EditModelQuery.getNodeStartIndex(currentNode);
- int right = EditModelQuery.getNodeEndIndex(currentNode);
- int location1 = EditHelper.getInstance().getLocation(currentNode,
- node.getPosOffsets()[0], true);
- int location2 = EditHelper.getInstance().getLocation(currentNode,
- node.getPosOffsets()[1], true);
- int start = 0;
- int end = right - left;
- // left index
- if (location1 > EditHelper.IN_MIDDLE
- || location2 < EditHelper.IN_MIDDLE) {
- return null;
- }
- if (location1 <= EditHelper.IN_MIDDLE) {
- start = node.getQualifiedOffsets()[0];
- }
- if (location2 >= EditHelper.IN_MIDDLE) {
- end = node.getQualifiedOffsets()[1];
- }
- if (start == end) {
- return null;
- }
-
- try {
- String text = currentNode.getData().substring(start, end);
- return EditModelQuery.getDocumentNode(currentNode)
- .createTextNode(text);
- } catch (DOMException e) {
- // TODO: changed this from catching Exception
- // DOMException is the only exception that
- // anything in the try is threatening to throw
- // and even that is Runtime
- _log.error("Exception", e); //$NON-NLS-1$
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutCommand.java
deleted file mode 100644
index 985967b0e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutCommand.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class CutCommand extends RangeModeCommand {
- /**
- * @param viewer
- */
- public CutCommand(IHTMLGraphicalViewer viewer) {
- super(CommandResources.getString("CutCommand.Label.Cut"), viewer); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange selection) {
- DesignEdit edit = new CutEdit(selection, getViewer());
- if (EditModelQuery.isSame(selection)) {
- return null;
- }
- if (edit.perform()) {
- return new DOMRange(edit.getOperationPosition(), edit
- .getOperationPosition());
- }
- return selection;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutEdit.java
deleted file mode 100644
index c0a8104eb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/CutEdit.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Stack;
-
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-
-/**
- * @author mengbo
- */
-public class CutEdit extends DeleteEdit {
- /**
- * @param range
- * @param viewer
- */
- public CutEdit(DOMRange range, GraphicalViewer viewer) {
- super(range, viewer);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignEdit#operate()
- */
- protected boolean operate() {
- Stack result = deleteRange();
- setClipboard(result);
- return true;
- }
-
- /*
- * private Text cutText(Text text, int start, int end) {
- * EditValidateUtil.validStringIndexOffset(text, start, end - start); String
- * content = text.substringData(start, end - start); if (content == null ||
- * content.length() == 0) { return null; } text.deleteData(start, end -
- * start); return _document.createTextNode(content); }
- */
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteCommand.java
deleted file mode 100644
index 26ea1d9b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteCommand.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.commands.nav.ICaretPositionMover;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * @author mengbo
- */
-public class DeleteCommand extends RangeModeCommand implements
- ICaretPositionMover {
- private boolean _forward;
-
- /**
- * @param forward
- * @param viewer
- */
- public DeleteCommand(boolean forward, IHTMLGraphicalViewer viewer) {
- super(CommandResources.getString("DeleteCommand.Label.Delete"), viewer); //$NON-NLS-1$
- _forward = forward;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected DOMRange doRangeExecute(DOMRange selection) {
- if (selection == null) {
- return null;
- }
-
- DesignEdit edit = new DeleteEdit(selection, getViewer(), _forward);
- Listener listener = new Listener() {
- public void handleEvent(Event event) {
- event.type = SWT.NONE;
- }
- };
- getViewer().getControl().getDisplay()
- .addFilter(SWT.Selection, listener);
- boolean status = edit.perform();
- getViewer().getControl().getDisplay().removeFilter(SWT.Selection,
- listener);
- if (status) {
- return new DOMRange(edit.getOperationPosition(), edit
- .getOperationPosition());
- }
- return selection;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteEdit.java
deleted file mode 100644
index 805e23cb7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DeleteEdit.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Stack;
-import java.util.Vector;
-
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IETablePositionRule;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.viewer.LayoutPart;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DeleteEdit extends DesignEdit {
- private static final Logger _log = PDPlugin.getLogger(DeleteEdit.class);
-
- private static final boolean INNER_DEBUG = false;
-
- private boolean _forward;
-
- Vector deleted = new Vector();
-
- /**
- * @param range
- * @param viewer
- * @param forward
- */
- public DeleteEdit(DOMRange range, GraphicalViewer viewer, boolean forward) {
- super(range, viewer);
- _forward = forward;
- }
-
- /**
- * @param range
- * @param viewer
- */
- public DeleteEdit(DOMRange range, GraphicalViewer viewer) {
- super(range, viewer);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignEdit#operate()
- */
- protected boolean operate() {
- try {
- boolean result = true;
- if (EditModelQuery.isSame(getRange())) {
- deleteSingle();
- } else {
- deleteRange();
- }
- return result;
- } catch (Exception e) {
- _log.error("Exception", e); //$NON-NLS-1$
- return false;
- }
- }
-
- /**
- * Delete one node or char at operation position.
- */
- private void deleteSingle() {
- IDOMPosition opPosition = getOperationPosition();
- opPosition = EditHelper.moveToNextEditPosition(getOperationPosition(),
- _forward, new InlineEditingNavigationMediator(new ActionData(
- ActionData.INLINE_EDIT, null)));
- // for inner debug
- if (INNER_DEBUG) {
- _log.info("EditHelper, now we are at:" + opPosition); //$NON-NLS-1$
- }
- if (EditModelQuery.isSame(opPosition, getOperationPosition())) {
- return;
- }
- setRange(new DOMRange(opPosition, getOperationPosition()));
- deleteRange();
- }
-
- /**
- * @return the stack
- */
- protected Stack deleteRange() {
- WorkNode root = getRootWorkNode();
- Node rootNode = root.getNode();
- Stack result = getProcessedResult();
- collectOtherStyles(rootNode, result);
- return result;
- }
-
- private boolean isTableComponents(WorkNode node) {
- String name = node.getNode().getNodeName();
- return (IHTMLConstants.TAG_TD.equalsIgnoreCase(name) || //
- IHTMLConstants.TAG_TH.equalsIgnoreCase(name) || //
- IHTMLConstants.TAG_TR.equalsIgnoreCase(name) || //
- IHTMLConstants.TAG_THEAD.equalsIgnoreCase(name) || //
- IHTMLConstants.TAG_TBODY.equalsIgnoreCase(name) || //
- IHTMLConstants.TAG_TFOOT.equalsIgnoreCase(name));
- }
-
- private Node processContainerTable(WorkNode node) {
- Node result = null;
- if ((isTableComponents(node) || IHTMLConstants.TAG_TABLE
- .equalsIgnoreCase(node.getNode().getNodeName())) //
- && new IETablePositionRule(null).isInValidTable(node
- .getNode())) {
- result = node.getNode().cloneNode(false);
- }
- return result;
- }
-
- private Node processContainerStyleNodes(WorkNode node) {
- String name = node.getNode().getNodeName();
- Node result = null;
- if (IHTMLConstants.TAG_LI.equalsIgnoreCase(name) || //
- EditModelQuery.HTML_STYLE_NODES.contains(node.getNode()
- .getLocalName())) {
- if (node.getNode().hasChildNodes()) {
- result = node.getNode().cloneNode(false);
- }
- }
- return result;
- }
-
- private Node processContainerView(WorkNode node) {
- Node result = null;
- if (IJSFConstants.TAG_VIEW.equalsIgnoreCase(node.getNode()
- .getLocalName())) {
- result = EditModelQuery.getDocumentNode(node.getNode())
- .createElement(IJSFConstants.TAG_SUBVIEW);
- result.setPrefix(node.getNode().getPrefix());
- } else if (IHTMLConstants.TAG_BODY.equalsIgnoreCase(node.getNode()
- .getNodeName())
- || IHTMLConstants.TAG_HTML.equalsIgnoreCase(node.getNode()
- .getNodeName())) {
- result = EditModelQuery.getDocumentNode(node.getNode())
- .createElement(node.getNode().getNodeName());
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.AbstractCopyEdit#processContainer(org.eclipse.jst.pagedesigner.commands.range.WorkNode)
- */
- protected Node processContainer(WorkNode node) {
- Node result = processContainerView(node);
- if (result == null) {
- result = processContainerTable(node);
- }
- if (result == null) {
- result = processContainerStyleNodes(node);
- }
- if (result == null) {
- // strip out container
- if (LayoutPart.getConcreteNode(node.getNode()) != null) {
- Node parent = node.getNode().getParentNode();
- Node refNode = node.getNode();
- Node child = node.getNode().getFirstChild();
- Node first = null, last = null;
- int index = 0;
- NodeList children = node.getNode().getChildNodes();
- int size = children.getLength();
- while (child != null) {
- Node next = child.getNextSibling();
- Node n = EditHelper.deleteNode(child);
- parent.insertBefore(n, refNode);
- if (index == 0) {
- if (refNode != null) {
- first = refNode.getPreviousSibling();
- } else {
- first = parent.getLastChild();
- }
- }
- if (index == size - 1) {
- if (refNode != null) {
- last = refNode.getPreviousSibling();
- } else {
- last = parent.getLastChild();
- }
- }
- index++;
- child = next;
- }
- if (node.getPosOffsets()[0] <= 0) {
- setOperationPosition(new DOMRefPosition(first, false));
- } else {
- setOperationPosition(new DOMRefPosition(last, true));
- }
- } else {
- setOperationPosition(new DOMRefPosition(node.getNode(), false));
- }
- result = EditHelper.deleteNode(node.getNode());
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.AbstractCopyEdit#processNode(org.w3c.dom.Node,
- * int[])
- */
- protected Node processNode(WorkNode node) {
- Node result = null;
- if (!isTableComponents(node)
- || !new IETablePositionRule(null).isInValidTable(node
- .getNode())) {
- // it's not table components.
- setOperationPosition(new DOMRefPosition(node.getNode(), false));
- result = EditHelper.deleteNode(node.getNode());
- }
- return result;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.AbstractCopyEdit#processText(org.w3c.dom.Text,
- * int[])
- */
- protected Text processText(WorkNode node) {
- Text currentNode = (Text) node.getNode();
- int[] offsets = node.getPosOffsets();
- Node second = null;
- int location1 = EditHelper.getInstance().getLocation(currentNode,
- node.getPosOffsets()[0], true);
- int location2 = EditHelper.getInstance().getLocation(currentNode,
- node.getPosOffsets()[1], true);
- // left index
- if (currentNode.getData().length() > 0) {
- if (location1 == EditHelper.IN_MIDDLE) {
- IDOMPosition position = new DOMPosition(currentNode, node
- .getPosOffsets()[0]);
- setOperationPosition(position);
- position = DOMPositionHelper.splitText(position);
- Node nnode = position.getNextSiblingNode();
- if (nnode instanceof Text) {
- currentNode = (Text) nnode;
- offsets[1] -= offsets[0] > 0 ? offsets[0] : 0;
- }
- } else {
- // setOperationPosition(new DOMRefPosition(currentNode, false));
- if (currentNode.getPreviousSibling() != null) {
- setOperationPosition(new DOMRefPosition(currentNode
- .getPreviousSibling(), true));
- } else {
- setOperationPosition(new DOMPosition(currentNode
- .getParentNode(), 0));
- }
- }
- // right index
- if (location2 >= EditHelper.IN_MIDDLE) {
- IDOMPosition position = new DOMPosition(currentNode, offsets[1]);
- position = DOMPositionHelper.splitText(position);
- second = position.getPreviousSiblingNode();
- }
- return second != null ? (Text) EditHelper.deleteNode(second) : null;
- }
- setOperationPosition(new DOMRefPosition(currentNode, false));
- return (Text) EditHelper.deleteNode(currentNode);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DesignEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DesignEdit.java
deleted file mode 100644
index d60faf485..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/DesignEdit.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Stack;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.CSSUtil;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public abstract class DesignEdit {
-
- private Stack _selections;
-
- private DOMRange _range;
-
- private GraphicalViewer _viewer;
-
- private IDOMPosition _operationPosition;
-
- private final Document _document;
-
- private Stack _processedResult;
-
- /**
- * @param range
- * @param viewer
- */
- public DesignEdit(DOMRange range, GraphicalViewer viewer) {
- setRange(range);
- _viewer = viewer;
- _operationPosition = getRange().getStartPosition();
- _document = ((IDOMNode) _operationPosition.getContainerNode())
- .getModel().getDocument();
- }
-
-
- /**
- * @return the target document
- */
- protected final Document getDocument() {
- return _document;
- }
-
- /**
- * @return the result
- */
- protected abstract boolean operate();
-
- /**
- * @param node
- * @return the text
- */
- protected abstract Text processText(WorkNode node);
-
- /**
- * @param node
- * @return the node
- */
- protected abstract Node processNode(WorkNode node);
-
- /**
- * @param node
- * @return the node
- */
- protected abstract Node processContainer(WorkNode node);
-
- /**
- * @return the dom range
- */
- public DOMRange getRange() {
- return _range;
- }
-
- void setRange(DOMRange range) {
- range = EditHelper.normal(range);
- IDOMPosition start = EditHelper.ensureDOMPosition(range
- .getStartPosition());
- IDOMPosition end = EditHelper.ensureDOMPosition(range.getEndPosition());
- _range = new DOMRange(start, end);
- EditValidateUtil.validRange(range);
- }
-
- /**
- * @return the clipboard
- */
- protected Clipboard getClipboard() {
- return new Clipboard(_viewer.getControl().getDisplay());
- }
-
- /**
- * @return the position
- */
- public IDOMPosition getOperationPosition() {
- // try
- // {
- // Assert.isTrue(_operationPosition != null &&
- // _operationPosition.getContainerNode() != null &&
- // _operationPosition.getOffset() > -1);
- // if (_operationPosition.isText())
- // {
- // int length = ((Text)
- // _operationPosition.getContainerNode()).getLength();
- // Assert.isTrue(_operationPosition.getOffset() >= 0 &&
- // _operationPosition.getOffset() <= length);
- // }
- // }
- // catch (Exception e)
- // {
- // // "Error", "Error in operation location move"
- // PDPlugin.getAlerts().confirm("Alert.DesignEdit.opLocationValidTitle",
- // "Alert.DesignEdit.opLocationValidMessage"); //$NON-NLS-1$
- // //$NON-NLS-2$
- // }
-
- return _operationPosition;
- }
-
- /**
- * @param position
- */
- protected void setOperationPosition(IDOMPosition position) {
- if (!EditValidateUtil.validPosition(position)) {
- return;
- }
- position = EditHelper.ensureDOMPosition(position);
- _operationPosition = position;
- }
-
- /**
- * @return the result of performing the edit
- */
- public boolean perform() {
- boolean result = false;
-
- result = operate();
- return result;
- }
-
- /**
- * @return Returns the _viewer.
- */
- public GraphicalViewer getViewer() {
- return _viewer;
- }
-
- private Stack collectNodes() {
- Node node;
- Stack result = new Stack();
- IDOMPosition start = getRange().getStartPosition(), end = getRange()
- .getEndPosition();
- int pos[] = new int[] { EditModelQuery.getIndexedRegionLocation(start),
- EditModelQuery.getIndexedRegionLocation(end), };
- if (!EditModelQuery.isSame(start, end)) {
- Node ancestor = EditModelQuery.getInstance().getCommonAncestor(
- start, end);
- WorkNode rootWorkNode = new WorkNode(ancestor, pos[0], pos[1]);
- rootWorkNode.setRoot(true);
- result.push(rootWorkNode);
- try {
- // Loop all the children of the ancestor, and and the result
- // will be collected
- if (EditModelQuery.isText(ancestor)) {
- Stack temp = new Stack();
- EditHelper.getInstance().collectNodes(ancestor, pos[0],
- pos[1], ancestor, temp);
- WorkNode wNode = (WorkNode) temp.remove(0);
- wNode.setParent(rootWorkNode);
- result.push(wNode);
- } else {
- node = ancestor.getFirstChild();
- Stack temp = new Stack();
- while (node != null) {
- EditHelper.getInstance().collectNodes(node, pos[0],
- pos[1], ancestor, temp);
- while (temp.size() > 0) {
- WorkNode wNode = (WorkNode) temp.remove(0);
- if (wNode.getNode().getParentNode() == ancestor) {
- wNode.setParent(rootWorkNode);
- }
- result.push(wNode);
- }
- node = node.getNextSibling();
- }
- }
- } catch (Exception e) {
- result.clear();
- }
- }
- return result;
- }
-
- /**
- * @return Returns the result.
- */
- public Stack getSelections() {
- if (_selections == null) {
- _selections = collectNodes();
- }
- return _selections;
- }
-
- /**
- * @return the result stack
- */
- public Stack getProcessedResult() {
- if (_processedResult == null) {
- _processedResult = new Stack();
- WorkNode rootNode = getRootWorkNode();
- if (rootNode != null) {
- processNodes(rootNode, _processedResult);
- }
- }
- return _processedResult;
- }
-
- /**
- * @return the root work node
- */
- protected final WorkNode getRootWorkNode() {
- WorkNode result = null;
- if (getSelections().size() > 0) {
- WorkNode node = (WorkNode) getSelections().get(0);
- while (node.getParent() != null) {
- node = node.getParent();
- }
- result = node;
- Assert.isTrue(node.isRoot());
- }
- return result;
- }
-
- /**
- * @param node
- * @param result
- * @return true if node
- */
- private final boolean processText(WorkNode node, Stack result) {
- boolean done = false;
- if (EditModelQuery.isText(node.getNode())) {
- Node text = processText(node);
- if (text != null) {
- result.add(text);
- }
- getSelections().remove(node);
- done = true;
- }
- return done;
- }
-
- /**
- * @param node
- * @param result
- */
- private final void processContainer(WorkNode node, Stack result) {
- processContainer(node);
- getSelections().remove(node);
- }
-
- /**
- * @param node
- * @param result
- * @return true if done
- */
- private final boolean processChildren(WorkNode node, Stack result) {
- boolean done = false;
- if (getFirstSelectedChild(node) != null) {
- Stack myResult = new Stack();
- {
- WorkNode child = null;
- while ((child = getFirstSelectedChild(node)) != null) {
- {
- processNodes(child, myResult);
- }
- }
- Node newParent = processContainer(node);
- newParent = toBeParent(newParent, myResult);
- result.push(newParent);
- }
- getSelections().remove(node);
- done = true;
- }
- return done;
- }
-
- /**
- * @param node
- * @param result
- * @return true if done
- */
- private final boolean processChildren1(WorkNode node, Stack result) {
- boolean done = false;
- if (node.getNode().hasChildNodes()) {
- Stack myResult = new Stack();
- {
- Node childNode = node.getNode().getFirstChild();
- Node next = null;
- while (childNode != null) {
- next = childNode.getNextSibling();
- int x1 = EditModelQuery.getNodeStartIndex(childNode) - 1;
- int x2 = EditModelQuery.getNodeEndIndex(childNode) + 1;
- processNodes(new WorkNode(childNode, x1, x2), myResult);
- childNode = next;
- }
- Node newParent = processContainer(node);
- newParent = toBeParent(newParent, myResult);
- result.push(newParent);
- }
- getSelections().remove(node);
- done = true;
- }
- return done;
- }
-
- /**
- * Process the nodes that are selected, the result is a collection of nodes
- * that either are clones or the nodes cuted.
- *
- * @param node
- * @param result
- */
- protected final void processNodes(WorkNode node, Stack result) {
- WorkNode child = null;
- if (node.isRoot()) {
- while ((child = getFirstSelectedChild(node)) != null) {
- processNodes(child, result);
- }
- } else {
- if (node.isWholeSelected()
- || //
- (!EditModelQuery.isText(node.getNode()) && EditModelQuery
- .getInstance().isSingleRegionNode(node.getNode()))
- || //
- EditModelQuery.isWidget(node.getNode())) {
- Node temp = processNode(node);
- if (temp != null) {
- result.push(temp);
- getSelections().remove(node);
- } else {
- if (!processText(node, result)) {
- if (!processChildren1(node, result)) {
- processContainer(node, result);
- }
- }
- }
- } else {
- if (!processText(node, result)) {
- if (!processChildren(node, result)) {
- processContainer(node, result);
- }
- }
- }
- }
- }
-
- /**
- * @param result
- */
- protected void setClipboard(Stack result) {
- Node[] nodes = (Node[]) result.toArray(new Node[result.size()]);
- StringBuffer sb = new StringBuffer();
- for (int i = 0, size = nodes.length; i < size; i++) {
- DOMUtil.nodeToString(nodes[i], sb);
- }
- getClipboard().setContents(
- new Object[] { result, sb.toString() },
- new Transfer[] { TemplateTransfer.getInstance(),
- TextTransfer.getInstance() });
- }
-
- private Node toBeParent(Node parent, Stack children) {
- while (children.size() > 0) {
- parent.appendChild((Node) children.remove(0));
- }
- return parent;
- }
-
- private WorkNode getFirstSelectedChild(WorkNode node) {
- for (int i = 0, n = getSelections().size(); i < n; i++) {
- WorkNode wNode = (WorkNode) getSelections().get(i);
- if (wNode.getParent() == node) {
- return wNode;
- }
- }
- return null;
- }
-
- /**
- * @param rootNode
- * @param result
- * @return the node
- */
- Node collectStyleNodes(Node rootNode, Vector result) {
- Element element = null;
- if (rootNode instanceof Element) {
- element = (Element) rootNode;
- } else if (rootNode.getParentNode() != null) {
- element = (Element) rootNode.getParentNode();
- }
- ICSSStyle style = CSSUtil.getCSSStyle(element);
-
- Node node = EditModelQuery.getDocumentNode(rootNode).createElement(
- "span"); //$NON-NLS-1$
- for (int i = 0, n = result.size(); i < n; i++) {
- node.appendChild((Node) result.elementAt(i));
- }
- ((Element) node).setAttribute(IHTMLConstants.ATTR_STYLE, CSSUtil
- .resolveCSSStyle(style));
- result.removeAllElements();
- result.add(node);
- return node;
- }
-
- /**
- * @param rootNode
- * @param result
- * @return the node
- */
- protected final Node collectOtherStyles(Node rootNode, Vector result) {
- Node cur = rootNode, prev = null, appendPoint = null;
- if (EditValidateUtil.validNode(rootNode)) {
- while (!EditModelQuery.isDocument(cur)) {
- if (!EditValidateUtil.validNode(cur)) {
- return null;
- }
- String name = cur.getNodeName() != null ? cur.getNodeName()
- .toLowerCase() : ""; //$NON-NLS-1$
- if (EditModelQuery.HTML_STYLE_NODES.contains(name)) {
- if (prev != null) {
- Node newone = cur.cloneNode(false);
- newone.appendChild(prev);
- prev = newone;
- } else {
- prev = cur.cloneNode(false);
- appendPoint = prev;
- }
- }
- cur = cur.getParentNode();
- }
- if (appendPoint != null) {
- for (int i = 0, n = result.size(); i < n; i++) {
- appendPoint.appendChild((Node) result.elementAt(i));
- }
- result.removeAllElements();
- result.add(prev);
- }
- }
- return prev;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/IInputSourceProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/IInputSourceProvider.java
deleted file mode 100644
index 9922329ad..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/IInputSourceProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public interface IInputSourceProvider {
- /**
- * @return Returns the _data.
- */
- public Node[] getNodes();
-
- /**
- * @return the string data
- */
- public String getStringData();
-
- /**
- * @return the character data
- */
- public Character getCharacterData();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertCommand.java
deleted file mode 100644
index 072326853..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertCommand.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.commands.nav.ICaretPositionMover;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class InsertCommand extends RangeModeCommand implements
- ICaretPositionMover {
-
- private IInputSourceProvider _data;
-
- /**
- * @param label
- * @param viewer
- * @param data
- */
- public InsertCommand(String label, IHTMLGraphicalViewer viewer,
- IInputSourceProvider data) {
- super(label, viewer);
- _data = data;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange selection) {
- DesignEdit edit = null;
- edit = new InsertEdit(selection, getViewer(), _data);
- edit.perform();
- selection = new DOMRange(edit.getOperationPosition(), edit
- .getOperationPosition());
- return selection;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertEdit.java
deleted file mode 100644
index bcf96eb9e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/InsertEdit.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * InsertEdit will perform action at a single location, the data souce could be
- * clipboard or keyboard.
- *
- * @author mengbo
- */
-public class InsertEdit extends DeleteEdit {
- private IInputSourceProvider _data;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.DesignEdit#operate()
- */
- public boolean operate() {
- DOMRange range = getRange();
- if (!EditModelQuery.isSame(range.getStartPosition(), range
- .getEndPosition())) {
- deleteRange();
- range = new DOMRange(getOperationPosition(), getOperationPosition());
- setRange(range);
- }
- if (insertNodes()) {
- return true;
- } else if (insertString()) {
- return true;
- } else {
- return insertChar();
- }
- }
-
- /**
- * @param range
- * @param viewer
- * @param data
- */
- public InsertEdit(DOMRange range, GraphicalViewer viewer,
- IInputSourceProvider data) {
- super(range, viewer);
- _data = data;
- }
-
- /**
- * @param position
- * @param viewer
- * @param data
- */
- public InsertEdit(IDOMPosition position, GraphicalViewer viewer,
- IInputSourceProvider data) {
- super(new DOMRange(position, position), viewer);
- setOperationPosition(position);
- _data = data;
- }
-
- /**
- * @return ??
- */
- public boolean insertChar() {
- if (_data.getStringData() == null) {
- return false;
- }
- IDOMPosition position = getOperationPosition();
- if (position.isText()) {
- Text text = EditModelQuery.getInstance().getText(position);
- text.insertData(getOperationPosition().getOffset(), _data
- .getCharacterData().toString());
- setOperationPosition(new DOMPosition(text, position.getOffset() + 1));
- } else {
- Node refNode = position.getNextSiblingNode();
- Text text = getDocument().createTextNode(_data.getCharacterData()
- .toString());
- position.getContainerNode().insertBefore(text, refNode);
- setOperationPosition(new DOMPosition(text, text.getLength()));
- }
- return true;
- }
-
- /**
- * @return ????
- */
- public boolean insertString() {
- String content = _data.getStringData();
- if (content != null) {
- IDOMPosition position = getOperationPosition();
- if (position.isText()) {
- Text text = EditModelQuery.getInstance().getText(position);
- text.insertData(getOperationPosition().getOffset(), content);
- setOperationPosition(new DOMPosition(text, position.getOffset()
- + content.length()));
- } else {
- Node refNode = position.getNextSiblingNode();
- Text text = getDocument().createTextNode(content);
- position.getContainerNode().insertBefore(text, refNode);
- setOperationPosition(new DOMPosition(text, text.getLength()));
- }
- return true;
- }
- return false;
- }
-
- private boolean insertNodes() {
- Node[] nodes = _data.getNodes();
- if (nodes == null) {
- return false;
- }
- IDOMPosition position = getOperationPosition();
- if (position == null) {
- return false;
- }
- Node refNode = null;
- if (position.isText()) {
- position = DOMPositionHelper.splitText(position);
- }
- refNode = position.getNextSiblingNode();
- Node parent = position.getContainerNode();
- Node node = null;
- for (int i = 0; i < nodes.length; i++) {
- node = DOMUtil.cloneNodeDeep(getDocument(), nodes[i]);
- String prefix = node.getPrefix();
- String name = node.getLocalName();
- if (name != null
- && ITLDConstants.URI_JSP.equals(prefix)
- && (node.getLocalName().startsWith(
- IJSPCoreConstants.TAG_LEADING_DIRECTIVE)
- || IJSPCoreConstants.TAG_DECLARATION.equals(name)
- || IJSPCoreConstants.TAG_EXPRESSION.equals(name) || IJSPCoreConstants.TAG_SCRIPTLET
- .equals(name))) {
- // it is a jsp tag
- ((IDOMElement) node).setJSPTag(true);
- }
- node = parent.insertBefore(node, refNode);
- }
-
- if (node != null) {
- setOperationPosition(new DOMRefPosition(node, true));
- } else if (refNode != null) {
- setOperationPosition(new DOMRefPosition(refNode, false));
- } else {
- setOperationPosition(new DOMRefPosition(parent.getLastChild(), true));
- }
- return true;
- }
-
- // TODO: dead?
-// private boolean splitNode() {
-// if ((getViewer()).getSelection() instanceof DesignRange
-// && _data.getCharacterData() != null
-// && _data.getCharacterData().charValue() == '\r') {
-// DesignRange range = (DesignRange) (getViewer()).getSelection();
-// Node node = range.getStartPosition().getContainerNode();
-// if (EditModelQuery.isText(node)) {
-// node = node.getParentNode();
-// }
-// if (EditModelQuery.isListItem(node)) {
-// IDOMPosition position = DOMPositionHelper.toDOMPosition(range
-// .getStartPosition());
-// // split text and it's parent.
-// position = EditHelper.splitNode(position);
-// position = EditHelper.splitNode(position);
-// position = EditHelper.moveInto(position.getNextSiblingNode(),
-// new InlineEditingNavigationMediator(new ActionData(
-// ActionData.INLINE_EDIT, null)), true);
-// setOperationPosition(position);
-// return true;
-// }
-// }
-// return false;
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/KeyboardData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/KeyboardData.java
deleted file mode 100644
index 7f194bcaf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/KeyboardData.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.swt.SWT;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class KeyboardData implements IInputSourceProvider {
- private Character _keyCode;
-
- private int _stateMask;
-
- private GraphicalViewer _viewer;
-
- /**
- * @param code
- * @param mask
- * @param viewer
- */
- public KeyboardData(char code, int mask, GraphicalViewer viewer) {
- if ((mask & SWT.SHIFT) != 0) {
- _keyCode = new Character(Character.toUpperCase(code));
- } else {
- _keyCode = new Character(code);
- }
- _stateMask = mask;
- _viewer = viewer;
- }
-
- /**
- * @return Returns the keyCode.
- */
- public int getKeyCode() {
- return _keyCode.charValue();
- }
-
- /**
- * @param keyCode
- * The keyCode to set.
- */
- public void setKeyCode(char keyCode) {
- this._keyCode = new Character(keyCode);
- }
-
- /**
- * @return Returns the stateMask.
- */
- public int getStateMask() {
- return _stateMask;
- }
-
- /**
- * @param stateMask
- * The stateMask to set.
- */
- public void setStateMask(int stateMask) {
- this._stateMask = stateMask;
- }
-
- /**
- * @param keyCode
- * @return the node or null
- */
- public Node getSpecialNode(KeyboardData keyCode) {
- Object name;
- EditDomain domain = _viewer.getEditDomain();
- Document document = null;
- if (domain instanceof DefaultEditDomain) {
- document = ((HTMLEditor) (((DefaultEditDomain) domain)
- .getEditorPart())).getDOMDocument();
- }
- // if ((keyCode.getStateMask() & SWT.SHIFT) != 0)
- {
- if ((name = EditModelQuery.CHAR_NODE_MAP.get(keyCode
- .getCharacterData())) != null) {
- return document.createElement((String) name);
- }
- }
- return null;
- }
-
- /**
- * @return Returns the _data.
- */
- public Node[] getNodes() {
- Node node = getSpecialNode(this);
- if (node != null) {
- return new Node[] { node };
- }
- return null;
- }
-
- public String getStringData() {
- return _keyCode.toString();
- }
-
- // public Key
- public Character getCharacterData() {
- return _keyCode;
- }
-
- /**
- * @return the char value of the key code
- */
- public char getChar() {
- return _keyCode.charValue();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/Paragraph.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/Paragraph.java
deleted file mode 100644
index c3757d0c4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/Paragraph.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class Paragraph {
- private DOMRange _range;
-
- /**
- * @param start
- * @param end
- */
- public Paragraph(IDOMPosition start, IDOMPosition end) {
- _range = new DOMRange(start, end);
- }
-
- /**
- * @return the lowest container node
- */
- public Node getLowestContainer() {
- return EditModelQuery.getInstance().getCommonAncestor(
- _range.getStartPosition(), _range.getEndPosition());
- }
-
- /**
- * @return Returns the _end.
- */
- public final IDOMPosition getStart() {
- return _range.isOrdered() ? _range.getStartPosition() : _range
- .getEndPosition();
- }
-
- /**
- * @return Returns the _start.
- */
- public final IDOMPosition getEnd() {
- return _range.isOrdered() ? _range.getEndPosition() : _range
- .getStartPosition();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphApplyStyleCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphApplyStyleCommand.java
deleted file mode 100644
index d25f65ea0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphApplyStyleCommand.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.Arrays;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMRefPosition;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class ParagraphApplyStyleCommand extends ApplyStyleCommand {
-
- /**
- * the list of possible html heading tags
- */
- private static final String[] HH = { "h1", "h2", "h3", "h4", "h5", "h6" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-
- /**
- * @param viewer
- * @param tag
- * @param property
- * @param value
- */
- public ParagraphApplyStyleCommand(IHTMLGraphicalViewer viewer, String tag,
- String property, String value) {
- super(viewer, tag, property, value);
- }
-
- /**
- * @param viewer
- * @param node
- * @param property
- * @param value
- */
- public ParagraphApplyStyleCommand(IHTMLGraphicalViewer viewer,
- Element node, String property, String value) {
- super(viewer, node, property, value);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange range) {
- if (range != null) {
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
- Node common = null;
- Node container = null;
- if (EditModelQuery.isSame(range)) {
- container = start.getContainerNode();
- ParagraphFinder finder = new ParagraphFinder(start);
- Paragraph p = finder.getParagraph(start);
- start = p.getStart();
- end = p.getEnd();
- common = p.getLowestContainer();
- } else {
- common = EditModelQuery.getInstance().getCommonAncestor(start,
- end);
- }
- DOMRange rt;
- // This code is for h1-h6 only, it may need to be replaced.
- if ((rt = replaceExistingH(start, end)) != null) {
- return rt;
- }
- // replace existing p
- if (getTag().equalsIgnoreCase(IHTMLConstants.TAG_P)) {
- rt = replaceExistingP(start, end);
- if (rt != null) {
- return rt;
- }
- }
- if (start.getContainerNode() == end.getContainerNode()) {
- int offset1 = start.getOffset();
- int offset2 = end.getOffset();
- IDOMPosition old = start;
- start = split(start);
- // parent is splited
- if (start != old) {
- container = start.getNextSiblingNode();
- offset2 -= offset1;
- end = new DOMPosition(container, offset2);
- }
- end = split(end);
- } else {
- start = split(common, start);
- end = split(common, end);
- }
- range = InsertStyleTag(new DOMRange(start, end));
- }
- return range;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- */
- public boolean canExecute() {
- return true;
- }
-
- /*
- * Try to split the node so that we can avoid wrap its children directly.
- * Begining from 'position' the split can reach as high as the level of
- * 'common'.
- */
- private IDOMPosition split(Node common, IDOMPosition position) {
- Assert.isTrue(EditModelQuery.isChild(common, position
- .getContainerNode()));
- Node container = position.getContainerNode();
- String[] styleNodes = new String[EditModelQuery.HTML_STYLE_NODES.size()];
- EditModelQuery.HTML_STYLE_NODES.toArray(styleNodes);
- while (EditModelQuery.isText(container) || (container != common && //
- EditModelQuery.containItem(styleNodes, container, true))) {
- IDOMPosition old = position;
- position = EditHelper.splitNode(position);
- if (old == position) {
- int pos = EditHelper.getLocation(position);
- switch (pos) {
- case -1:
- position = new DOMRefPosition(position.getContainerNode(),
- false);
- break;
- case 1:
- position = new DOMRefPosition(position.getContainerNode(),
- true);
- }
- }
- Node containerBackup = container;
- container = container.getParentNode();
- if (containerBackup.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_P)) {
- container.removeChild(containerBackup);
- }
- }
- return position;
- }
-
- /*
- * Split the position's container node only.
- */
- private IDOMPosition split(IDOMPosition position) {
- Node container = position.getContainerNode();
- String[] styleNodes = new String[EditModelQuery.HTML_STYLE_NODES.size()];
- EditModelQuery.HTML_STYLE_NODES.toArray(styleNodes);
- if (EditModelQuery.isText(container)
- || EditModelQuery.containItem(styleNodes, container, true)) {
- return EditHelper.splitNode(position);
- }
- return position;
- }
-
- private DOMRange replaceExistingH(IDOMPosition start, IDOMPosition end) {
- Node common = EditModelQuery.getInstance()
- .getCommonAncestor(start, end);
- // Here we insert some code to avoid creating tags duplicated. but these
- // are not the entire cases.
- if (Arrays.asList(HH).contains(
- getAName(getTag()).toLowerCase())
- && Arrays.asList(HH).contains(
- getAName(common.getNodeName()).toLowerCase())) {
- // uncheck action menu
- if (getAName(getTag()).toLowerCase().equalsIgnoreCase(
- getAName(common.getNodeName()).toLowerCase())) {
- NodeList nodes = common.getChildNodes();
-
- for (int i = 0, size = nodes.getLength(); i < size; i++) {
- common.getParentNode().insertBefore(nodes.item(i), common);
- }
- common.getParentNode().removeChild(common);
- return new DOMRange(start, end);
- }
- start = DOMPositionHelper.toDOMRefPosition(start);
- end = DOMPositionHelper.toDOMRefPosition(end);
- Node newHNode = EditModelQuery.getDocumentNode(common)
- .createElement(getTag());
- EditModelQuery.copyChildren(common, newHNode);
- common.getParentNode().replaceChild(newHNode, common);
- return new DOMRange(start, end);
- }
- return null;
- }
-
- private DOMRange replaceExistingP(IDOMPosition start, IDOMPosition end) {
- // find the selected startNode,endNode and start node's parent node
- Node startNode = start instanceof IDOMRefPosition ? start
- .getNextSiblingNode() : start.getContainerNode();
- Node endNode = end instanceof IDOMRefPosition ? end
- .getPreviousSiblingNode() : end.getContainerNode();
- Node parentNode = startNode.getParentNode();
-
- if (!(start.isText()) && start instanceof DOMPosition) {
- startNode = startNode.getChildNodes().item(start.getOffset());
- parentNode = start.getContainerNode();
- }
- if (!(end.isText()) && end instanceof DOMPosition) {
- // because the offset is based on the position between nodes,so we
- // need to reduce one from the offset
- // in order to get the correct end node.
- endNode = endNode.getChildNodes().item(end.getOffset() - 1);
- }
-
- // compute selected character number in the text or selected element
- // number under a node
- int len = 0;
-// if (start instanceof DOMPosition && end instanceof DOMPosition
-// || start instanceof IDOMPosition && end instanceof IDOMPosition) {
- // TODO: as written, this will be the only statement run, since
- // both start and end are instanceof IDOMPosition by defn.
- len = end.getOffset() - start.getOffset();
-// } else {
-// IDOMRefPosition startRef = null;
-// IDOMRefPosition endRef = null;
-// if (!(start.isText()) && start instanceof DOMPosition) {
-// startRef = new DOMRefPosition(startNode, false);
-// } else if (!(end.isText()) && end instanceof DOMPosition) {
-// endRef = new DOMRefPosition(endNode, true);
-// }
-// len = (endRef != null ? endRef.getOffset() : end.getOffset())
-// - (startRef != null ? startRef.getOffset() : start
-// .getOffset());
-// }
-
- // if a full Text node is selected,and the Text node is the only child
- // of its parent
- if ((startNode == endNode) && (startNode instanceof Text)) {
- TextEditPart part = (TextEditPart) ((INodeNotifier) startNode)
- .getAdapterFor(EditPart.class);
- boolean condition = false;
- if (start instanceof IDOMRefPosition
- || (start instanceof DOMPosition && !start.isText())) {
- condition = parentNode.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_P)
- && parentNode.getChildNodes().getLength() == 1;
- } else {
- condition = parentNode.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_P)
- && parentNode.getChildNodes().getLength() == 1
- && part.getTextData().length() == len;
- }
- if (condition) {
- // if uncheck the align action
- if (this.getApplyingNode()
- .getAttribute(IHTMLConstants.ATTR_ALIGN)
- .equals(
- ((Element) parentNode)
- .getAttribute(IHTMLConstants.ATTR_ALIGN))) {
- ((Element) parentNode)
- .removeAttribute(IHTMLConstants.ATTR_ALIGN);
- IDOMPosition startPos = new DOMPosition(parentNode, 0);
- IDOMPosition endPos = new DOMRefPosition(endNode, true);
- return new DOMRange(startPos, endPos);
- }
- // else replace the align attribute
- /**
- * this._applyingNode.appendChild(startNode);
- * parentNode.getParentNode().replaceChild(this._applyingNode,
- * parentNode);
- */
- String align = this.getApplyingNode()
- .getAttribute(IHTMLConstants.ATTR_ALIGN);
- ((Element) parentNode).setAttribute(IHTMLConstants.ATTR_ALIGN,
- align);
-
- IDOMPosition startPos = new DOMPosition(parentNode, 0);
- IDOMPosition endPos = new DOMRefPosition(endNode, true);
- return new DOMRange(startPos, endPos);
- }
- } else {
- if (parentNode != null
- && parentNode.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_P)
- && parentNode.getChildNodes().getLength() == len) {
- if (this.getApplyingNode()
- .getAttribute(IHTMLConstants.ATTR_ALIGN)
- .equals(
- ((Element) parentNode)
- .getAttribute(IHTMLConstants.ATTR_ALIGN))) {
- ((Element) parentNode)
- .removeAttribute(IHTMLConstants.ATTR_ALIGN);
- IDOMPosition startPos = new DOMPosition(parentNode, 0);
- IDOMPosition endPos = new DOMRefPosition(endNode, true);
- return new DOMRange(startPos, endPos);
- }
-
- /**
- * Node sibling = startNode.getNextSibling();
- * this._applyingNode.appendChild(startNode); Node
- * endNodeSibling = endNode.getNextSibling(); while (sibling !=
- * null && startNode != endNode && sibling != endNodeSibling) {
- * Node tempNode = sibling.getNextSibling();
- * this._applyingNode.appendChild(sibling); sibling = tempNode; }
- * parentNode.getParentNode().replaceChild(this._applyingNode,
- * parentNode);
- */
- String align = this.getApplyingNode()
- .getAttribute(IHTMLConstants.ATTR_ALIGN);
- ((Element) parentNode).setAttribute(IHTMLConstants.ATTR_ALIGN,
- align);
-
- IDOMPosition startPos = new DOMPosition(parentNode, 0);
- IDOMPosition endPos = new DOMRefPosition(endNode, true);
- return new DOMRange(startPos, endPos);
- }
- }
- return null;
- }
-
- private DOMRange InsertStyleTag(DOMRange range) {
- if (range == null || range.isEmpty()) {
- return null;
- }
-
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
-
- Node startContainer = start.getContainerNode();
- Node endContainer = end.getContainerNode();
-
- Node common = DOMUtil.findCommonAncester(start.getContainerNode(), end
- .getContainerNode());
- if (common == null) {
- // should not happen.
- return null;
- }
- if (startContainer instanceof Text) {
- // if the start offset is 0,then skip split the Text
- if (start.getOffset() > 0) {
- startContainer = ((Text) startContainer).splitText(start
- .getOffset());
- start = new DOMRefPosition(startContainer, false);
- }
- } else {
- startContainer = start.getNextSiblingNode();
- }
- if (endContainer instanceof Text) {
- if (end.getOffset() > 0) {
- endContainer = ((Text) endContainer).splitText(end
- .getOffset());
- endContainer = endContainer.getPreviousSibling();
- } else {
- endContainer = endContainer.getPreviousSibling();
- }
- } else {
- endContainer = end.getPreviousSiblingNode();
- }
-
- // now the startContainer and the endContainer should share the same
- // parent
- Element newNode = createStyleElement();
- startContainer.getParentNode()
- .insertBefore(newNode, startContainer);
-
- Node sibling = startContainer.getNextSibling();
- newNode.appendChild(startContainer);
- Node endNodeSibling = endContainer.getNextSibling();
- while (sibling != null && startContainer != endContainer
- && sibling != endNodeSibling) {
- Node tempNode = sibling.getNextSibling();
- newNode.appendChild(sibling);
- sibling = tempNode;
- }
-
- IDOMPosition startPos = new DOMPosition(newNode, 0);
- IDOMPosition endPos = new DOMRefPosition(endContainer, true);
- return new DOMRange(startPos, endPos);
- }
-
- private static String getAName(String name) {
- return name == null ? "" : name; //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphFinder.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphFinder.java
deleted file mode 100644
index 1dfda9d8a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphFinder.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class ParagraphFinder {
- private final IDOMPosition _position;
-
- /**
- * @param position
- */
- public ParagraphFinder(IDOMPosition position) {
- _position = position;
- }
-
- /**
- * @return the dom position
- */
- public IDOMPosition getPosition() {
- return _position;
- }
-
- private Node findInlineSiblings(IDOMPosition position, List result,
- boolean forward) {
- Node container = EditModelQuery.getInstance().getSibling(position,
- forward);
- if (!forward) {
- while (container != null) {
- if (EditModelQuery.isInline(container)) {
- result.add(container);
- } else {
- return container;
- }
- container = container.getPreviousSibling();
- }
- } else {
- while (container != null) {
- if (EditModelQuery.isInline(container)) {
- result.add(container);
- } else {
- return container;
- }
- container = container.getNextSibling();
- }
- }
- // the result will be non-zero length.
- return null;
- }
-
- private Node getParagraphNodes(IDOMPosition position, List result,
- boolean forward) {
- Node sResult = findInlineSiblings(position, result, forward);
- Node container = position.getContainerNode();
- container = position.isText() ? container.getParentNode() : container;
- while (sResult == null) {
- // stop at block, special container and H style nodes.
- if (EditModelQuery.isBlockNode(container)
- || EditModelQuery.isDocument(container)
- || (container.getLocalName() != null && (container
- .getLocalName().equals(IJSFConstants.TAG_VIEW) || container
- .getLocalName().equalsIgnoreCase(
- IHTMLConstants.TAG_HTML)))) {
- return container;
- }
- position = new DOMRefPosition(container, forward);
- sResult = findInlineSiblings(position, result, forward);
- container = container.getParentNode();
- }
- return sResult;
- }
-
- /**
- * Search for an area between two block nodes or within a block node, search
- * will stop before or under a node which has block display-type, or
- * particular container like "html", jsf "view", .etc, two positions (left
- * and right) are returned in result.
- *
- * The searcher will search parent's directly children, if no block node is
- * found, then go up the node tree to search again.
- *
- * @param position
- * @return the paragraph
- */
- public Paragraph getParagraph(IDOMPosition position) {
- List tempResult = new ArrayList();
- IDOMPosition p1, p2;
- Node r1 = getParagraphNodes(position, tempResult, true);
- if (EditModelQuery.isChild(r1, position.getContainerNode())) {
- p1 = new DOMPosition(r1, r1.getChildNodes().getLength());
- } else {
- p1 = new DOMRefPosition(r1, false);
- }
-
- Node r2 = getParagraphNodes(position, tempResult, false);
- if (EditModelQuery.isChild(r2, position.getContainerNode())) {
- p2 = new DOMPosition(r2, 0);
- } else {
- p2 = new DOMRefPosition(r2, true);
- }
- return new Paragraph(p1, p2);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphUnapplyStyleCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphUnapplyStyleCommand.java
deleted file mode 100644
index 328621e5e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/ParagraphUnapplyStyleCommand.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class ParagraphUnapplyStyleCommand extends ApplyStyleCommand {
- private String _groupTags[];
-
- /**
- * @param viewer
- * @param tags
- * @param property
- * @param value
- */
- public ParagraphUnapplyStyleCommand(IHTMLGraphicalViewer viewer,
- String[] tags, String property, String value) {
- super(viewer, "", property, value); //$NON-NLS-1$
- _groupTags = tags;
- }
-
- /**
- * @param viewer
- * @param node
- * @param property
- * @param value
- */
- public ParagraphUnapplyStyleCommand(IHTMLGraphicalViewer viewer,
- Element node, String property, String value) {
- super(viewer, node, property, value);
- }
-
- private DOMRange removeExistingStyles(IDOMPosition start, IDOMPosition end) {
- Node common = null;
- if (EditModelQuery.isSame(start, end)) {
- ParagraphFinder finder = new ParagraphFinder(start);
- Paragraph p = finder.getParagraph(start);
- start = p.getStart();
- end = p.getEnd();
- common = p.getLowestContainer();
- } else {
- common = EditModelQuery.getInstance().getCommonAncestor(start, end);
- }
- // Here we insert some code to avoid creating tags duplicated. but these
- // are not the entire cases.
- // if (Arrays.asList(_groupTags).contains(common.getNodeName()))
- if (EditModelQuery.containItem(_groupTags, common, true)) {
- start = DOMPositionHelper.toDOMRefPosition(start);
- end = DOMPositionHelper.toDOMRefPosition(end);
- Node parent = common.getParentNode();
- EditModelQuery.copyChildren(common, parent);
- common.getParentNode().removeChild(common);
- return new DOMRange(start, end);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange range) {
- return removeExistingStyles(range.getStartPosition(), range
- .getEndPosition());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/PasteCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/PasteCommand.java
deleted file mode 100644
index 5ec0958c7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/PasteCommand.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class PasteCommand extends RangeModeCommand {
-
- /**
- * @param viewer
- */
- public PasteCommand(IHTMLGraphicalViewer viewer) {
- super(CommandResources.getString("PasteCommand.Label.Paste"), viewer); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange selection) {
- InsertEdit edit = new InsertEdit(selection, getViewer(),
- new ClipboardData(getViewer().getControl()));
- if (edit.operate()) {
- return new DOMRange(edit.getOperationPosition(), edit
- .getOperationPosition());
- }
- return selection;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/RangeModeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/RangeModeCommand.java
deleted file mode 100644
index 07ce127c1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/RangeModeCommand.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public abstract class RangeModeCommand extends DesignerCommand {
-// private static final Logger _log = PDPlugin
-// .getLogger(RangeModeCommand.class);
-
- DOMRange _resultRange = null;
-
- /**
- * @param label
- * @param viewer
- */
- public RangeModeCommand(String label, IHTMLGraphicalViewer viewer) {
- super(label, viewer);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#prePreExecute()
- */
- protected boolean prePreExecute() {
- int position = -1;
- int length = -1;
- ISelection selection = getViewer().getSelection();
- if (selection != null) {
- if (getViewer().isInRangeMode()) {
- DesignRange range = (DesignRange) selection;
- if (range.isValid()) {
- IDOMPosition domPos = DOMPositionHelper.toDOMPosition(range
- .getStartPosition());
- IDOMPosition domEnd = DOMPositionHelper.toDOMPosition(range
- .getEndPosition());
- if (!EditValidateUtil.validPosition(domPos)
- || !EditValidateUtil.validPosition(domEnd)) {
- return false;
- }
- position = EditModelQuery.getIndexedRegionLocation(domPos);
- int end = EditModelQuery.getIndexedRegionLocation(domEnd);
- if (end < position) {
- length = position - end;
- position = end;
- } else {
- length = end - position;
- }
- }
- } else {
- Object object = ((IStructuredSelection) selection)
- .getFirstElement();
- if (object instanceof ElementEditPart) {
- Node node = ((ElementEditPart) object).getIDOMNode();
- position = EditModelQuery.getNodeStartIndex(node);
- length = EditModelQuery.getNodeLenth(node);
- } else {
- return false;
- }
- }
- if (position >= 0 && length >= 0) {
- getModel().beginRecording(this, getLabel(), position, length);
- } else {
- getModel().beginRecording(this, getLabel());
- }
- getViewer().startSelectionChange();
- getModel().aboutToChangeModel();
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected final void doExecute() {
- DesignRange range = getViewer().getRangeSelection();
- if (range != null && range.isValid()) {
- DOMRange domrange = (range == null || !range.isValid()) ? null
- : toDOMRange(range);
- _resultRange = doRangeExecute(domrange);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected final ISelection getAfterCommandDesignerSelection() {
-// try {
- if (_resultRange == null) {
- return null;
- }
- IDOMPosition startPos = _resultRange.getStartPosition();
- DesignPosition start = DOMPositionHelper.toDesignPosition(startPos);
- if (_resultRange.isEmpty()) {
- return new DesignRange(start, start);
- }
- IDOMPosition endPos = _resultRange.getEndPosition();
- return new DesignRange(start, DOMPositionHelper
- .toDesignPosition(endPos));
- // TODO: don't know what this exception catch is for
-// } catch (Exception e) {
-// // "Selection error"
-// _log.error("Error.RangeModeCommand.SetSelection"); //$NON-NLS-1$
-// return null;
-// }
- }
-
- /**
- * @param range
- * @return
- */
- private DOMRange toDOMRange(DesignRange range) {
- return new DOMRange(DOMPositionHelper.toDOMPosition(range
- .getStartPosition()), DOMPositionHelper.toDOMPosition(range
- .getEndPosition()));
- }
-
- /**
- * In the implementation of this method, should not do anything relating to
- * EditPart. (maybe even not ICSSStyle, since not style information not
- * refreshed yet)
- * @param selection
- *
- * @return null means no change have been done to the model. In this case,
- * system may choose to cancel undo recorrding, etc.
- */
- protected abstract DOMRange doRangeExecute(DOMRange selection);
-
- /**
- * @param parent
- * @param ref
- * @param child
- */
- protected static void appendChild(Node parent, Node ref, Node child) {
- Node next = ref.getNextSibling();
- if (next == null)
- parent.appendChild(child);
- else
- parent.insertBefore(child, next);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/SelectAllCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/SelectAllCommand.java
deleted file mode 100644
index 411801622..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/SelectAllCommand.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.JSFRootContainerPositionRule;
-import org.eclipse.jst.pagedesigner.validation.caret.RootContainerPositionRule;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Called in response to a Ctrl-A-style select all action
- *
- */
-public class SelectAllCommand extends Command {
- private IHTMLGraphicalViewer _viewer;
-
- /**
- * @param label
- * @param viewer
- */
- public SelectAllCommand(String label, IHTMLGraphicalViewer viewer) {
- super(label);
- _viewer = viewer;
- }
-
- public void execute() {
- Node document = _viewer.getModel().getDocument();
- IMovementMediator validator = new InlineEditingNavigationMediator(
- new ActionData(ActionData.KEYBOARD_NAVAGATION, null));
- Node htmlRoot = RootContainerPositionRule
- .getBasicContainer((Document) document);
- Node jsfRoot = JSFRootContainerPositionRule
- .getBasicContainer((Document) document, 3);
- Node root;
- if (htmlRoot != null && jsfRoot != null) {
- if (EditModelQuery.isChild(htmlRoot, jsfRoot)) {
- root = htmlRoot;
- } else if (EditModelQuery.isChild(jsfRoot, htmlRoot)) {
- root = jsfRoot;
- } else {
- root = htmlRoot;
- }
- } else {
- if (htmlRoot != null) {
- root = htmlRoot;
- } else if (jsfRoot != null) {
- root = jsfRoot;
- } else {
- root = document;
- }
- }
- IDOMPosition position1, position2;
- // if (root.hasChildNodes())
- // {
- // Node first = root.getFirstChild();
- // position1 = new DOMRefPosition(first, false);
- // Node last = root.getLastChild();
- // position2 = new DOMRefPosition(last, true);
- // }
- // else
- // {
- position1 = new DOMPosition(root, 0);
- position2 = new DOMPosition(root, root.getChildNodes().getLength());
- // }
- if (!validator.isValidPosition(position1)) {
- position1 = EditHelper.moveToNextEditPosition(position1, true,
- validator);
- }
- if (!validator.isValidPosition(position2)) {
- position2 = EditHelper.moveToNextEditPosition(position2, false,
- validator);
- }
- if (EditValidateUtil.validPosition(position1)
- && EditValidateUtil.validPosition(position2)) {
- _viewer.setRange(DOMPositionHelper.toDesignPosition(position1),
- DOMPositionHelper.toDesignPosition(position2));
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/UnapplyStyleCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/UnapplyStyleCommand.java
deleted file mode 100644
index b2c05e482..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/UnapplyStyleCommand.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class UnapplyStyleCommand extends ApplyStyleCommand {
- /**
- * @param viewer
- * @param tag
- * @param property
- * @param value
- */
- public UnapplyStyleCommand(IHTMLGraphicalViewer viewer, String tag,
- String property, String value) {
- super(viewer, tag, property, value);
- }
-
- /**
- * @param viewer
- * @param node
- * @param property
- * @param value
- */
- public UnapplyStyleCommand(IHTMLGraphicalViewer viewer, Element node,
- String property, String value) {
- super(viewer, node, property, value);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.range.RangeModeCommand#doRangeExecute(org.eclipse.jst.pagedesigner.dom.DOMRange)
- */
- protected DOMRange doRangeExecute(DOMRange range) {
- if (range == null || range.isEmpty()) {
- return null;
- }
-
- boolean ordered = range.isOrdered();
- IDOMPosition start = ordered ? range.getStartPosition() : range
- .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
-
- Node common = DOMUtil.findCommonAncester(start.getContainerNode(), end
- .getContainerNode());
- if (common == null) {
- // should not happen.
- return null;
- }
-
- if (common instanceof Text) {
- doTextNodeStyleApply((Text) common, start.getOffset(), end
- .getOffset());
- }
-
- return null;
- }
-
- /**
- * @param start
- * @param end
- * @param common
- */
- private DOMRange doTextNodeStyleApply(Text textNode, int startOffset,
- int endOffset) {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/WorkNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/WorkNode.java
deleted file mode 100644
index a76f2be65..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/range/WorkNode.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.range;
-
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public final class WorkNode {
- private WorkNode parent;
-
- private WorkNode previous;
-
- private WorkNode next;
-
- private Node node;
-
- private final int pos[];
-
- private boolean isRoot;
-
- /**
- * @param node
- * @param pos1
- * @param pos2
- */
- public WorkNode(Node node, final int pos1, final int pos2) {
- this.pos = resoveOffsets(node, pos1, pos2);
- this.node = node;
- }
-
- /**
- * @return Returns the node.
- */
- public Node getNode() {
- return node;
- }
-
- /**
- * @param node
- * The node to set.
- */
- public void setNode(Node node) {
- this.node = node;
- }
-
- /**
- * @return the offsets
- */
- int[] getQualifiedOffsets() {
- int result[] = new int[] { getPosOffsets()[0], getPosOffsets()[1] };
- result[0] = result[0] < 0 ? 0 : result[0];
- int length = EditModelQuery.getNodeLenth(node);
- result[0] = result[0] > length ? length : result[0];
- result[1] = result[1] < 0 ? 0 : result[1];
- result[1] = result[1] > length ? length : result[1];
- return result;
- }
-
- /**
- * @return Returns the pos.
- */
- public int[] getPosOffsets() {
- return pos;
- }
-
- /**
- * @return Returns the isRoot.
- */
- public boolean isRoot() {
- return isRoot;
- }
-
- /**
- * @param isRoot
- * The isRoot to set.
- */
- public void setRoot(boolean isRoot) {
- this.isRoot = isRoot;
- }
-
- /**
- * @return Returns the next.
- */
- public WorkNode getNext() {
- return next;
- }
-
- /**
- * @param next
- * The next to set.
- */
- public void setNext(WorkNode next) {
- this.next = next;
- }
-
- /**
- * @return Returns the parent.
- */
- public WorkNode getParent() {
- return parent;
- }
-
- /**
- * @param parent
- * The parent to set.
- */
- public void setParent(WorkNode parent) {
- this.parent = parent;
- }
-
- /**
- * @return Returns the previous.
- */
- public WorkNode getPrevious() {
- return previous;
- }
-
- /**
- * @param previous
- * The previous to set.
- */
- public void setPrevious(WorkNode previous) {
- this.previous = previous;
- }
-
- private int[] resoveOffsets(Node node1, int pos1, int pos2) {
- int left = EditModelQuery.getNodeStartIndex(node1);
- return new int[] { pos1 - left, pos2 - left };
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("Node:").append(node).append(" pos[]:").append(pos); //$NON-NLS-1$ //$NON-NLS-2$
- return sb.toString();
- }
-
- boolean isWholeSelected() {
- int start = EditModelQuery.getNodeStartIndex(node);
- int end = EditModelQuery.getNodeEndIndex(node);
- return getQualifiedOffsets()[0] <= 0
- && getQualifiedOffsets()[1] >= end - start;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/AddSubNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/AddSubNodeCommand.java
deleted file mode 100644
index a099b9efd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/AddSubNodeCommand.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class AddSubNodeCommand extends SingleNodeCommand {
- private final IDOMElement _parent;
- private IDOMElement _child;
-
- private final String _tagName;
-
- private final String _url;
-
- private final Map _attributes;
-
- /**
- * @param label
- * @param node
- * @param name
- * @param url
- * @param attributs
- */
- public AddSubNodeCommand(String label, IDOMElement node, String name,
- String url, Map attributs) {
- super(label, node);
- this._parent = node;
- this._tagName = name;
- this._url = url;
- this._attributes = attributs;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- String prefix = JSPUtil.getOrCreatePrefix(_parent.getModel(), _url,
- null);
- _child = (IDOMElement) _parent.getOwnerDocument().createElement(
- prefix + ":" + _tagName); //$NON-NLS-1$
- for (Iterator iterator = _attributes.keySet().iterator(); iterator
- .hasNext();) {
- String key = (String) iterator.next();
- String value = (String) _attributes.get(key);
- _child.setAttribute(key, value);
- }
- _parent.appendChild(_child);
- }
-
- /**
- * @return the child node
- */
- public IDOMElement getChildNode() {
- return _child;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeAttributeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeAttributeCommand.java
deleted file mode 100644
index 223f4ec59..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeAttributeCommand.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * This command is for change an single attribute of an IDOMElement. Normally
- * used by the properties view.
- *
- * @author mengbo
- */
-public class ChangeAttributeCommand extends SingleNodeCommand {
- private IDOMElement _element;
-
- private String _attrValue;
-
- private String _attrName;
-
- private Map _attributes;
-
- private boolean _keepEmptyAttribute = false;
-
- /**
- *
- * @param label
- * @param node
- * @param attrName
- * @param attrValue
- * if null means remove the specified attribute
- */
- public ChangeAttributeCommand(String label, IDOMElement node,
- String attrName, String attrValue) {
- super(label, node);
- _element = node;
- _attrName = attrName;
- _attrValue = attrValue;
- _attributes = null;
- }
-
- /** TODO: can these two constructors be merged?
- * @param label
- * @param node
- * @param attributes
- */
- public ChangeAttributeCommand(String label, IDOMElement node, Map attributes) {
- super(label, node);
- _element = node;
- _attributes = attributes;
- _attrName = null;
- _attrValue = null;
- }
-
- protected void doExecute() {
- if (_attrName != null) {
- updateElement(_attrName, _attrValue);
- } else if (_attributes != null) {
- for (Iterator iterator = _attributes.keySet().iterator(); iterator
- .hasNext();) {
- String name = (String) iterator.next();
- String value = (String) _attributes.get(name);
- if (isSameValue(value, _element.getAttribute(name))) {
- continue;
- }
- updateElement(name, value);
- }
- }
- }
-
- private void updateElement(String name, String value) {
- if (_element.hasAttribute(name) && isEmptyString(value)
- && !_keepEmptyAttribute) {
- _element.removeAttribute(name);
- }
- if (!isEmptyString(value) || _keepEmptyAttribute) {
- _element.setAttribute(name, value);
- }
- }
-
- private boolean isSameValue(String value1, String value2) {
- value1 = value1 == null ? "" : value1; //$NON-NLS-1$
- value2 = value2 == null ? "" : value2; //$NON-NLS-1$
- return value1.equals(value2);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.equals("")) { //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- /**
- * @return Returns the keepEmptyAttribute.
- */
- public boolean isKeepEmptyAttribute() {
- return _keepEmptyAttribute;
- }
-
- /**
- * @param keepEmptyAttribute
- * The keepEmptyAttribute to set.
- */
- public void setKeepEmptyAttribute(boolean keepEmptyAttribute) {
- this._keepEmptyAttribute = keepEmptyAttribute;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeStyleCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeStyleCommand.java
deleted file mode 100644
index 4a88c341e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeStyleCommand.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import java.util.Map;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ChangeStyleCommand extends SingleNodeCommand {
- private Map _styleProperties = null;
-
- private CSSPropertyContext _context = null;
-
- /**
- * @param node
- * @param map
- */
- public ChangeStyleCommand(IDOMElement node, Map map) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _styleProperties = map;
- }
-
- /**
- * @param node
- * @param context
- */
- public ChangeStyleCommand(IDOMElement node, CSSPropertyContext context) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _context = context;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- getOriginalElement().getModel().beginRecording(this);
- try {
- if (_styleProperties != null) {
- IDOMElement original = this.getOriginalElement();
- DOMStyleUtil.insertStyle(original, _styleProperties);
- } else if (_context != null) {
- ICSSStyleDeclaration styleDeclaration = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) getOriginalElement())
- .getStyle();
-
- if (styleDeclaration == null) {
- getOriginalElement().setAttribute(IJSFConstants.ATTR_STYLE,
- ""); //$NON-NLS-1$
- styleDeclaration = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) getOriginalElement())
- .getStyle();
- }
- _context.applyModified(styleDeclaration);
- }
- } finally {
- getOriginalElement().getModel().endRecording(this);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeTagCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeTagCommand.java
deleted file mode 100644
index 90a33b57d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeTagCommand.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Attr;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This is for command that changes an element's tagname and some attributes.
- *
- * @author mengbo
- */
-public class ChangeTagCommand extends SingleNodeCommand {
- private final IDOMElement _element;
-
- private final Map _attributes;
-
- private final boolean _moveContent;
-
- private String _uri;
-
- private String _localTag;
-
- private String _totalTag;
-
- /**
- * @param label
- * @param node
- * @param totaltag
- * @param attributes
- * @param movecontent
- */
- public ChangeTagCommand(String label, IDOMElement node, String totaltag,
- Map attributes, boolean movecontent) {
- super(label, node);
- this._element = node;
- this._totalTag = totaltag;
- this._attributes = attributes;
- this._moveContent = movecontent;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- String tag = null;
-
- if (_totalTag != null) {
- tag = _totalTag;
- } else {
- if (ITLDConstants.URI_HTML.equals(_uri)) {
- tag = _localTag;
- } else if (ITLDConstants.URI_JSP.equals(_uri)) {
- tag = "jsp:" + _localTag; //$NON-NLS-1$
- } else {
- tag = JSPUtil.getOrCreatePrefix(getModel(), _uri, null)
- + _localTag;
- }
- }
- // we need to remove the old element and create a new one with the new
- // tag.
- IDOMElement replacement = (IDOMElement) _element.getOwnerDocument()
- .createElement(tag);
- NamedNodeMap attrs = _element.getAttributes();
- for (int i = 0, n = attrs.getLength(); i < n; i++) {
- Attr a = (Attr) attrs.item(i);
- replacement.setAttribute(a.getName(), a.getValue());
- }
- if (_attributes != null) {
- for (Iterator iter = _attributes.keySet().iterator(); iter
- .hasNext();) {
- String name = (String) iter.next();
- String value = (String) _attributes.get(name);
- replacement.setAttribute(name, value);
- }
- }
- if (_moveContent) {
- NodeList nl = _element.getChildNodes();
- ArrayList list = new ArrayList();
- for (int i = 0, n = nl.getLength(); i < n; i++) {
- list.add(nl.item(i));
-
- }
- for (int i = 0, n = list.size(); i < n; i++) {
- replacement.appendChild((Node) list.get(i));
- }
- }
- _element.getParentNode().replaceChild(replacement, _element);
- setReplacedElement(replacement);
- }
-
- /**
- * @return the replacemd element
- */
- public IDOMElement getNewElement() {
- return getReplacedElment();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/InsertSubNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/InsertSubNodeCommand.java
deleted file mode 100644
index 7790c1756..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/InsertSubNodeCommand.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class InsertSubNodeCommand extends SingleNodeCommand {
- private IDOMElement _parent, _child, _refchild;
-
- /**
- * @param label
- * @param parent
- * @param child
- * @param refchild
- */
- public InsertSubNodeCommand(String label, IDOMElement parent,
- IDOMElement child, IDOMElement refchild) {
- super(label, parent);
- this._parent = parent;
- this._child = child;
- this._refchild = refchild;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- _parent.insertBefore(_child, _refchild);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/RemoveSubNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/RemoveSubNodeCommand.java
deleted file mode 100644
index 8ec630c72..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/RemoveSubNodeCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RemoveSubNodeCommand extends SingleNodeCommand {
- private IDOMElement _parent, _child;
-
- /**
- * @param label
- * @param parent
- * @param child
- */
- public RemoveSubNodeCommand(String label, IDOMElement parent,
- IDOMElement child) {
- super(label, parent);
- _parent = parent;
- _child = child;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#doExecute()
- */
- protected void doExecute() {
- _parent.removeChild(_child);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/SingleNodeCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/SingleNodeCommand.java
deleted file mode 100644
index 68f5db422..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/SingleNodeCommand.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.commands.single;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMRange;
-import org.eclipse.jst.pagedesigner.dom.DOMRangeHelper;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * This is the super class for those commands that change attribute or tag name
- * of a single element.
- *
- * This base class helps handles selection. As after the command, the editpart
- * may totally change, so it tried to remember the selection before command and
- * then restore it after the command.
- *
- * So the limitation to child class of this command is that: the command should
- * only change a single element node. It could remove the node and replace with
- * a new one, but should not touch other nodes.
- *
- * @author mengbo
- */
-public abstract class SingleNodeCommand extends DesignerCommand {
- List _structuredSelectedNodes = null;
-
- DOMRange _rangeSelection = null;
-
- IDOMElement _originalElement;
-
- IDOMElement _replacement;
-
- /**
- * @param label
- * @param node
- */
- public SingleNodeCommand(String label, IDOMElement node) {
- super(label, node);
- _originalElement = node;
- }
-
- protected void preExecute() {
- super.preExecute();
- // remember current selection
- ISelection selection = getViewer().getSelection();
- if (selection instanceof IStructuredSelection) {
- Object[] array = ((IStructuredSelection) selection).toArray();
- _structuredSelectedNodes = new ArrayList();
- if (array != null) {
- for (int i = 0; i < array.length; i++) {
- EditPart part = (EditPart) array[i];
- _structuredSelectedNodes.add(part.getModel());
- }
- }
- } else if (selection instanceof DesignRange) {
- DesignRange range = (DesignRange) selection;
- _rangeSelection = DOMRangeHelper.toDOMRange(range);
- }
- }
-
- /**
- * this method is to be called by child class in the doExecute() method.
- * Telling the super class that the original element will be replaced by the
- * specified element.
- *
- * @param ele
- */
- protected void setReplacedElement(IDOMElement ele) {
- _replacement = ele;
- }
-
- /**
- * @return the replacement element
- */
- protected IDOMElement getReplacedElment() {
- return _replacement;
- }
-
- /**
- * @return the original element
- */
- protected IDOMElement getOriginalElement() {
- return _originalElement;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.DesignerCommand#getAfterCommandDesignerSelection()
- */
- protected final ISelection getAfterCommandDesignerSelection() {
- if (_structuredSelectedNodes != null) {
- // handle replacement fire.
- if (_replacement != null && _replacement != _originalElement) {
- int index = _structuredSelectedNodes.indexOf(_originalElement);
- if (index >= 0) {
- _structuredSelectedNodes.set(index, _replacement);
- }
- }
-
- // as the editpart may have been refreshed, so recreated the
- // selection
- List parts = new ArrayList();
- for (int i = 0, size = _structuredSelectedNodes.size(); i < size; i++) {
- Object obj = _structuredSelectedNodes.get(i);
- if (obj instanceof INodeNotifier) {
- EditPart part = (EditPart) ((INodeNotifier) obj)
- .getAdapterFor(EditPart.class);
- if (part != null)
- parts.add(part);
- }
- }
- StructuredSelection sel = new StructuredSelection(parts);
- return sel;
- } else if (_rangeSelection != null) {
- DOMRange newrange = handleReplacement(_rangeSelection,
- _originalElement, _replacement);
- return DOMRangeHelper.toDesignRange(newrange);
- } else {
- return null;
- }
- }
-
- private DOMRange handleReplacement(DOMRange selection,
- IDOMElement original, IDOMElement replacement) {
- if (replacement == null || replacement == original)
- return selection;
- return DOMRangeHelper.handleReplacement(selection, original,
- replacement);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/AbstractTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/AbstractTagConverter.java
deleted file mode 100644
index bfdc0c304..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/AbstractTagConverter.java
+++ /dev/null
@@ -1,497 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.preview.PageExpressionContext;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * This is base class for all non-hidden tag converters.
- *
- * @author mengbo
- * @version 1.5
- */
-public abstract class AbstractTagConverter implements ITagConverter,
- ITagEditInfo, INodeAdapter, IDOMFactory {
- private IDOMDocument _targetDocument;
-
- private Element _hostElement;
-
- private Element _resultElement;
-
- private List _childNodes = Collections.EMPTY_LIST;
-
- private Map _childNodePositions = Collections.EMPTY_MAP;
-
- private int _mode;
-
- private int _minWidth;
-
- private int _minHeight;
-
- private boolean _needBorderDecorator;
-
- /**
- * @param host
- *
- */
- public AbstractTagConverter(Element host) {
- _hostElement = host;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#setTargetDocument(org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument)
- */
- public void setDestDocument(IDOMDocument document) {
- _targetDocument = document;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#convertRefresh(java.lang.Object)
- */
- public final void convertRefresh(Object context) {
- _resultElement = null;
- _childNodes = new ArrayList();
- _childNodePositions = new HashMap();
-
- _resultElement = doConvertRefresh();
- if (_resultElement instanceof INodeNotifier) {
- ((INodeNotifier) _resultElement).addAdapter(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // do nothing.
- }
-
- /**
- * Child class should override this method. The child class should NEVER
- * change the host DOM structure.
- *
- * @return the convert result. Should be an HTML element.
- */
- protected abstract Element doConvertRefresh();
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getHostElement()
- */
- public final Element getHostElement() {
- return _hostElement;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getResultElement()
- */
- public final Element getResultElement() {
- return _resultElement;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getChildModeList()
- */
- public final List getChildModeList() {
- return _childNodes;
- }
-
-
- public List getNonVisualChildren()
- {
- // by default, no non-visual children
- return Collections.EMPTY_LIST;
- }
-
- /**
- * child class should call this method.
- *
- * @param childNode
- * the childNode of the hostElement that should be futher
- * converted.
- * @param position
- *
- */
- protected void addChild(Node childNode, ConvertPosition position) {
- _childNodes.add(childNode);
- _childNodePositions.put(childNode, position);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getChildVisualPosition(org.w3c.dom.Node)
- */
- public final ConvertPosition getChildVisualPosition(Node childModel) {
- return (ConvertPosition) _childNodePositions.get(childModel);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isVisualByHTML()
- */
- public boolean isVisualByHTML() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getVisualImage()
- */
- public Image getVisualImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#dispose()
- */
- public void dispose() {
- // do nothing; children may wish to sub-class
- // TODO: null shared references?
- // this doesn't seem to be called by anybody..
- // need to review this
- }
-
- /**
- * @param node
- * @return true if the node should be ignored for conversion purposes
- */
- protected boolean shouldIgnore(Node node) {
- int nodeType = node.getNodeType();
- switch (nodeType) {
- case Node.TEXT_NODE:
- case Node.CDATA_SECTION_NODE:
- case Node.ELEMENT_NODE:
- return false;
- default:
- return true;
- }
-
- }
-
- /**
- * utility method for those converter that only converts the host tag's name
- * and directly copy children.
- * @param src
- * @param dest
- *
- */
- protected void copyChildren(Element src, Element dest) {
- Node node = src.getFirstChild();
- int index = 0;
- for (; node != null; node = node.getNextSibling()) {
- if (!shouldIgnore(node)) {
- addChild(node, new ConvertPosition(dest, index++));
- }
- }
- }
-
- /**
- * utility method for those converter that directly copy children.
- * @param src
- * @param dest
- *
- */
- protected void dumCopyChildren(Element src, Element dest) {
- Node node = src.getFirstChild();
- Document destDoc = dest.getOwnerDocument();
- for (; node != null; node = node.getNextSibling()) {
- if (!shouldIgnore(node)) {
- Node n = DOMUtil.cloneNodeDeepIgnoreError(destDoc, node);
- dest.appendChild(n);
- }
- }
- }
-
- /**
- * In the future, the conversion result HTML DOM tree could be in another
- * document.
- *
- * @return the destination document
- */
- public IDOMDocument getDestDocument() {
- if (this._targetDocument != null) {
- return this._targetDocument;
- }
- return (IDOMDocument) _hostElement.getOwnerDocument();
- }
-
- /**
- * shortcut method. Child class should always use this method to create a
- * result element.
- *
- * @param tagName
- * @return a new element named tagName
- */
- public Element createElement(String tagName) {
- return getDestDocument().createElement(tagName);
- }
-
- /**
- * shortcut method. Child class should always use this method to create a
- * text node.
- *
- * @param text
- * @return a new text node using text as the value
- */
- public Text createText(String text) {
- return getDestDocument().createTextNode(text);
- }
-
- /**
- * @param original
- * @return the mapped String TODO: currently does nothing
- */
- protected String mapURL(String original) {
- // TODO: how to map URL? such as original url look like:
- // getContext().getPath()+...
- return original;
- }
-
- // TODO: FIXME: XXX:
- // if the value is expression, we may want to do something here!!!
- /**
- * @param value
- * @return value mapped based on EL expression
- */
- protected String mapValue(String value) {
- if (value == null) {
- return null;
- }
- if (isDesignerMode()) {
- // if there has jsf binding expressions
- int checkPos = value.indexOf("#{"); //$NON-NLS-1$
- if (checkPos != -1) {
- String mapValue = ""; //$NON-NLS-1$
- int preferType = PreferenceReader.getMapValueType();
- switch (preferType) {
- case PreferenceReader.FULL_EXPRESSION_TYPE:
- mapValue = value;
- break;
- case PreferenceReader.LAST_EXPRESSION_TYPE:
- String strBackup = value;
- StringBuffer sb = new StringBuffer();
- while (strBackup.indexOf("#{") != -1) { //$NON-NLS-1$
- int pos = strBackup.indexOf("#{"); //$NON-NLS-1$
- int endBracketPos = strBackup.indexOf("}", pos + 1); //$NON-NLS-1$
- if (endBracketPos != -1) {
- sb.append(strBackup.substring(0, pos + 2));
- String exp = strBackup.substring(pos + 2,
- endBracketPos);
- if (allowTrim(exp)) {
- int lastDotPos = exp.lastIndexOf("."); //$NON-NLS-1$
- if (lastDotPos != -1) {
- String convertedExp = exp
- .substring(lastDotPos + 1);
- sb.append(convertedExp);
- } else {
- sb.append(exp);
- }
-
- } else {
- sb.append(exp);
- }
- sb.append("}"); //$NON-NLS-1$
- } else {
- break;
- }
- if (strBackup.length() > endBracketPos + 1) {
- strBackup = strBackup.substring(endBracketPos + 1);
- } else {
- strBackup = ""; //$NON-NLS-1$
- break;
- }
-
- }
- sb.append(strBackup);
- mapValue = sb.toString();
- break;
- case PreferenceReader.REAL_VALUE_TYPE:
- // TODO calculate the expression value
- default:
- mapValue = value;
- break;
- }
-
- return mapValue;
- }
- } else {
- // preview mode. let's try to display the value.
- try {
- return (String) PageExpressionContext.getCurrent()
- .evaluateExpression(value, String.class, null);
- } catch (Exception ex) {
- // can't calculate the result. ignore.
- // ex.printStackTrace();
- }
- }
- return value;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#needBorderDecorator()
- */
- public boolean needBorderDecorator() {
- return this._needBorderDecorator;
- }
-
- /**
- * @param b
- */
- public void setNeedBorderDecorator(boolean b) {
- this._needBorderDecorator = b;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#needTableDecorator()
- */
- public boolean needTableDecorator() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- if (type == ITagEditInfo.class) {
- return true;
- }
- return false;
- }
-
- /**
- * @param mode
- */
- public final void setMode(int mode) {
- this._mode = mode;
- }
-
- /**
- * @return true if the converter mode is preview
- */
- public final boolean isPreviewMode() {
- return this._mode == IConverterFactory.MODE_PREVIEW;
- }
-
- /**
- * @return true if the converter mode is designer
- */
- public final boolean isDesignerMode() {
- return this._mode == IConverterFactory.MODE_DESIGNER;
- }
-
- /**
- * @return the converter mode
- */
- public final int getMode() {
- return this._mode;
- }
-
- /**
- * The method is used to judge whether the value binding and method binding
- * expression is allowed to be trimmed.Currently only expression contains
- * only letter,digit,and '.' is allowed to be trimmed.
- *
- * @param expression
- * value binding or method binding expression
- * @return
- */
- private boolean allowTrim(String expression) {
- for (int i = 0, size = expression.length(); i < size; i++) {
- char ch = expression.charAt(i);
- if (!Character.isLetterOrDigit(ch) && (ch != '.') && (ch != '_')) {
- return false;
- }
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#getMinWidth()
- */
- public int getMinWidth() {
- return this._minWidth;
- }
-
- /**
- * @param minWidth
- */
- public void setMinWidth(int minWidth) {
- this._minWidth = minWidth;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#getMinHeight()
- */
- public int getMinHeight() {
- return this._minHeight;
- }
-
- /**
- * @param minHeight
- */
- public void setMinHeight(int minHeight) {
- this._minHeight = minHeight;
- }
-
- /**
- * @param element
- * @param attrname
- * @return the attribute on element with the name attrname
- */
- public static boolean hasAttribute(Element element, String attrname) {
- return element.hasAttribute(attrname);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConvertPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConvertPosition.java
deleted file mode 100644
index 130ec4074..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConvertPosition.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Node;
-
-/**
- * This class is used to locate a position for child model nodes.
- *
- * @author mengbo
- * @version 1.5
- */
-public class ConvertPosition {
- private final Node _parentNode;
-
- private final int _index;
-
- /**
- * @param parent \
- * @param index
- *
- */
- public ConvertPosition(Node parent, int index) {
- this._parentNode = parent;
- this._index = index;
- }
-
- /**
- * @return the parent node
- */
- public Node getParentNode() {
- return _parentNode;
- }
-
- /**
- * @return the index
- */
- public int getIndex() {
- return _index;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFacRegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFacRegistryReader.java
deleted file mode 100644
index 1560e2e5b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFacRegistryReader.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.PageDesignerTraceOptions;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ConverterFacRegistryReader {
- private static List<IConverterFactory> _handlers = null;
-
- /**
- * @return the list of handlers. The list is not modifiable and will
- * throw exceptions if it is attempted.
- */
- public static synchronized List<IConverterFactory> getAllHandlers() {
- if (_handlers == null) {
- _handlers = readAllHandlers();
- }
- return Collections.unmodifiableList(_handlers);
-
- }
-
- private static List<IConverterFactory> readAllHandlers()
- {
- final List<IConverterFactory> result = new ArrayList<IConverterFactory>();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++)
- {
- IExtension ext = extensions[i];
- IConfigurationElement[] tagConverter = ext
- .getConfigurationElements();
-
- for (int j = 0; j < tagConverter.length; j++)
- {
- final IConfigurationElement element = tagConverter[j];
-
- if (element.getName().equals(
- IJMTConstants.TAG_CONVERTER_FACTORY))
- {
- element.getAttribute("class"); //$NON-NLS-1$
- Object obj;
- try
- {
- obj = element.createExecutableExtension("class"); //$NON-NLS-1$
-
- if (element.getContributor().getName().startsWith(
- "org.eclipse.jst")) //$NON-NLS-1$
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERLOAD)
- {
- PageDesignerTraceOptions.log("ConverterFacRegistryReader: Appending to list:"+obj.getClass().getName()); //$NON-NLS-1$
- }
- // push JSF tools provided ones to the end
- result.add((IConverterFactory) obj);
- }
- // prepend if something outside JSF tools declared it
- else
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERLOAD)
- {
- PageDesignerTraceOptions.log("ConverterFacRegistryReader: Prepending to list:"+obj.getClass().getName()); //$NON-NLS-1$
- }
- // this way, adopters can put their overrides
- // of factories with built-in support like
- // JSF HTML/CORE will be used first
- result.add(0, (IConverterFactory) obj);
- }
-
- }
- catch (CoreException e)
- {
- PDPlugin.log("Problem loading tag converter extension for "+element.toString(), e); //$NON-NLS-1$
- }
- }
- }
- }
-
- if (PageDesignerTraceOptions.TRACE_CONVERTERLOAD)
- {
- PageDesignerTraceOptions.log("\nFinal converterFactory list in order:"); //$NON-NLS-1$
- for (final IConverterFactory factory : result)
- {
- PageDesignerTraceOptions.log(factory.getClass().getName());
- }
- PageDesignerTraceOptions.log("\n"); //$NON-NLS-1$
- }
- return result;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFactoryRegistry.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFactoryRegistry.java
deleted file mode 100644
index 53e4f1b65..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFactoryRegistry.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.PageDesignerTraceOptions;
-import org.eclipse.jst.pagedesigner.converter.html.HTMLConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.jsp.JSPConverterFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ConverterFactoryRegistry
-{
- List _factories = new ArrayList();
-
- private static ConverterFactoryRegistry _instance;
-
- /**
- *
- */
- private ConverterFactoryRegistry()
- {
- final List<IConverterFactory> facs = ConverterFacRegistryReader
- .getAllHandlers();
- if (facs != null)
- {
- for (final IConverterFactory fac : facs)
- {
- addFactory(fac);
- }
- }
- _factories.add(new JSPConverterFactory());
- _factories.add(new HTMLConverterFactory());
-
- // TODO: this is not ideal, but until we get a better system for
- // doing converter factory ordering:
- // loop through the list and place the DTManager
- }
-
- /**
- * @param fac
- */
- public void addFactory(final IConverterFactory fac)
- {
- _factories.add(fac);
- }
-
- /**
- * @param ele
- * @param mode
- * @param targetDocument
- * @return the new btag converter
- */
- public ITagConverter createTagConverter(final Element ele, final int mode,
- final IDOMDocument targetDocument)
- {
- final ITagConverter converter = internalCreateTagConverter(ele, mode);
- if (converter != null)
- {
- converter.setDestDocument(targetDocument);
- }
- return converter;
- }
-
- /**
- * @param ele
- * @param mode
- * @return the new tag converter
- */
- protected final ITagConverter internalCreateTagConverter(final Element ele,
- final int mode)
- {
- final String uri = CMUtil.getElementNamespaceURI(ele);
- // first round, match uri
- for (int i = 0, size = _factories.size(); i < size; i++)
- {
- final IConverterFactory fac = (IConverterFactory) _factories.get(i);
- final String facuri = fac.getSupportedURI();
- if (facuri != null && facuri.equals(uri))
- {
- final ITagConverter converter = fac.createConverter(ele, mode);
- if (converter != null)
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: first loop, " //$NON-NLS-1$
- + String
- .format(
- "Selected converter %s for uri=%s, tagname=%s", //$NON-NLS-1$
- converter.getClass()
- .getName(),
- uri, ele.getLocalName()));
- }
- return converter;
- }
- }
- }
- // second round
- for (int i = 0, size = _factories.size(); i < size; i++)
- {
- final IConverterFactory fac = (IConverterFactory) _factories.get(i);
- final String facuri = fac.getSupportedURI();
- if (facuri == null)
- {
- final ITagConverter converter = fac.createConverter(ele, mode);
- if (converter != null)
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: second loop, " //$NON-NLS-1$
- + String
- .format(
- "Selected converter %s for uri=%s, tagname=%s", //$NON-NLS-1$
- converter.getClass()
- .getName(),
- uri, ele.getLocalName()));
- }
- return converter;
- }
- }
- }
-
- // can't find. We need some default tag converter for it.
- // if the tag is empty, show it as icon.
- if (uri == null || ITLDConstants.URI_HTML.equals(uri))
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: factory not found, " //$NON-NLS-1$
- + String
- .format(
- "Selected DumTagConverter for uri=%s, tagname=%s", //$NON-NLS-1$
- uri, ele.getLocalName()));
- }
-
- // basically, for HTML or non JSP tag, directly renders it.
- return new DumTagConverter(ele);
- }
- final CMElementDeclaration decl = CMUtil.getElementDeclaration(ele);
- if (decl == null)
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: factory and decl not found, " //$NON-NLS-1$
- + String
- .format(
- "Selected DumTagConverter for uri=%s, tagname=%s", //$NON-NLS-1$
- uri, ele.getLocalName()));
- }
- return new DumTagConverter(ele);
- }
- final int contentType = decl.getContentType();
- if (contentType == CMElementDeclaration.EMPTY)
- {
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: factory not found, content is EMPTY, " //$NON-NLS-1$
- + String
- .format(
- "Selected HiddenTagConverter with UnknownImage for uri=%s, tagname=%s", //$NON-NLS-1$
- uri, ele.getLocalName()));
- }
-
- // if the tag is empty, show it as icon.
- return new HiddenTagConverter(ele, new LabelProvider()
- {
- @Override
- public Image getImage(final Object element)
- {
- return getUnknownImage();
- }
- });
- }
- if (PageDesignerTraceOptions.TRACE_CONVERTERSELECT)
- {
- PageDesignerTraceOptions
- .log("ConverterFactoryRegistry: fall-through to default case, " //$NON-NLS-1$
- + String
- .format(
- "Selected DefaultUnknownTagConverter with UnknownImage for uri=%s, tagname=%s", //$NON-NLS-1$
- uri, ele.getLocalName()));
- }
- return new DefaultUnknownTagConverter(ele, mode);
-
- }
-
- private static Image getUnknownImage()
- {
- return JSFUICommonPlugin.getDefault().getImage(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
- }
-
- /**
- * @return the singleton instance of the registry
- */
- public synchronized static ConverterFactoryRegistry getInstance()
- {
- if (_instance == null)
- {
- _instance = new ConverterFactoryRegistry();
- }
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterUtil.java
deleted file mode 100644
index 3b037107e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterUtil.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.Set;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ConverterUtil {
- /**
- *
- * @param source
- * @param dest
- * @param ignore
- */
- public static void copyAllAttributes(Element source, Element dest,
- Set ignore) {
- NamedNodeMap attrs = source.getAttributes();
- for (int i = 0, size = attrs.getLength(); i < size; i++) {
- Attr attr = (Attr) attrs.item(i);
- if (ignore == null || !ignore.contains(attr.getName())) {
- dest.setAttribute(attr.getName(), attr.getValue());
- }
- }
- }
-
- /**
- * copy a single attribute (if exist)
- *
- * @param source
- * @param srcattr
- * @param dest
- * @param destattr
- */
- public static void copyAttribute(Element source, String srcattr,
- Element dest, String destattr) {
- Attr attr = source.getAttributeNode(srcattr);
- if (attr != null) {
- dest.setAttribute(destattr, attr.getValue());
- }
- }
-
- /**
- * @param hostElement
- * @return true if hostElement represents an empty container
- */
- public static boolean isEmptyContainer(Element hostElement) {
- NodeList nl = hostElement.getChildNodes();
- if (nl == null || nl.getLength() == 0) {
- return true;
- }
-
- for (int i = 0, n = nl.getLength(); i < n; i++) {
- Node node = nl.item(i);
- if (!(node instanceof IDOMText)) {
- return false;
- }
- if (!((IDOMText) node).isElementContentWhitespace()) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param document
- * @param text
- * @return the description element in the document containing text
- */
- public static Element createDescriptionElement(IDOMDocument document,
- String text) {
- if (document == null) {
- return null;
- }
- Element span = document.createElement(IHTMLConstants.TAG_SPAN);
- span.setAttribute(
- "style", "color:gray;font-style:italic;font-size:normal;"); //$NON-NLS-1$ //$NON-NLS-2$
- if (text == null) {
- span.appendChild(document.createTextNode(PDPlugin
- .getResourceString("ConverterUtil.Description"))); //$NON-NLS-1$
- } else {
- span.appendChild(document.createTextNode(text));
- }
- return span;
- }
-
- /**
- * Method to find the resulting converted tag containing a given
- * source element. The converted element that will be
- * the parent tag is returned so the caller can then determine
- * if the parent is part of a table, header, body, footer, row,
- * cell, or some other element.
- *
- * @param srcElem the source element to test.
- * @param childElem a child of the source element (used by a
- * recursive call to handle special case where
- * it was moved up a level to the child model
- * list of the grandparent).
- * @return a converted element of the type that will contain the
- * source element.
- */
- static Node findConvertedParentElement(Element srcElem, Element childElem) {
- Node parent = srcElem.getParentNode();
- if ((parent == null) || !(parent instanceof Element)) {
- return null;
- }
-
- String name = parent.getNodeName();
- if (IHTMLConstants.TAG_HTML.equalsIgnoreCase(name)
- || IHTMLConstants.TAG_BODY.equalsIgnoreCase(name)) {
- return null;
- }
-
- ITagConverter converter = createTagConverter((Element) parent);
- if (!converter.isVisualByHTML()) {
- return null;
- }
-
- converter.convertRefresh(null);
- ConvertPosition position = null;
- if (childElem != null) {
- // If a child node (grand child of current parent) was
- // passed in, check for its position. It may have been
- // moved up a level to child model list of the current
- // parent. In JSF this is done with a header or
- // footer facet tag in a column tag for a dataTable.
- position = converter.getChildVisualPosition(childElem);
- }
- if (position == null) {
- position = converter.getChildVisualPosition(srcElem);
- }
- if (position != null) {
- // return the node that will contain the visual
- // child and then the caller can check to see if this
- // element is table mark-up.
- return position.getParentNode();
- }
-
- // The current source element is not in the child model
- // list for the converted parent so recurse to next
- // ancestor and pass source element to see if it has been
- // moved up a level as child model of the grandparent.
- return findConvertedParentElement((Element) parent, srcElem);
- }
-
- private static ITagConverter createTagConverter(Element ele) {
- return DTManager.getInstance().getTagConverter(ele,
- IConverterFactory.MODE_DESIGNER, null);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DefaultUnknownTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DefaultUnknownTagConverter.java
deleted file mode 100644
index e0a2af295..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DefaultUnknownTagConverter.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * This tag converter is for those unsupported jsp tags.
- *
- * @author mengbo
- * @version 1.5
- */
-public class DefaultUnknownTagConverter extends AbstractTagConverter {
-
- private static final int NO_ELEMENT = 0;
- private static final int TABLE_ELEMENT = 1;
- private static final int TABLE_ROW_ELEMENT = 2;
-
- /**
- * @param host
- * @param mode
- */
- public DefaultUnknownTagConverter(Element host, int mode) {
- super(host);
- setMode(mode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element hostEle = this.getHostElement();
-
- // Test to see if the src element is contained in an
- // element that renders as a table. If so, render this
- // element accordingly as content in the table.
- // This is done to address the use case where tags
- // (such as JSTL) are used in collaboration within HTML
- // tables. The CSS layout for tables does not handle
- // invalid HTML so this change tries to produce valid
- // HTML. If the table layout code gets updated to handle
- // invalid HTML tables, then this code can be removed.
- // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=253974
- Node containingElement = ConverterUtil.findConvertedParentElement(hostEle, null);
- String name = null;
- if (containingElement != null) {
- name = containingElement.getNodeName();
- }
- if (name != null) {
- if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(name)
- || IHTMLConstants.TAG_TBODY.equalsIgnoreCase(name)
- || IHTMLConstants.TAG_TFOOT.equalsIgnoreCase(name)) {
- // this element is contained in a table, tbody or tfoot
- return renderAsTableRow(hostEle, false, TABLE_ELEMENT);
- } else if (IHTMLConstants.TAG_THEAD.equalsIgnoreCase(name)) {
- // this element is contained in a thead
- return renderAsTableRow(hostEle, true, TABLE_ELEMENT);
- } else if (IHTMLConstants.TAG_TR.equalsIgnoreCase(name)) {
- // this element is contained in a tr
- return renderAsTableCell(hostEle, false, TABLE_ROW_ELEMENT);
- }
- }
-
- // Otherwise, use the default rendering for an unknown tag
- return renderDefault(hostEle, NO_ELEMENT);
- }
-
- private Element renderDefault(Element hostEle, int tableElement) {
- // rendering for host element not contained in a table
- Element divEle = createElement("div"); //$NON-NLS-1$
- String style = DOMUtil.getAttributeIgnoreCase(hostEle, "style"); //$NON-NLS-1$
- if (style == null) {
- style = ""; //$NON-NLS-1$
- }
- if (style.length() > 0 && !style.endsWith(";")) { //$NON-NLS-1$
- style += ";"; //$NON-NLS-1$
- }
- style += "border: none; padding: 0; margin: 0"; //$NON-NLS-1$
- divEle.setAttribute("style", style); //$NON-NLS-1$
- Element div2 = createElement("span"); //$NON-NLS-1$
- String border = isPreviewMode() ? "border-style: solid;border-width: 1px" : "border:none"; //$NON-NLS-1$ //$NON-NLS-2$
- div2.setAttribute("style", "background-color: white;"+border+";color:gray"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Text txt = createText(hostEle.getTagName());
- div2.appendChild(txt);
-
- divEle.appendChild(div2);
-
- Element childContainer = null;
- switch (tableElement) {
- case TABLE_ELEMENT:
- childContainer = createElement(IHTMLConstants.TAG_TABLE);
- copyChildren(getHostElement(), childContainer);
- break;
- case TABLE_ROW_ELEMENT:
- childContainer = createElement(IHTMLConstants.TAG_TABLE);
- Element trElem = createElement(IHTMLConstants.TAG_TR);
- childContainer.appendChild(trElem);
- copyChildren(getHostElement(), trElem);
- break;
- case NO_ELEMENT:
- default:
- childContainer = createElement("div"); //$NON-NLS-1$
- childContainer.setAttribute("style", "margin: 0; padding: 0"); //$NON-NLS-1$ //$NON-NLS-2$
- copyChildren(getHostElement(), childContainer);
- break;
- }
-
- divEle.appendChild(childContainer);
-
- return divEle;
- }
-
- /*
- * Creates a table row, and adds either a table cell (data
- * or a header depending on the boolean flag).
- */
- private Element renderAsTableRow(Element hostEle, boolean isHeader, int tableElement) {
- Element trElem = createElement(IHTMLConstants.TAG_TR);
- Element tdElem = renderAsTableCell(hostEle, isHeader, tableElement);
- trElem.appendChild(tdElem);
- return trElem;
- }
-
- /*
- * Creates a table cell, as either data or a header depending
- * on the boolean flag.
- */
- private Element renderAsTableCell(Element hostEle, boolean isHeader, int tableElement) {
- Element tdElem = null;
- if (isHeader) {
- tdElem = createElement(IHTMLConstants.TAG_TH);
- } else {
- tdElem = createElement(IHTMLConstants.TAG_TD);
- }
- tdElem.appendChild(renderDefault(hostEle, tableElement));
- return tdElem;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#needBorderDecorator()
- */
- public boolean needBorderDecorator() {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDeepTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDeepTagConverter.java
deleted file mode 100644
index 0a56b529f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDeepTagConverter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DumDeepTagConverter extends AbstractTagConverter {
-
- /**
- * @param host
- */
- public DumDeepTagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- return (Element) DOMUtil.cloneNodeDeepIgnoreError(getDestDocument(),
- getHostElement());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- // TODO: dead?
-// private boolean internalIsWidget(Element result) {
-// String tagname = result.getTagName();
-// if (IHTMLConstants.TAG_INPUT.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_SELECT.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_TEXTAREA.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_IMG.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_HEAD.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_SCRIPT.equalsIgnoreCase(tagname)
-// || IHTMLConstants.TAG_LINK.equalsIgnoreCase(tagname)) {
-// return true;
-// } else {
-//
-// return false;
-// }
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDescriptionTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDescriptionTagConverter.java
deleted file mode 100644
index 2221a5279..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumDescriptionTagConverter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DumDescriptionTagConverter extends AbstractTagConverter {
- /**
- * @param host
- */
- public DumDescriptionTagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element result = createElement(getHostElement().getTagName());
- ConverterUtil.copyAllAttributes(getHostElement(), result, null);
- copyChildren(getHostElement(), result);
-
- if (!this.isPreviewMode()
- && ConverterUtil.isEmptyContainer(getHostElement())) {
- result.appendChild(ConverterUtil.createDescriptionElement(
- getDestDocument(), null));
- }
-
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumTagConverter.java
deleted file mode 100644
index 455bc85f5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DumTagConverter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DumTagConverter extends AbstractTagConverter {
- /**
- * @param host
- * @param needBorder
- */
- public DumTagConverter(Element host, boolean needBorder) {
- this(host);
- this.setNeedBorderDecorator(needBorder);
- }
-
- /**
- * @param host
- */
- public DumTagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element result = createElement(getHostElement().getTagName());
- ConverterUtil.copyAllAttributes(getHostElement(), result, null);
- if (!internalIsWidget(result)) {
- copyChildren(getHostElement(), result);
- } else {
- dumCopyChildren(getHostElement(), result);
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- if (isWidget()) {
- return true;
- }
- return false;
- }
-
- /**
- * @param result
- * @return
- */
- private boolean internalIsWidget(Element result) {
- String tagname = result.getTagName();
- if (IHTMLConstants.TAG_INPUT.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_SELECT.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_TEXTAREA.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_IMG.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_OBJECT.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_HEAD.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_SCRIPT.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_LINK.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_BR.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_STYLE.equalsIgnoreCase(tagname)
- || IHTMLConstants.TAG_HR.equalsIgnoreCase(tagname)) {
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return internalIsWidget(getResultElement());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HTMLStringTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HTMLStringTagConverter.java
deleted file mode 100644
index 1a3b711a7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HTMLStringTagConverter.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * For some tag, could generate some XML code.
- *
- * @author mengbo
- * @version 1.5
- */
-public abstract class HTMLStringTagConverter extends AbstractTagConverter {
-
- static Logger _log = PDPlugin.getLogger(HTMLStringTagConverter.class);
-
- /**
- * @param host
- */
- public HTMLStringTagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- // following are XML implementation. Assume the string is welformed HTML
- // try
- // {
- // String html = getGeneratedHTML();
- // DocumentBuilder builder =
- // DocumentBuilderFactory.newInstance().newDocumentBuilder();
- // Element result = builder.parse(new InputSource(new
- // StringReader(html))).getDocumentElement();
- // return (Element)DOMUtil.cloneNodeDeep(this.getDestDocument(),
- // result);
- // }
- // catch(Exception ex)
- // {
- // Element temp = createElement("div");
- // temp.appendChild(createText("ERROR: "+ex.getMessage()));
- // return temp;
- // }
- InputStream stream = null;
- try {
- String id = "" + System.currentTimeMillis() + ".html"; //$NON-NLS-1$ //$NON-NLS-2$
- IModelManager manager = StructuredModelManager.getModelManager();
- stream = new ByteArrayInputStream(getGeneratedHTML().getBytes());
- IDOMModel model = (IDOMModel) manager.getModelForRead(id, stream,
- null);
- Element root = model.getDocument().getDocumentElement();
- Element resultEle = (Element) DOMUtil.cloneNodeDeepIgnoreError(
- getDestDocument(), root);
- model.releaseFromRead();
- return resultEle;
- } catch (Exception ex) {
- _log.error("Log.Error.HTMLStringTagConverter.Error", ex); //$NON-NLS-1$
- Element temp = createElement("div"); //$NON-NLS-1$
- temp.appendChild(createText("Error loading: " + ex.getMessage())); //$NON-NLS-1$
- return temp;
- } finally {
- ResourceUtils.ensureClosed(stream);
- }
- }
-
- /**
- * @return the generated HTML string
- * @throws Exception
- */
- public abstract String getGeneratedHTML() throws Exception;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter.java
deleted file mode 100644
index 51a6c1dff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This is for those tags that don't convert to HTML. So they will not display
- * anything in preview, and will display a small icon in designer.
- *
- * @author mengbo
- * @version 1.5
- */
-public class HiddenTagConverter implements ITagConverter {
- private Element _hostElement;
-
- private ILabelProvider _labelProvider;
-
- private int _mode;
-
- /**
- * @param host
- * @param labelProvider
- *
- */
- public HiddenTagConverter(Element host, ILabelProvider labelProvider) {
- _hostElement = host;
- //_image = image;
- _labelProvider = labelProvider;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#setDestDocument(org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument)
- */
- public void setDestDocument(IDOMDocument document) {
- // do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#convertRefresh(java.lang.Object)
- */
- public void convertRefresh(Object context) {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getHostElement()
- */
- public Element getHostElement() {
- return _hostElement;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isVisualByHTML()
- */
- public boolean isVisualByHTML() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getVisualImage()
- */
- public Image getVisualImage() {
- // defer the creation of the image until it is needed
- return _labelProvider.getImage(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getResultElement()
- */
- public Element getResultElement() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getChildModeList()
- */
- public List getChildModeList() {
- return Collections.EMPTY_LIST;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#getChildVisualPosition(org.w3c.dom.Node)
- */
- public ConvertPosition getChildVisualPosition(Node childModel) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.visualtag.ITagConverter#dispose()
- */
- public void dispose() {
- // do nothing
- // TODO: dispose of image or Element here?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#setMode(int)
- */
- public void setMode(int mode) {
- this._mode = mode;
- }
-
- /**
- * @return the mode
- */
- public int getMode() {
- return _mode;
- }
-
- public List getNonVisualChildren() {
- return Collections.EMPTY_LIST;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter2.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter2.java
deleted file mode 100644
index f51af222d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/HiddenTagConverter2.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * HiddenTagConverter2 is similiar to HiddenTagConverter, with the following
- * difference:
- *
- * <ol>
- * <li>HiddenTagConverter2 will copy the DOM sub tree to the destination
- * document.</li>
- * </ol>
- *
- * TODO: this the wrong way to do this. This should sub-class HiddenTagConverter
- *
- * @author mengbo
- * @version 1.5
- */
-public class HiddenTagConverter2 extends AbstractTagConverter {
-
- private Image _image;
-
- /**
- * @param host
- * @param image
- */
- public HiddenTagConverter2(Element host, Image image) {
- super(host);
- this._image = image;
- }
-
- protected Element doConvertRefresh() {
- return (Element) DOMUtil.cloneNodeDeepIgnoreError(getDestDocument(),
- getHostElement());
- }
-
- public boolean isVisualByHTML() {
- return false;
- }
-
- public Image getVisualImage() {
- return _image;
- }
-
- public boolean isMultiLevel() {
- return true;
- }
-
- public boolean isWidget() {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IConverterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IConverterFactory.java
deleted file mode 100644
index f8aebf263..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IConverterFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface IConverterFactory {
- /**
- * indicates designer mode
- */
- public static final int MODE_DESIGNER = 0;
-
- /**
- * indicates preview mode
- */
- public static final int MODE_PREVIEW = 1;
-
- /**
- *
- * @param element
- * @param mode
- * @return null if this factory don't support this element
- */
- public ITagConverter createConverter(Element element, int mode);
-
- /**
- * get the URI namespace that this factory support. "null" means this
- * factory can be used as default factory.
- *
- * @return null if this factory don't have a specific URI to support.
- */
- public String getSupportedURI();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IDOMFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IDOMFactory.java
deleted file mode 100644
index 3e3d374ed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/IDOMFactory.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-/**
- * Factory interface. AbstractTagConverter will implement it.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface IDOMFactory {
- /**
- * create element
- *
- * @param tag
- * @return a new element using tag as its name
- */
- public Element createElement(String tag);
-
- /**
- * create text node
- *
- * @param content
- * @return a new text node using content as its body
- */
- public Text createText(String content);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ITagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ITagConverter.java
deleted file mode 100644
index b5aea5362..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ITagConverter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * ITagConverter is used to convert a custom tag to a HTML tag. Each
- * ITagConverter instance will be dedicated to a single custom tag element.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface ITagConverter {
- /**
- * Set the target document where the converted node should belong to.
- *
- * @param document
- */
- public void setDestDocument(IDOMDocument document);
-
- /**
- * refresh the internal state of this ITagConverter. This method normally is
- * called when the host element change.
- *
- * @param context
- */
- public void convertRefresh(Object context);
-
- /**
- * @return The host element being converted.
- */
- public Element getHostElement();
-
- /**
- * for some tags, they don't convert to HTML. In that case, this method
- * should return false for them. And if this method return false, then
- * should return an image in <code>getVisualImage()</code> for displaying
- * in the designer.
- *
- * @return true if the tag represents something that will be rendered visually at runtime
- */
- public boolean isVisualByHTML();
-
- /**
- * if isVisualByHTML() return false, then this method should return an image
- * to be displayed in designer.
- *
- * Normally this image will be a shared image for those hidden elements. It
- * is this class's responsibility to dispose the image if the image is not a
- * shared one.
- *
- * @return the placeholder image for non-visual tags
- */
- public Image getVisualImage();
-
- /**
- * @return the result element after conversion
- */
- public Element getResultElement();
-
- /**
- * @return the list of children that should be continuely converted.
- */
- public List getChildModeList();
-
- /**
- * @return a list of Element tags that map to non-visual children
- * Type should be always be Element.
- */
- public List getNonVisualChildren();
-
- /**
- * For child nodes that need further convert, return their position in the
- * converted DOM tree.
- *
- * @param childModel
- * @return the position of child nodes
- */
- public ConvertPosition getChildVisualPosition(Node childModel);
-
- /**
- * When the convert result in multi-level element. If this method return
- * false, then the caller should not use child nodes of
- * <code>getHostElement()</code>
- *
- * @return true if the host element has convertable children
- */
- public boolean isMultiLevel();
-
- /**
- *
- * @return true if the host element is a widget
- */
- public boolean isWidget();
-
- /**
- * API contract needed here
- *
- */
- public void dispose();
-
- /**
- * @param mode
- */
- public void setMode(int mode);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/JSFConverterUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/JSFConverterUtil.java
deleted file mode 100644
index abfacdac3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/JSFConverterUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class JSFConverterUtil {
- private static List NamedBooleanList = Arrays.asList(new String[] {
- "disabled", "readonly", "ismap" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- *
- * @param source
- * @param dest
- * @param ignore
- */
- public static void copyAllAttributes(Element source, Element dest,
- Set ignore) {
- NamedNodeMap attrs = source.getAttributes();
- for (int i = 0, size = attrs.getLength(); i < size; i++) {
- Attr attr = (Attr) attrs.item(i);
- if (ignore == null || !ignore.contains(attr.getName())) {
- if (NamedBooleanList.contains(attr.getName())
- && "false".equalsIgnoreCase(attr.getValue())) { //$NON-NLS-1$
- continue;
- }
- dest.setAttribute(attr.getName(), attr.getValue());
- }
- }
- }
-
- /**
- * copy a single attribute (if exist)
- *
- * @param source
- * @param srcattr
- * @param dest
- * @param destattr
- */
- public static void copyAttribute(Element source, String srcattr,
- Element dest, String destattr) {
- Attr attr = source.getAttributeNode(srcattr);
- if (attr != null) {
- dest.setAttribute(destattr, attr.getValue());
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/PreferenceReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/PreferenceReader.java
deleted file mode 100644
index ea9dc4e06..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/PreferenceReader.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PreferenceReader {
- /**
- * expression type
- */
- public final static int FULL_EXPRESSION_TYPE = 0;
-
- /**
- * expression type
- */
- public final static int LAST_EXPRESSION_TYPE = 1;
-
- /**
- * expression type
- */
- public final static int REAL_VALUE_TYPE = 2;
-
- /**
- * @return the map value type
- */
- public static int getMapValueType() {
- return LAST_EXPRESSION_TYPE;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToDumBlock.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToDumBlock.java
deleted file mode 100644
index 619875da6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToDumBlock.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TagConverterToDumBlock extends AbstractTagConverter {
-
- /**
- * @param host
- */
- public TagConverterToDumBlock(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element result = createElement(IHTMLConstants.TAG_DIV);
- copyChildren(getHostElement(), result);
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToInlineBlock.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToInlineBlock.java
deleted file mode 100644
index aec787ecf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToInlineBlock.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * This converter can be used simply convert the tag to inline div, and copy all
- * the children
- *
- * NOTE: It behave almost same as "span". In fact, we may remove this later, if
- * our css engine support "minWidth"/"minHeight" for inline element.
- *
- * NOTE: it will not copy attributes!
- *
- * @author mengbo
- * @version 1.5
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#getMinHeight()
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#getMinWidth()
- */
-public class TagConverterToInlineBlock extends AbstractTagConverter {
- private int displayMode;
-
- /**
- * @param host
- * @param mode
- */
- public TagConverterToInlineBlock(Element host, int mode) {
- super(host);
- this.displayMode = mode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element result = null;
- if (displayMode == IConverterFactory.MODE_PREVIEW) {
- result = createElement("span"); //$NON-NLS-1$
- copyChildren(getHostElement(), result);
- } else {
- result = createElement("div"); //$NON-NLS-1$
- result
- .setAttribute(
- "style", //$NON-NLS-1$
- "display:inline-block; border-width:0; margin:0; min-width:1.2em;min-height:1.2em;"); //$NON-NLS-1$
- copyChildren(getHostElement(), result);
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToSpan.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToSpan.java
deleted file mode 100644
index 8a05f56dd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/TagConverterToSpan.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * This converter can be used simply convert the tag to span, and copy all the
- * children
- *
- * NOTE: it will not copy attributes!
- *
- * @author mengbo
- * @version 1.5
- */
-public class TagConverterToSpan extends AbstractTagConverter {
-
- /**
- * @param host
- */
- public TagConverterToSpan(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- // Register a named facet on the UIComponent associated with the
- // closest parent UIComponent custom action.
- // we'll render facet as a inline flow figure. so treat it as simple
- // <span> here.
- Element result = createElement("span"); //$NON-NLS-1$
- copyChildren(getHostElement(), result);
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/ATagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/ATagConverter.java
deleted file mode 100644
index 8f1ebca47..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/ATagConverter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter.html;
-
-import org.eclipse.jst.pagedesigner.converter.ConverterUtil;
-import org.eclipse.jst.pagedesigner.converter.DumTagConverter;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ATagConverter extends DumTagConverter {
- private boolean _emptyContainer = false;
-
- /**
- * @param host
- */
- public ATagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- _emptyContainer = ConverterUtil.isEmptyContainer(getHostElement());
- if (_emptyContainer) {
- Element resultEle = createElement("a"); //$NON-NLS-1$
- ConverterUtil.copyAllAttributes(getHostElement(), resultEle, null);
- Text fakedNode = createText("link"); //$NON-NLS-1$
- resultEle.appendChild(fakedNode);
- return resultEle;
- }
- return super.doConvertRefresh();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#needBorderDecorator()
- */
- public boolean needBorderDecorator() {
- return _emptyContainer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return _emptyContainer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return _emptyContainer;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/HTMLConverterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/HTMLConverterFactory.java
deleted file mode 100644
index de2a9076b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/HTMLConverterFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter.html;
-
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.converter.AbstractTagConverter;
-import org.eclipse.jst.pagedesigner.converter.DumDescriptionTagConverter;
-import org.eclipse.jst.pagedesigner.converter.DumTagConverter;
-import org.eclipse.jst.pagedesigner.converter.HiddenTagConverter2;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class HTMLConverterFactory implements IConverterFactory {
-
- /**
- * the constructor
- */
- public HTMLConverterFactory() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#createConverter(org.w3c.dom.Element)
- */
- public ITagConverter createConverter(Element element, int mode) {
- String tagName = element.getLocalName();
-
- if (mode == MODE_PREVIEW) {
- return new DumTagConverter(element);
- }
- if (!HTMLUtil.isVisualHtmlElement(tagName)) {
- return new HiddenTagConverter2(element, getUnknownImage());
- }
-
- AbstractTagConverter c;
- if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(tagName)) {
- c = new TableTagConverter(element);
- } else if (IHTMLConstants.TAG_A.equalsIgnoreCase(tagName)) {
- c = new ATagConverter(element);
- } else if (IHTMLConstants.TAG_FORM.equalsIgnoreCase(tagName)) {
- // for those HTML tag that we want to build a border decorator,
- // should
- // go there.
- c = new DumTagConverter(element, true);
- } else if (IHTMLConstants.TAG_HTML.equalsIgnoreCase(tagName)
- || IHTMLConstants.TAG_BODY.equalsIgnoreCase(tagName)) {
- c = new DumDescriptionTagConverter(element);
- c.setNeedBorderDecorator(true);
- } else {
- c = new DumTagConverter(element);
- }
- c.setMode(mode);
- return c;
- }
-
- private static Image getUnknownImage() {
- return JSFUICommonPlugin.getDefault().getImage(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#getSupportedURI()
- */
- public String getSupportedURI() {
- return ITLDConstants.URI_HTML;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/TableTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/TableTagConverter.java
deleted file mode 100644
index eaf192863..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/html/TableTagConverter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter.html;
-
-import org.eclipse.jst.pagedesigner.converter.AbstractTagConverter;
-import org.eclipse.jst.pagedesigner.converter.ConverterUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class TableTagConverter extends AbstractTagConverter {
- /**
- * @param host
- */
- public TableTagConverter(Element host) {
- super(host);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- Element result = createElement(getHostElement().getTagName());
- ConverterUtil.copyAllAttributes(getHostElement(), result, null);
- copyChildren(getHostElement(), result);
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#needTableDecorator()
- */
- public boolean needTableDecorator() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#needBorderDecorator()
- */
- public boolean needBorderDecorator() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/IncludeTagConverterPreview.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/IncludeTagConverterPreview.java
deleted file mode 100644
index 4dd5e85e9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/IncludeTagConverterPreview.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter.jsp;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-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.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.converter.AbstractTagConverter;
-import org.eclipse.jst.pagedesigner.jsp.core.internal.pagevar.DocumentPageVariableAdapter;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.adapter.PageVariableAdapterFactory;
-import org.eclipse.jst.pagedesigner.preview.PageExpressionContext;
-import org.eclipse.jst.pagedesigner.preview.PreviewConvertContext;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This is the tag converter for preview.
- *
- * @author mengbo
- * @version 1.5
- */
-public class IncludeTagConverterPreview extends AbstractTagConverter {
- private static Logger _log = PDPlugin
- .getLogger(IncludeTagConverterPreview.class);
-
- private String _fileAttrName;
-
- /**
- * @param host
- * @param fileAttrname
- */
- public IncludeTagConverterPreview(Element host, String fileAttrname) {
- super(host);
- this._fileAttrName = fileAttrname;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.AbstractTagConverter#doConvertRefresh()
- */
- protected Element doConvertRefresh() {
- String fileName = getResolvedURL(getHostElement(), this._fileAttrName);
- if (fileName == null || fileName.length() == 0) {
- return null;
- }
- IPath includedPath = new Path(fileName);
- includedPath.makeAbsolute();
-
- IFile file = getFile(includedPath);
- if (file == null) {
- return null;
- }
- return previewFile(file);
- }
-
- /**
- * @param includedPath
- * @return the IFile corresponding to the IPath
- */
- public IFile getFile(IPath includedPath) {
- IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
- IProject[] projects = workspaceRoot.getProjects();
-
- for (int i = 0, length = projects.length; i < length; i++) {
- IPath path = projects[i].getLocation();
- path = path.makeAbsolute();
- if (path != null && path.isPrefixOf(includedPath)) {
- // -1 so we still have the project path
- includedPath = includedPath.removeFirstSegments(path
- .segmentCount() - 1);
- return ResourcesPlugin.getWorkspace().getRoot().getFile(
- includedPath);
- }
- }
- return null;
- }
-
- /**
- * @param file
- * @return the Element
- */
- public Element previewFile(IFile file) {
- IDOMModel xmlModel = null;
- DocumentPageVariableAdapter provider = null;
- boolean pushedPageVarProvider = false;
- try {
-
- xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getModelForRead(
- file);
- if (xmlModel != null) {
- IDOMDocument doc = xmlModel.getDocument();
-
- // XXX: need to also register page variable adapters. In the
- // future, this should go to some
- // SSE system registry mechanism.
- xmlModel.getFactoryRegistry().addFactory(
- new PageVariableAdapterFactory());
- provider = new DocumentPageVariableAdapter(doc);
- doc.addAdapter(provider);
-
- provider.refresh();
- PageExpressionContext.getCurrent()
- .pushPageVarProvider(provider);
-
- Node child = xmlModel.getDocument().getFirstChild();
- PreviewConvertContext context = new PreviewConvertContext(this
- .getDestDocument());
- List results = new ArrayList();
- while (child != null) {
- Node node = context.previewConvert(child);
- if (node != null) {
- results.add(node);
- }
- child = child.getNextSibling();
- }
-
- if (results.size() == 0) {
- return null;
- } else if (results.size() == 1
- && results.get(0) instanceof Element) {
- return (Element) results.get(0);
- } else {
- Element ret = createElement(IHTMLConstants.TAG_SPAN);
- for (int i = 0, n = results.size(); i < n; i++) {
- ret.appendChild((Node) results.get(i));
- }
- return ret;
- }
- }
- } catch (CoreException e) {
- _log.error("PreviewUtil.previewFile.CoreException", e); //$NON-NLS-1$
- } catch (IOException e) {
- _log.error("PreviewUtil.previewFile.IOException", e); //$NON-NLS-1$
- } catch (Exception ex) {
- _log.error("PreviewUtil.previewFile.CoreException", ex); //$NON-NLS-1$
- } finally {
- if (pushedPageVarProvider) {
- PageExpressionContext.getCurrent().popPageVarProvider(provider);
- }
- if (xmlModel != null) {
- xmlModel.releaseFromRead();
- }
- }
- return null;
- }
-
- static String getResolvedURL(Element element, String attrName) {
- URIResolver resolver = null;
- if (element instanceof IDOMNode) {
- // TODO: the new URI resolver is not available on the IStructuredModel
- resolver = ((IDOMNode) element).getModel().getResolver();
- }
- if (null == resolver) {
- return null;
- }
- String src = element.getAttribute(attrName);
- if (src != null && src.length() > 0) {
- return resolver.getLocationByURI(src);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/JSPConverterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/JSPConverterFactory.java
deleted file mode 100644
index 5d1844ff1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/JSPConverterFactory.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.converter.jsp;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory2;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.converter.HiddenTagConverter;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.converter.TagConverterToDumBlock;
-import org.eclipse.jst.pagedesigner.editors.palette.TagImageManager;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class JSPConverterFactory implements IConverterFactory {
- private final ILabelProvider _labelProvider;
-
- /**
- *
- */
- public JSPConverterFactory() {
- _labelProvider = new MyLabelProvider();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#createConverter(org.w3c.dom.Element)
- */
- public ITagConverter createConverter(Element element, int mode) {
- String tagName = element.getLocalName();
-
- if (mode == IConverterFactory.MODE_PREVIEW) {
- // we want to generate the included page in preview, so
- // handle differently
- if (IJSPCoreConstants.TAG_INCLUDE.equalsIgnoreCase(tagName)) {
- IncludeTagConverterPreview c = new IncludeTagConverterPreview(
- element, "page"); //$NON-NLS-1$
- c.setMode(mode);
- return c;
- } else if (IJSPCoreConstants.TAG_DIRECTIVE_INCLUDE
- .equalsIgnoreCase(tagName)) {
- IncludeTagConverterPreview c = new IncludeTagConverterPreview(
- element, "file"); //$NON-NLS-1$
- c.setMode(mode);
- return c;
- } else if (IJSPCoreConstants.TAG_ROOT.equalsIgnoreCase(tagName)) {
- TagConverterToDumBlock c = new TagConverterToDumBlock(element);
- c.setNeedBorderDecorator(true);
- c.setMode(mode);
- return c;
- } else {
- return new HiddenTagConverter(element, _labelProvider);
- }
- }
- if (IJSPCoreConstants.TAG_ROOT.equalsIgnoreCase(tagName)) {
- TagConverterToDumBlock c = new TagConverterToDumBlock(element);
- c.setNeedBorderDecorator(true);
- c.setMode(mode);
- return c;
- }
- return new HiddenTagConverter(element, _labelProvider);
- }
-
- private static class MyLabelProvider extends org.eclipse.jface.viewers.LabelProvider
- {
-
- public Image getImage(Object element)
- {
- if (element instanceof ITagConverter)
- {
- final Element hostElement = ((ITagConverter)element).getHostElement();
- IStructuredDocumentContext context = IStructuredDocumentContextFactory2.INSTANCE.getContext(hostElement);
- if (context != null){
- IWorkspaceContextResolver wsResolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- if (wsResolver != null){
- return TagImageManager.getInstance().getSmallIconImage(wsResolver.getProject(),"JSP11", ITLDConstants.URI_JSP + ":"+hostElement.getLocalName()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#getSupportedURI()
- */
- public String getSupportedURI() {
- return ITLDConstants.URI_JSP;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/package-info.java
deleted file mode 100644
index d74c9f9b0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Tag conversion framework.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.converter;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSTempUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSTempUtil.java
deleted file mode 100644
index 34ef43248..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSTempUtil.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetAdapter;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class CSSTempUtil {
- /**
- * the default implementation of (IStyleSheetListAdapter)
- * docnotifier.getAdapterFor(IStyleSheetListAdapter.class) will only get
- * those style tags under certain tags like "html", "head", etc.
- *
- * But datawindow is generating style tag and is not putting them into
- * "head". So we can't handle them using the default SSE mechanism.
- *
- * We have another problem: currently the converted element is also using
- * the original document, not generating another document, and these
- * elements is not really adding into the document, so they can't be reached
- * from the document.
- *
- * @param element
- * @return the list
- * see org.eclipse.wst.html.core.htmlcss.HTMLDocumentAdapter#addStyleSheet(org.w3c.dom.Element)
- */
- public static List getStyleSheets(Element element) {
- List styleSheets = new ArrayList();
- INodeNotifier docnotifier = (INodeNotifier) element.getOwnerDocument();
- IStyleSheetListAdapter adapter = (IStyleSheetListAdapter) docnotifier
- .getAdapterFor(IStyleSheetListAdapter.class);
-
- StyleSheetList ssl = (adapter == null ? null : adapter.getStyleSheets());
-
- if (ssl != null) {
- for (int i = 0, numStyles = ssl.getLength(); i < numStyles; i++) {
- // loop for styles (<style> and <link>)
- org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
- styleSheets.add(ss);
- }
- }
-
- // now is our work-around part for support datawindow.
- Node parent = element.getParentNode();
- Element rootEle = element;
- while (parent != null && parent instanceof Element) {
- rootEle = (Element) parent;
- parent = parent.getParentNode();
- }
- addStyleSheet(rootEle, styleSheets);
-
- //add stylesheets from any active IDTSkin instances
- if (element instanceof IDOMNode) {
- List<IDTSkin> dtSkins =
- DTSkinManager.getInstance((IDOMNode)element).getCurrentSkins();
- for (IDTSkin dtSkin: dtSkins) {
- if (dtSkin != null) {
- styleSheets.addAll(dtSkin.getStyleSheets());
- }
- }
- }
-
- return styleSheets;
- }
-
- /**
- */
- private static void addStyleSheet(Element node, List result) {
- IDOMElement element = (IDOMElement) node;
- String tagName = element.getTagName();
- if (tagName == null) {
- return;
- }
- boolean isContainer = false;
-
- if (element.isCommentTag()) {
- Node parent = element.getParentNode();
- if (parent == element.getOwnerDocument()) {
- // This condition is too severe, actually do not work for JSF
- // template.
- // But above (! globalTag() && isContainer()) cover JSF template
- // + tpl template
- isContainer = true;
- } else if (parent.getNodeType() == Node.ELEMENT_NODE) {
- tagName = ((Element) parent).getTagName();
- if (tagName != null
- && tagName
- .equalsIgnoreCase(HTML40Namespace.ElementName.HEAD)) {
- isContainer = true;
- }
- }
- } else {
- INodeNotifier notifier = element;
-
- // (lium) Increase performance: since this method is called tooooo
- // many times,
- // and getAdapterFor() is slow, so add a check on the tagName to
- // filter
- // those stylesheet stuff first.
- if (IHTMLConstants.TAG_LINK.equalsIgnoreCase(tagName)
- || IHTMLConstants.TAG_STYLE.equalsIgnoreCase(tagName)) {
- INodeAdapter adapter = notifier
- .getAdapterFor(IStyleSheetAdapter.class);
- if (adapter instanceof IStyleSheetAdapter) {
- // XXX: see bug 171740. This is a (hopefully) temporary
- // workaround that avoids having the call to getSheet throw an NPE
- IStyleSheetAdapter sheetAdapter = (IStyleSheetAdapter) adapter;
- if (sheetAdapter.getElement() != null
- && "text/css".equals(sheetAdapter.getElement().getAttribute(HTML40Namespace.ATTR_NAME_TYPE))) //$NON-NLS-1$
-
- {
- StyleSheet sheet = ((IStyleSheetAdapter) adapter)
- .getSheet();
-
- if (sheet != null)
- {
- result.add(sheet);
- }
- }
- }
- }
-
- isContainer = true;
- }
- if (isContainer) {
- for (Node child = element.getFirstChild(); child != null; child = child
- .getNextSibling()) {
- if (child.getNodeType() != Node.ELEMENT_NODE)
- continue;
- addStyleSheet((Element) child, result);
- }
- }
- }
-
- private CSSTempUtil()
- {
- // util class, no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSUtil.java
deleted file mode 100644
index 6d1cdadd5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSUtil.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.font.CSSFont;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleSheetListAdapter;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.util.CSSClassTraverser;
-import org.eclipse.wst.html.core.internal.htmlcss.CSSQueryTraverser;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.stylesheets.StyleSheet;
-import org.w3c.dom.stylesheets.StyleSheetList;
-
-/**
- * @author mengbo
- */
-public class CSSUtil {
- private static StyleSheet _userAgentDefault;
-
- /**
- * @param doc
- * @return the css classes
- */
- public static String[] getCSSClasses(Document doc) {
- Collection c = Collections.EMPTY_SET;
- if (doc instanceof INodeNotifier) {
- IStyleSheetListAdapter adapter = (IStyleSheetListAdapter) ((INodeNotifier) doc)
- .getAdapterFor(IStyleSheetListAdapter.class);
- StyleSheetList ssl = (adapter == null ? null : adapter
- .getStyleSheets());
-
- CSSClassTraverser traverser = new CSSClassTraverser();
- if (ssl != null) {
- for (int i = 0, numStyles = ssl.getLength(); i < numStyles; i++) {
- // loop for styles (<style> and <link>)
- org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
-
- try {
- traverser.apply((ICSSNode) ss);
- } catch (ClassCastException ex) {
- Logger log = PDPlugin
- .getLogger(CSSStyleDeclaration.class);
- log.error("Error.CSSUtil.0", ex); //$NON-NLS-1$
- // FIXME: should this continue to be processed?
- }
- }
- c = traverser.getClassNames();
- }
- }
- String[] result = new String[c.size()];
- c.toArray(result);
- return result;
- }
-
- /**
- * Get the css style of a node.
- *
- * @param node
- * @return the style
- */
- public static ICSSStyle getCSSStyle(Element node) {
- ICSSStyle style = null;
- if (node instanceof IDOMElement) {
- style = (ICSSStyle) ((IDOMElement) node)
- .getAdapterFor(ICSSStyle.class);
- }
- if (style == null) {
- return DefaultStyle.getInstance();
- }
- return style;
- }
-
- /**
- * Resolve the css style string from css style elements.
- *
- * @param style
- * @return the style string
- */
- public static String resolveCSSStyle(ICSSStyle style) {
- StringBuffer sb = new StringBuffer();
- Object object1 = style.getColor();
- if (object1 instanceof Color) {
- sb.append("color:"); //$NON-NLS-1$
-
- sb.append("#").append( //$NON-NLS-1$
- Integer.toHexString(((Color) object1).getRed()));
- sb.append("#").append( //$NON-NLS-1$
- Integer.toHexString(((Color) object1).getGreen()));
- sb.append("#").append( //$NON-NLS-1$
- Integer.toHexString(((Color) object1).getBlue()));
- sb.append(";"); //$NON-NLS-1$
- }
- Object object2 = style.getCSSFont();
- if (object2 instanceof CSSFont) {
- sb.append(((CSSFont) object2).getCSSString());
- }
- return sb.toString();
- }
-
- /**
- * Many of this method implementation copied from HTMLDocumentAdapter,
- * mainly add support for user agent default style sheet.
- *
- * @param element
- * the element.
- * @param pseudoName
- * the pseudoname of the element
- * @return the style declaration
- */
- public static CSSStyleDeclaration getCSSDeclaration(Element element,
- String pseudoName) {
- // please reference comments in CSSTempUtil.
- List styleSheets = CSSTempUtil.getStyleSheets(element);
- // INodeNotifier docnotifier = (INodeNotifier)
- // element.getOwnerDocument();
- // IStyleSheetListAdapter adapter = (IStyleSheetListAdapter)
- // docnotifier.getAdapterFor(IStyleSheetListAdapter.class);
- //
- // StyleSheetList ssl = (adapter == null ? null :
- // adapter.getStyleSheets());
-
- CSSQueryTraverser query = new CSSQueryTraverser();
- query.setTraverseImported(true);
- query.setTraverseImportFirst(true);
- query.setElement(element, pseudoName);
-
- // if (ssl != null)
- // {
- // for (int i = 0, numStyles = ssl.getLength(); i < numStyles; i++)
- // {
- // // loop for styles (<style> and <link>)
- // org.w3c.dom.stylesheets.StyleSheet ss = ssl.item(i);
- if (styleSheets != null) {
- for (int i = 0, numStyles = styleSheets.size(); i < numStyles; i++) {
- StyleSheet ss = (StyleSheet) styleSheets.get(i);
- try {
- query.apply((ICSSNode) ss);
- } catch (ClassCastException ex) {
- Logger log = PDPlugin.getLogger(CSSStyleDeclaration.class);
- log.error("Error.CSSUtil.0", ex); //$NON-NLS-1$
- // FIXME: should this continue to be processed?
- }
- }
- }
- CSSStyleDeclaration declare = query.getDeclaration();
- // FIXME: when do we need to apply the user agent style sheet?
- return declare;
- }
-
- /**
- * Many of this method implementation copied from HTMLDocumentAdapter,
- * mainly add support for user agent default style sheet.
- *
- * @param element
- * the element.
- * @param pseudoName
- * the pseudoname of the element
- * @return the style declaration
- */
- public static CSSStyleDeclaration getDefaultCSSDeclaration(Element element,
- String pseudoName) {
- CSSQueryTraverser query = new CSSQueryTraverser();
- query.setTraverseImported(true);
- query.setTraverseImportFirst(true);
-
- query.setElement(element, pseudoName);
-
- // FIXME: when do we need to apply the user agent style sheet?
- try {
- getUserAgentDefaultStyleSheet(element);
- } catch (UnsupportedEncodingException e) {
- Logger log = PDPlugin.getLogger(CSSStyleDeclaration.class);
- log.error("Error.CSSUtil.1", e); //$NON-NLS-1$
- } catch (IOException e) {
- Logger log = PDPlugin.getLogger(CSSStyleDeclaration.class);
- log.error("Error.CSSUtil.2", e); //$NON-NLS-1$
- }
- if (_userAgentDefault != null) {
- try {
- query.apply((ICSSNode) _userAgentDefault);
- } catch (ClassCastException ex) {
- Logger log = PDPlugin.getLogger(CSSStyleDeclaration.class);
- log.error("Error.CSSUtil.3", ex); //$NON-NLS-1$
- }
- }
- CSSStyleDeclaration declare = query.getDeclaration();
- return declare;
- }
-
- /**
- * Get the user agent default style sheet.
- *
- * @param element
- * @return
- * @throws IOException
- * @throws UnsupportedEncodingException
- */
- // XXX: in the future, we may get user agent default style sheet based on
- // device type.
- private static StyleSheet getUserAgentDefaultStyleSheet(Element element)
- throws UnsupportedEncodingException, IOException {
- if (_userAgentDefault == null) {
- InputStream input = null;
-
- try
- {
- input = CSSUtil.class
- .getResourceAsStream(IJMTConstants.USERAGENT);
- IStructuredModel model = StructuredModelManager.getModelManager()
- .getModelForEdit(IJMTConstants.USERAGENT, input, null);
- ICSSModel cssmodel = (ICSSModel) model;
- _userAgentDefault = (StyleSheet) cssmodel.getDocument();
- }
- finally
- {
- ResourceUtils.ensureClosed(input);
- }
- }
-
- return _userAgentDefault;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/ICSSStyle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/ICSSStyle.java
deleted file mode 100644
index 25d3ed646..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/ICSSStyle.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-
-/**
- * The style declaration for an element can be cached.
- *
- * @author mengbo
- */
-public interface ICSSStyle extends INodeAdapter, IAdaptable
-{
- /**
- *
- */
- public static final int INHERIT = Integer.MIN_VALUE;
-
- /**
- * the top attribute vale
- */
- public static final String TOP = "top"; //$NON-NLS-1$
-
- /**
- * the right attribute value
- */
- public static final String RIGHT = "right"; //$NON-NLS-1$
-
- /**
- * the left attribute value
- */
- public static final String LEFT = "left"; //$NON-NLS-1$
-
- /**
- * the bottom attribute value
- */
- public static final String BOTTOM = "bottom"; //$NON-NLS-1$
-
- /**
- *
- */
- public void reset();
-
- /**
- * @return the font
- */
- public ICSSFont getCSSFont();
-
- /**
- * @param property
- * @return the style property
- */
- public Object getStyleProperty(String property);
-
- /**
- * @return the margin insets
- */
- public Insets getMarginInsets();
-
- /**
- * @return the border insets
- */
- public Insets getBorderInsets();
-
- /**
- * @return the padding insets
- */
- public Insets getPaddingInsets();
-
- /**
- * shortcut method to get the CSS display.
- *
- * see http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-display
- * @return the display string
- */
- public String getDisplay();
-
- /**
- * null means transparent.
- *
- * @return the background color
- */
- public Object getBackgroundColor();
-
- /**
- * @return the foreground color
- */
- public Object getColor();
-
- /**
- * @return true if size includes border padding
- */
- public boolean isSizeIncludeBorderPadding();
-
- /**
- *
- */
- public void dispose();
-
- /**
- * @return the parent style
- */
- public ICSSStyle getParentStyle();
-
- /**
- * Get counters declared on this style. the counters are either created by
- * counter-reset or refered by counter-increment
- *
- * @return the counters
- */
- public Map getCounters();
-
- /**
- * Search a named counter declared on this style or its ancestors' styles
- *
- * @param name
- * @param must
- * @return the generator
- */
- public ICounterValueGenerator findCounter(String name, boolean must);
-
- /**
- * Currently, rowspan and colspan are not CSS property. But based on the CSS
- * specification, it is expected in the future this two will be added as CSS
- * property, so we also include them into ICSSStyle
- *
- * @return the row span
- */
- public int getRowSpan();
-
- /**
- * @return the column span
- */
- public int getColSpan();
-
- /**
- * Normally, when layout a figure and its children. We'll reset the counters
- * declared on this style. And if there are "counter-increment" on this
- * style, they'll also be processed.
- *
- */
- public void processCounters();
-
- /**
- * Whether the corresponding figure should be draw in selected mode. This is
- * not a real CSS property. This is a shortcut method. implemented through
- * getAdapter() on IRangeSelectionProxy
- *
- * @return true if in selection
- */
- public boolean isInSelection();
-
- /**
- * @param propertyName
- * @return the element init value
- */
- public Object getHTMLelementInitValue(String propertyName);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/border/CSSBorder.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/border/CSSBorder.java
deleted file mode 100644
index 96d646517..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/border/CSSBorder.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.border;
-
-import java.util.Arrays;
-
-import org.eclipse.draw2d.AbstractBorder;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.MessageFormater;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- */
-public class CSSBorder extends AbstractBorder {
-
- private static final String BODER_QUERY_TEMPLETE = "border-{0}-style"; //$NON-NLS-1$
-
- private static final String COLOR_QUERY_TEMPLETE = "border-{0}-color"; //$NON-NLS-1$
-
- private final ICSSStyle _style;
-
- private final Rectangle _innerRect = new Rectangle();
-
- /**
- * @param style
- */
- public CSSBorder(ICSSStyle style) {
- this._style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Border#getInsets(org.eclipse.draw2d.IFigure)
- */
- public Insets getInsets(IFigure figure) {
- return _style.getBorderInsets();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Border#paint(org.eclipse.draw2d.IFigure,
- * org.eclipse.draw2d.Graphics, org.eclipse.draw2d.geometry.Insets)
- */
- public void paint(IFigure figure, Graphics graphics, Insets insets) {
- tempRect.setBounds(getPaintRectangle(figure, insets));
- _innerRect.setBounds(tempRect);
- _innerRect.crop(_style.getBorderInsets());
- paintEdge(graphics, tempRect, _innerRect, ICSSStyle.LEFT);
- paintEdge(graphics, tempRect, _innerRect, ICSSStyle.RIGHT);
- paintEdge(graphics, tempRect, _innerRect, ICSSStyle.TOP);
- paintEdge(graphics, tempRect, _innerRect, ICSSStyle.BOTTOM);
- }
-
- /**
- * @param style
- * @return
- */
- private boolean shouldDraw(String style) {
- return style != null && !ICSSPropertyID.VAL_NONE.equals(style)
- && !ICSSPropertyID.VAL_HIDDEN.equals(style);
- }
-
- /**
- * Fetchs the color array used to draw the given edge under the given style
- *
- * @param graphics
- * @param style
- * @param edge
- * @return
- */
- private RGB[] getEdgeColors(Graphics graphics, String style, String edge) {
- String property = MessageFormater.format(COLOR_QUERY_TEMPLETE, edge);
- Object obj = _style.getStyleProperty(property);
- if (obj instanceof RGB) {
- return getCustomColors(graphics, style, edge, (RGB) obj);
- } else if (obj instanceof Color) {
- return getCustomColors(graphics, style, edge, ((Color) obj)
- .getRGB());
- } else {
- return getDefaultColors(graphics, style, edge);
- }
- }
- // TODO: needs refactoring
- private RGB[] getDefaultColors(Graphics graphics, String style, String edge) {
- if (ICSSPropertyID.VAL_OUTSET.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { ColorConstants.button.getRGB(),
- ColorConstants.buttonLightest.getRGB() };
- }
- return new RGB[] { ColorConstants.buttonDarkest.getRGB(),
- ColorConstants.buttonDarker.getRGB() };
- } else if (ICSSPropertyID.VAL_INSET.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { ColorConstants.buttonDarker.getRGB(),
- ColorConstants.buttonDarkest.getRGB() };
- }
- return new RGB[] { ColorConstants.buttonLightest.getRGB(),
- ColorConstants.button.getRGB() };
- } else if (ICSSPropertyID.VAL_TDBORDERSTYLE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { ColorConstants.buttonDarker.getRGB() };
- }
- return new RGB[] { ColorConstants.button.getRGB() };
- } else if (ICSSPropertyID.VAL_RIDGE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { ColorConstants.button.getRGB(),
- ColorConstants.buttonDarkest.getRGB() };
- }
- return new RGB[] { ColorConstants.buttonDarkest.getRGB(),
- ColorConstants.button.getRGB() };
- } else if (ICSSPropertyID.VAL_GROOVE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { ColorConstants.buttonDarker.getRGB(),
- ColorConstants.buttonLightest.getRGB() };
- }
- return new RGB[] { ColorConstants.buttonLightest.getRGB(),
- ColorConstants.buttonDarker.getRGB(), };
- } else if (ICSSPropertyID.VAL_DOUBLE.equals(style)) {
- return new RGB[] { ColorConstants.buttonDarkest.getRGB(),
- graphics.getBackgroundColor().getRGB(),
- ColorConstants.buttonDarkest.getRGB() };
- } else if (ICSSPropertyID.VAL_SOLID.equals(style)) {
- return new RGB[] { ColorConstants.black.getRGB() };
- }
-
- return new RGB[] { ColorConstants.black.getRGB() };
- }
-
- // TODO: needs refactoring
- private RGB[] getCustomColors(Graphics graphics, String style, String edge,
- RGB baseColor) {
- if (ICSSPropertyID.VAL_OUTSET.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] {
- new RGB(baseColor.red * 3 / 4,
- baseColor.green * 3 / 4,
- baseColor.blue * 3 / 4),
- new RGB(baseColor.red, baseColor.green, baseColor.blue) };
- }
- return new RGB[] {
- new RGB(baseColor.red / 2,
- baseColor.green / 2,
- baseColor.blue / 2),
- new RGB(baseColor.red / 4,
- baseColor.green / 4,
- baseColor.blue / 4) };
- } else if (ICSSPropertyID.VAL_INSET.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] {
- new RGB(baseColor.red / 4,
- baseColor.green / 4,
- baseColor.blue / 4),
- new RGB(baseColor.red / 2,
- baseColor.green / 2,
- baseColor.blue / 2) };
- }
- return new RGB[] {
- new RGB(baseColor.red, baseColor.green, baseColor.blue),
- new RGB(baseColor.red * 3 / 4,
- baseColor.green * 3 / 4,
- baseColor.blue * 3 / 4), };
- } else if (ICSSPropertyID.VAL_TDBORDERSTYLE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] { new RGB(baseColor.red / 4,
- baseColor.green / 4, baseColor.blue / 4) };
- }
- return new RGB[] { new RGB(baseColor.red, baseColor.green,
- baseColor.blue) };
- } else if (ICSSPropertyID.VAL_RIDGE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] {
- new RGB(baseColor.red * 3 / 4,
- baseColor.green * 3 / 4,
- baseColor.blue * 3 / 4),
- new RGB(baseColor.red / 2,
- baseColor.green / 2,
- baseColor.blue / 2) };
- }
- return new RGB[] {
- new RGB(baseColor.red / 2,
- baseColor.green / 2,
- baseColor.blue / 2),
- new RGB(baseColor.red * 3 / 4,
- baseColor.green * 3 / 4,
- baseColor.blue * 3 / 4) };
- } else if (ICSSPropertyID.VAL_GROOVE.equals(style)) {
- if (ICSSStyle.TOP.equals(edge) || ICSSStyle.LEFT.equals(edge)) {
- return new RGB[] {
- new RGB(baseColor.red / 4,
- baseColor.green / 4,
- baseColor.blue / 4),
- new RGB(baseColor.red, baseColor.green, baseColor.blue) };
-
- }
- return new RGB[] {
- new RGB(baseColor.red, baseColor.green, baseColor.blue),
- new RGB(baseColor.red / 4,
- baseColor.green / 4,
- baseColor.blue / 4) };
- } else if (ICSSPropertyID.VAL_DOUBLE.equals(style)) {
- return new RGB[] {
- new RGB(baseColor.red, baseColor.green, baseColor.blue),
- graphics.getBackgroundColor().getRGB(),
- new RGB(baseColor.red, baseColor.green, baseColor.blue) };
- } else if (ICSSPropertyID.VAL_SOLID.equals(style)) {
- return new RGB[] { new RGB(baseColor.red, baseColor.green,
- baseColor.blue) };
- }
- return new RGB[] { new RGB(baseColor.red, baseColor.green,
- baseColor.blue) };
- }
-
- /**
- * @param graphics
- * @param rect
- * @param innerRect
- * @param edge
- * @param style
- */
- public void paintEdge(Graphics graphics, Rectangle rect,
- Rectangle innerRect, String edge, String style) {
- if (!shouldDraw(style)) {
- return;
- }
- RGB[] rgbs = getEdgeColors(graphics, style, edge);
-
- if (ICSSStyle.TOP.equals(edge)) {
- paintTopEdge(graphics, rgbs, style, rect, innerRect);
- } else if (ICSSStyle.BOTTOM.equals(edge)) {
- paintBottomEdge(graphics, rgbs, style, rect, innerRect);
- } else if (ICSSStyle.LEFT.equals(edge)) {
- paintLeftEdge(graphics, rgbs, style, rect, innerRect);
- } else if (ICSSStyle.RIGHT.equals(edge)) {
- paintRightEdge(graphics, rgbs, style, rect, innerRect);
- }
- }
-
- /**
- * @param graphics
- * @param rect
- * @param innerRect
- * @param edge
- */
- protected void paintEdge(Graphics graphics, Rectangle rect,
- Rectangle innerRect, String edge) {
- String property = MessageFormater.format(BODER_QUERY_TEMPLETE, edge);
- Object obj = _style.getStyleProperty(property);
- String style = obj.toString();
- paintEdge(graphics, rect, innerRect, edge, style);
- }
-
- private void paintTopEdge(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, Rectangle innerRect) {
- int leftX = rect.x;
- int rightX = rect.right() - 1;
- int y = rect.y;
- int width = innerRect.y - rect.y;
-
- if (ICSSPropertyID.VAL_DOTTED.equals(style)) {
- drawDottedBorder(graphics, rgbs, ICSSStyle.TOP, rect, width);
- } else if (ICSSPropertyID.VAL_DASHED.equals(style)) {
- drawDashedBorder(graphics, rgbs, ICSSStyle.TOP, rect, width);
- } else {
- double xLeftRate = ((double) (innerRect.x - rect.x)) / width;
- double xRightRate = ((double) (rect.right() - innerRect.right()))
- / width;
- graphics.pushState();
- for (int i = 0; i < width; i++) {
- Color color = new Color(Display.getCurrent(), rgbs[rgbs.length
- * i / width]);
- graphics.setForegroundColor(color);
- graphics.drawLine((int) (leftX + i * xLeftRate), y + i,
- (int) (rightX - i * xRightRate), y + i);
- color.dispose();
- }
- graphics.popState();
- }
- }
-
- private void paintBottomEdge(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, Rectangle innerRect) {
- int leftX = rect.x;
- int rightX = rect.right() - 1;
- int y = rect.bottom() - 1;
- int width = rect.bottom() - innerRect.bottom();
-
- if (ICSSPropertyID.VAL_DOTTED.equals(style)) {
- drawDottedBorder(graphics, rgbs, ICSSStyle.BOTTOM, rect, width);
- } else if (ICSSPropertyID.VAL_DASHED.equals(style)) {
- drawDashedBorder(graphics, rgbs, ICSSStyle.BOTTOM, rect, width);
- } else {
- double xLeftRate = ((double) (innerRect.x - rect.x)) / width;
- double xRightRate = ((double) (rect.right() - innerRect.right()))
- / width;
- graphics.pushState();
- for (int i = 0; i < width; i++) {
- Color color = new Color(Display.getCurrent(), rgbs[rgbs.length
- * i / width]);
- graphics.setForegroundColor(color);
- graphics.drawLine(leftX + (int) (i * xLeftRate), y - i, rightX
- - (int) (i * xRightRate), y - i);
- color.dispose();
- }
- graphics.popState();
- }
- }
-
- private void paintLeftEdge(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, Rectangle innerRect) {
- int x = rect.x;
- int topY = rect.y;
- int bottomY = rect.bottom() - 1;
- int width = innerRect.x - rect.x;
-
- if (ICSSPropertyID.VAL_DOTTED.equals(style)) {
- drawDottedBorder(graphics, rgbs, ICSSStyle.LEFT, rect, width);
- } else if (ICSSPropertyID.VAL_DASHED.equals(style)) {
- drawDashedBorder(graphics, rgbs, ICSSStyle.LEFT, rect, width);
- } else {
- double yTopRate = ((double) (innerRect.y - rect.y)) / width;
- double yBottomRate = ((double) (rect.bottom() - innerRect.bottom()))
- / width;
- graphics.pushState();
- for (int i = 0; i < width; i++) {
- Color color = new Color(Display.getCurrent(), rgbs[rgbs.length
- * i / width]);
- graphics.setForegroundColor(color);
- graphics.drawLine(x + i, topY + (int) (i * yTopRate), x + i,
- bottomY - (int) (i * yBottomRate));
- color.dispose();
- }
- graphics.popState();
- }
-
- }
-
- private void paintRightEdge(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, Rectangle innerRect) {
- int x = rect.right() - 1;
- int topY = rect.y;
- int bottomY = rect.bottom() - 1;
- int width = rect.right() - innerRect.right();
-
- if (ICSSPropertyID.VAL_DOTTED.equals(style)) {
- drawDottedBorder(graphics, rgbs, ICSSStyle.RIGHT, rect, width);
- } else if (ICSSPropertyID.VAL_DASHED.equals(style)) {
- drawDashedBorder(graphics, rgbs, ICSSStyle.RIGHT, rect, width);
- } else {
- graphics.pushState();
- for (int i = 0; i < width; i++) {
- double yTopRate = ((double) (innerRect.y - rect.y)) / width;
- double yBottomRate = ((double) (rect.bottom() - innerRect
- .bottom()))
- / width;
- Color color = new Color(Display.getCurrent(), rgbs[rgbs.length
- * i / width]);
- graphics.setForegroundColor(color);
- graphics.drawLine(x - i, topY + (int) (i * yTopRate), x - i,
- bottomY - (int) (i * yBottomRate));
- color.dispose();
- }
- graphics.popState();
- }
- }
-
- private void drawDottedBorder(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, int width) {
- if (width == 0 || 3 * width > rect.width) {
- return;
- }
-
- int beginX = 0;
- int beginY = 0;
- int xRate = 0;
- int yRate = 0;
- int span = 0;
-
- if (ICSSStyle.TOP.equals(style)) {
- beginX = rect.x;
- beginY = rect.y;
- xRate = 1;
- yRate = 0;
- span = rect.width;
- } else if (ICSSStyle.LEFT.equals(style)) {
- beginX = rect.x;
- beginY = rect.y;
- xRate = 0;
- yRate = 1;
- span = rect.height;
- } else if (ICSSStyle.BOTTOM.equals(style)) {
- beginX = rect.x;
- beginY = rect.y + rect.height - width;
- xRate = 1;
- yRate = 0;
- span = rect.width;
- } else if (ICSSStyle.RIGHT.equals(style)) {
- beginX = rect.x + rect.width - width;
- beginY = rect.y;
- xRate = 0;
- yRate = 1;
- span = rect.height;
- }
-
- int dottedCount = (span + width) / (2 * width);
- if (dottedCount < 2) {
- dottedCount = 2;
- }
- int averagePad = (span - dottedCount * width) / (dottedCount - 1);
- int leftPad = (span - dottedCount * width) % (dottedCount - 1);
- int[] paddings = new int[dottedCount - 1];
- Arrays.fill(paddings, averagePad);
- for (int i = 0; i < leftPad; i++) {
- paddings[i] = paddings[i] + 1;
- }
-
- int pad = 0;
- Color color = new Color(Display.getCurrent(), rgbs[0]);
- graphics.pushState();
- graphics.setBackgroundColor(color);
- for (int i = 0; i < dottedCount; i++) {
- graphics.fillOval(beginX + (pad + width * i) * xRate, beginY
- + (pad + width * i) * yRate, width, width);
- if (i != dottedCount - 1) {
- pad += paddings[i];
- }
- }
- graphics.popState();
- color.dispose();
-
- }
-
- private void drawDashedBorder(Graphics graphics, RGB[] rgbs, String style,
- Rectangle rect, int borderThick) {
- if (borderThick == 0 || 5 * borderThick > rect.width) {
- return;
- }
-
- if ((5 * borderThick > rect.height)
- && (ICSSStyle.LEFT.equals(style) || ICSSStyle.RIGHT
- .equals(style))) {
- return;
- }
-
- int width = 0;
- int height = 0;
- int edgeLength = 0;
- int beginX = 0;
- int beginY = 0;
- int xRate = 0;
- int yRate = 0;
- int span = 0;
-
- if (ICSSStyle.TOP.equals(style)) {
- width = borderThick * 2;
- height = borderThick;
- beginX = rect.x;
- beginY = rect.y;
- xRate = 1;
- yRate = 0;
-
- span = rect.width;
- edgeLength = width;
- } else if (ICSSStyle.LEFT.equals(style)) {
- width = borderThick;
- height = borderThick * 2;
- beginX = rect.x;
- beginY = rect.y;
- xRate = 0;
- yRate = 1;
-
- span = rect.height;
- edgeLength = height;
- } else if (ICSSStyle.BOTTOM.equals(style)) {
- width = borderThick * 2;
- height = borderThick;
- beginX = rect.x;
- beginY = rect.y + rect.height - height;
- xRate = 1;
- yRate = 0;
-
- span = rect.width;
- edgeLength = width;
- } else if (ICSSStyle.RIGHT.equals(style)) {
- width = borderThick;
- height = borderThick * 2;
- beginX = rect.x + rect.width - width;
- beginY = rect.y;
- xRate = 0;
- yRate = 1;
-
- span = rect.height;
- edgeLength = height;
- }
-
- int dottedCount = (span + borderThick) / (edgeLength + borderThick);
- if (dottedCount < 2) {
- dottedCount = 2;
- }
- int averagePad = (span - dottedCount * edgeLength) / (dottedCount - 1);
- int leftPad = (span - dottedCount * edgeLength) % (dottedCount - 1);
- int[] paddings = new int[dottedCount - 1];
- Arrays.fill(paddings, averagePad);
- for (int i = 0; i < leftPad; i++) {
- paddings[i] = paddings[i] + 1;
- }
-
- int pad = 0;
- graphics.pushState();
- Color color = new Color(Display.getCurrent(), rgbs[0]);
- graphics.setBackgroundColor(color);
- for (int i = 0; i < dottedCount; i++) {
- graphics.fillRectangle(beginX + (pad + width * i) * xRate, beginY
- + (pad + height * i) * yRate, width, height);
- if (i != dottedCount - 1) {
- pad += paddings[i];
- }
- }
- graphics.popState();
- color.dispose();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorConverter.java
deleted file mode 100644
index ea520a1e1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorConverter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.color;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * @author mengbo
- */
-public class CSSColorConverter {
- private static final String PREFIX_RGB = "rgb"; //$NON-NLS-1$
-
- private static Logger _log = PDPlugin.getLogger(CSSColorConverter.class);
-
- private static CSSColorConverter _instance = new CSSColorConverter();
-
- /**
- * @return singleton instance
- */
- public static CSSColorConverter getInstantce() {
- if (_instance == null) {
- _instance = new CSSColorConverter();
- }
- return _instance;
- }
-
- Object getCSSColor(String CSSText) {
- if (CSSText == null) {
- return null;
- }
-
- CSSText = CSSText.trim().toLowerCase();
- if (CSSText.length() == 0) {
- return null;
- }
- if (CSSColorDefaults.SYSTEM_DEFAULT_COLORS.containsKey(CSSText)) {
- Object result = null;
- result = CSSColorDefaults.SYSTEM_DEFAULT_COLORS.get(CSSText);
- return result;
- } else if (CSSColorDefaults.EXTENDED_COLORS.containsKey(CSSText)) {
- Object result = null;
- result = CSSColorDefaults.EXTENDED_COLORS.get(CSSText);
- return result;
- } else {
- return convertStringToRGB(CSSText);
- }
- }
-
- private RGB convertStringToRGB(String CSSText) {
- StringBuffer sb = new StringBuffer(CSSText);
- int value;
- try {
- if (sb.indexOf("#") == 0) //$NON-NLS-1$
- {
- if (sb.length() == 4) {
- sb.insert(1, sb.charAt(1));
- sb.insert(3, sb.charAt(3));
- sb.insert(5, sb.charAt(5));
- value = Integer.parseInt(sb.substring(1, sb.length())
- .toString(), 16);
- return new RGB(value >>> 16 & 0xff, value >>> 8 & 0xff,
- value & 0xff);
- } else if (sb.length() == 7) {
- value = Integer.parseInt(sb.substring(1, sb.length()), 16);
- return new RGB(value >>> 16 & 0xff, value >>> 8 & 0xff,
- value & 0xff);
- }
- } else if (CSSText.startsWith(PREFIX_RGB)) {
- return convertRgbToRGB(sb.substring(
- sb.indexOf("(") + 1, sb.indexOf(")"))); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } catch (Exception e) {
- _log.info("CSSColorConverter.0", CSSText, null); //$NON-NLS-1$
- return null;
- }
- return null;
- }
-
- private RGB convertRgbToRGB(String text) {
- text = text.trim();
- try {
- StringTokenizer tokenizer = new StringTokenizer(text, ",");//$NON-NLS-1$
-
- if (tokenizer.countTokens() != 3) {
- return null;
- }
- String[] rgbText = new String[3];
- for (int i = 0; i < 3; i++) {
- rgbText[i] = tokenizer.nextToken();
- }
-
- int[] intRGB = new int[] { 0, 0, 0 };
- for (int i = 0; i < 3; i++) {
- int intValue = -1;
- String textValue = rgbText[i].trim();
-
- if (textValue.endsWith("%"))//$NON-NLS-1$
- {
- textValue = textValue.substring(0, textValue.length() - 1);
-
- intValue = Integer.parseInt(textValue) * 255 / 100;
- } else {
- intValue = Integer.parseInt(textValue);
- }
- if (intValue < 0) {
- intValue = 0;
- } else if (intValue > 255) {
- intValue = 255;
- }
- intRGB[i] = intValue;
- }
- return new RGB(intRGB[0], intRGB[1], intRGB[2]);
- } catch (Exception e) {
- // notify
- _log.info("CSSColorConverter.1", text, null); //$NON-NLS-1$
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorDefaults.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorDefaults.java
deleted file mode 100644
index f5aa44c08..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorDefaults.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.color;
-
-import java.util.HashMap;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- */
-public class CSSColorDefaults {
- static final HashMap SYSTEM_DEFAULT_COLORS = new HashMap(20);
-
- static final HashMap EXTENDED_COLORS = new HashMap(20);
-
- // TODO C.B.: there is overlap here between the default and extended
- // colors. Also, for the custom colors, should use a ColorRegistry
- // that allows other components to share values here
- static {
- SYSTEM_DEFAULT_COLORS.put("black", ColorConstants.black); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("blue", ColorConstants.blue); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("gray", ColorConstants.gray); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("green", new Color(null, 0, 128, 0)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("orange", ColorConstants.orange); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("red", ColorConstants.red); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("white", ColorConstants.white); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("yellow", ColorConstants.yellow); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("aqua", ColorConstants.cyan); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("fuchsia", new Color(null, 255, 0, 255)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("lime", ColorConstants.green); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("maroon", new Color(null, 128, 0, 0)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("navy", new Color(null, 0, 0, 128)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("olive", new Color(null, 128, 128, 0)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("purple", new Color(null, 128, 0, 128)); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("silver", ColorConstants.lightGray); //$NON-NLS-1$
- SYSTEM_DEFAULT_COLORS.put("teal", new Color(null, 0, 128, 128)); //$NON-NLS-1$
-
- SYSTEM_DEFAULT_COLORS.put("activeborder", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_BORDER));
- // Active window border.
- SYSTEM_DEFAULT_COLORS.put("activecaption", //$NON-NLS-1$
- ColorConstants.titleBackground);
- // Active window caption.
- SYSTEM_DEFAULT_COLORS
- .put("appworkspace", ColorConstants.listBackground); //$NON-NLS-1$
- // Background color of multiple document interface.
- SYSTEM_DEFAULT_COLORS.put("background", ColorConstants.listBackground); //$NON-NLS-1$
- // Desktop background.
- SYSTEM_DEFAULT_COLORS.put("buttonface", ColorConstants.button); //$NON-NLS-1$
- // Face color for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("buttonhighlight", //$NON-NLS-1$
- ColorConstants.buttonLightest);
- // Dark shadow for three-dimensional display elements (for edges facing
- // away from the light source).
- SYSTEM_DEFAULT_COLORS.put("buttonshadow", ColorConstants.buttonDarker); //$NON-NLS-1$
- // Shadow color for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("buttontext", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_FOREGROUND));
- // Text on push buttons.
- SYSTEM_DEFAULT_COLORS
- .put("captiontext", ColorConstants.titleForeground); //$NON-NLS-1$
- // Text in caption, size box, and scrollbar arrow box.
- SYSTEM_DEFAULT_COLORS.put("graytext", //$NON-NLS-1$
- ColorConstants.titleInactiveForeground);
- // Grayed (disabled) text. This color is set to #000 if the current
- // display driver does not support a solid gray color.
- SYSTEM_DEFAULT_COLORS.put("highlight", //$NON-NLS-1$
- ColorConstants.menuBackgroundSelected);
- // Item(s) selected in a control.
- SYSTEM_DEFAULT_COLORS.put("highlighttext", //$NON-NLS-1$
- ColorConstants.menuForegroundSelected);
- // Text of item(s) selected in a control.
- SYSTEM_DEFAULT_COLORS.put("inactiveborder", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT));
- // Inactive window border.
- SYSTEM_DEFAULT_COLORS.put("inactivecaption", //$NON-NLS-1$
- ColorConstants.titleInactiveBackground);
- // Inactive window caption.
- SYSTEM_DEFAULT_COLORS.put("inactivecaptiontext", //$NON-NLS-1$
- ColorConstants.titleInactiveForeground);
- // Color of text in an inactive caption.
- SYSTEM_DEFAULT_COLORS.put("infobackground", //$NON-NLS-1$
- ColorConstants.tooltipBackground);
- // Background color for tooltip controls.
- SYSTEM_DEFAULT_COLORS.put("infotext", ColorConstants.tooltipForeground); //$NON-NLS-1$
- // Text color for tooltip controls.
- SYSTEM_DEFAULT_COLORS.put("menu", ColorConstants.menuBackground); //$NON-NLS-1$
- // Menu background.
- SYSTEM_DEFAULT_COLORS.put("menutext", ColorConstants.menuForeground); //$NON-NLS-1$
- // Text in menus.
- SYSTEM_DEFAULT_COLORS.put("scrollbar", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- // Scroll bar gray area.
- SYSTEM_DEFAULT_COLORS.put("threeddarkshadow", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
- // Dark shadow for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("threedface", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
- // Face color for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("threedhighlight", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
- // Highlight color for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("threedlightshadow", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
- // Light color for three-dimensional display elements (for edges facing
- // the light source).
- SYSTEM_DEFAULT_COLORS.put("threedshadow", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
- // Dark shadow for three-dimensional display elements.
- SYSTEM_DEFAULT_COLORS.put("window", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_LIST_BACKGROUND));
- // Window background.
- SYSTEM_DEFAULT_COLORS.put("windowframe", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_WIDGET_BORDER));
- // Window frame.
- SYSTEM_DEFAULT_COLORS.put("windowtext", Display.getCurrent() //$NON-NLS-1$
- .getSystemColor(SWT.COLOR_LIST_FOREGROUND));
- // Window text
- SYSTEM_DEFAULT_COLORS.put("hyperlink", ColorConstants.blue); //$NON-NLS-1$
- }
-
- // populate the extended color palette. Where the extended
- // color is the same as a constant color, use that to save
- // on SWT resource handles
- static {
- EXTENDED_COLORS.put("aliceblue", new Color(null, 240, 248, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("antiquewhite", new Color(null, 250, 235, 215)); //$NON-NLS-1$
- EXTENDED_COLORS.put("aqua", ColorConstants.cyan); //$NON-NLS-1$
- EXTENDED_COLORS.put("aquamarine", new Color(null, 127, 255, 212)); //$NON-NLS-1$
- EXTENDED_COLORS.put("azure", new Color(null, 240, 255, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("beige", new Color(null, 245, 245, 220)); //$NON-NLS-1$
- EXTENDED_COLORS.put("bisque", new Color(null, 255, 228, 196)); //$NON-NLS-1$
- EXTENDED_COLORS.put("black", ColorConstants.black); //$NON-NLS-1$
- EXTENDED_COLORS.put("blanchedalmond", new Color(null, 255, 235, 205)); //$NON-NLS-1$
- EXTENDED_COLORS.put("blue", ColorConstants.blue); //$NON-NLS-1$
- EXTENDED_COLORS.put("blueviolet", new Color(null, 138, 43, 226)); //$NON-NLS-1$
- EXTENDED_COLORS.put("brown", new Color(null, 165, 42, 42)); //$NON-NLS-1$
- EXTENDED_COLORS.put("burlywood", new Color(null, 222, 184, 135)); //$NON-NLS-1$
- EXTENDED_COLORS.put("cadetblue", new Color(null, 95, 158, 160)); //$NON-NLS-1$
- EXTENDED_COLORS.put("chartreuse", new Color(null, 127, 255, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("chocolate", new Color(null, 210, 105, 30)); //$NON-NLS-1$
- EXTENDED_COLORS.put("coral", new Color(null, 255, 127, 80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("cornflowerblue", new Color(null, 100, 149, 237)); //$NON-NLS-1$
- EXTENDED_COLORS.put("cornsilk", new Color(null, 255, 248, 220)); //$NON-NLS-1$
- EXTENDED_COLORS.put("crimson", new Color(null, 220, 20, 60)); //$NON-NLS-1$
- EXTENDED_COLORS.put("cyan", new Color(null, 0, 255, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkblue", new Color(null, 0, 0, 139)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkcyan", new Color(null, 0, 139, 139)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkgoldenrod", new Color(null, 184, 134, 11)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkgray", new Color(null, 169, 169, 169)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkgreen", new Color(null, 0, 100, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkkhaki", new Color(null, 189, 183, 107)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkmagenta", new Color(null, 139, 0, 139)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkolivegreen", new Color(null, 85, 107, 47)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkorange", new Color(null, 255, 140, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkorchid", new Color(null, 153, 50, 204)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkred", new Color(null, 139, 0, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darksalmon", new Color(null, 233, 150, 122)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkseagreen", new Color(null, 143, 188, 143)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkslateblue", new Color(null, 72, 61, 139)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkslategray", new Color(null, 47, 79, 79)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkturquoise", new Color(null, 0, 206, 209)); //$NON-NLS-1$
- EXTENDED_COLORS.put("darkviolet", new Color(null, 148, 0, 211)); //$NON-NLS-1$
- EXTENDED_COLORS.put("deeppink", new Color(null, 255, 20, 147)); //$NON-NLS-1$
- EXTENDED_COLORS.put("deepskyblue", new Color(null, 0, 191, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("dimgray", new Color(null, 105, 105, 105)); //$NON-NLS-1$
- EXTENDED_COLORS.put("dodgerblue", new Color(null, 30, 144, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("feldspar", new Color(null, 209, 146, 117)); //$NON-NLS-1$
- EXTENDED_COLORS.put("firebrick", new Color(null, 178, 34, 34)); //$NON-NLS-1$
- EXTENDED_COLORS.put("floralwhite", new Color(null, 255, 250, 240)); //$NON-NLS-1$
- EXTENDED_COLORS.put("forestgreen", new Color(null, 34, 139, 34)); //$NON-NLS-1$
- EXTENDED_COLORS.put("fuchsia", new Color(null, 255, 0, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("gainsboro", new Color(null, 220, 220, 220)); //$NON-NLS-1$
- EXTENDED_COLORS.put("ghostwhite", new Color(null, 248, 248, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("gold", new Color(null, 255, 215, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("goldenrod", new Color(null, 218, 165, 32)); //$NON-NLS-1$
- EXTENDED_COLORS.put("gray", ColorConstants.gray); //$NON-NLS-1$
- EXTENDED_COLORS.put("green", new Color(null, 0, 128, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("greenyellow", new Color(null, 173, 255, 47)); //$NON-NLS-1$
- EXTENDED_COLORS.put("honeydew", new Color(null, 240, 255, 240)); //$NON-NLS-1$
- EXTENDED_COLORS.put("hotpink", new Color(null, 255, 105, 180)); //$NON-NLS-1$
- EXTENDED_COLORS.put("indianred", new Color(null, 205, 92, 92)); //$NON-NLS-1$
- EXTENDED_COLORS.put("indigo", new Color(null, 75, 0, 130)); //$NON-NLS-1$
- EXTENDED_COLORS.put("ivory", new Color(null, 255, 255, 240)); //$NON-NLS-1$
- EXTENDED_COLORS.put("khaki", new Color(null, 240, 230, 140)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lavender", new Color(null, 230, 230, 250)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lavenderblush", new Color(null, 255, 240, 245)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lawngreen", new Color(null, 124, 252, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lemonchiffon", new Color(null, 255, 250, 205)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightblue", new Color(null, 173, 216, 230)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightcoral", new Color(null, 240, 128, 128)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightcyan", new Color(null, 224, 255, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightgoldenrodyellow", new Color(null, 250, 250, //$NON-NLS-1$
- 210));
- EXTENDED_COLORS.put("lightgrey", new Color(null, 211, 211, 211)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightgreen", new Color(null, 144, 238, 144)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightpink", new Color(null, 255, 182, 193)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightsalmon", new Color(null, 255, 160, 122)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightseagreen", new Color(null, 32, 178, 170)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightskyblue", new Color(null, 135, 206, 250)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightslateblue", new Color(null, 132, 112, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightslategray", new Color(null, 119, 136, 153)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightsteelblue", new Color(null, 176, 196, 222)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lightyellow", new Color(null, 255, 255, 224)); //$NON-NLS-1$
- EXTENDED_COLORS.put("lime", ColorConstants.green); //$NON-NLS-1$
- EXTENDED_COLORS.put("limegreen", new Color(null, 50, 205, 50)); //$NON-NLS-1$
- EXTENDED_COLORS.put("linen", new Color(null, 250, 240, 230)); //$NON-NLS-1$
- EXTENDED_COLORS.put("magenta", new Color(null, 255, 0, 255)); //$NON-NLS-1$
- EXTENDED_COLORS.put("maroon", new Color(null, 128, 0, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumaquamarine", new Color(null, 102, 205, 170)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumblue", new Color(null, 0, 0, 205)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumorchid", new Color(null, 186, 85, 211)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumpurple", new Color(null, 147, 112, 216)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumseagreen", new Color(null, 60, 179, 113)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumslateblue", new Color(null, 123, 104, 238)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumspringgreen", new Color(null, 0, 250, 154)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumturquoise", new Color(null, 72, 209, 204)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mediumvioletred", new Color(null, 199, 21, 133)); //$NON-NLS-1$
- EXTENDED_COLORS.put("midnightblue", new Color(null, 25, 25, 112)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mintcream", new Color(null, 245, 255, 250)); //$NON-NLS-1$
- EXTENDED_COLORS.put("mistyrose", new Color(null, 255, 228, 225)); //$NON-NLS-1$
- EXTENDED_COLORS.put("moccasin", new Color(null, 255, 228, 181)); //$NON-NLS-1$
- EXTENDED_COLORS.put("navajowhite", new Color(null, 255, 222, 173)); //$NON-NLS-1$
- EXTENDED_COLORS.put("navy", new Color(null, 0, 0, 128)); //$NON-NLS-1$
- EXTENDED_COLORS.put("oldlace", new Color(null, 253, 245, 230)); //$NON-NLS-1$
- EXTENDED_COLORS.put("olive", new Color(null, 128, 128, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("olivedrab", new Color(null, 107, 142, 35)); //$NON-NLS-1$
- EXTENDED_COLORS.put("orange", new Color(null, 255, 165, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("orangeted", new Color(null, 255, 69, 0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("orchid", new Color(null, 218, 112, 214)); //$NON-NLS-1$
- EXTENDED_COLORS.put("ralegoldenrod", new Color(null, 238, 232, 170)); //$NON-NLS-1$
- EXTENDED_COLORS.put("palegreen", new Color(null, 152, 251, 152)); //$NON-NLS-1$
- EXTENDED_COLORS.put("paleturquoise", new Color(null, 175, 238, 238)); //$NON-NLS-1$
- EXTENDED_COLORS.put("palevioletred", new Color(null, 216, 112, 147)); //$NON-NLS-1$
- EXTENDED_COLORS.put("papayawhip", new Color(null, 255, 239, 213)); //$NON-NLS-1$
- EXTENDED_COLORS.put("peachpuff", new Color(null, 255, 218, 185)); //$NON-NLS-1$
- EXTENDED_COLORS.put("peru", new Color(null, 205, 133, 63)); //$NON-NLS-1$
- EXTENDED_COLORS.put("pink", new Color(null, 255, 192, 203)); //$NON-NLS-1$
- EXTENDED_COLORS.put("plum", new Color(null, 221, 160, 221)); //$NON-NLS-1$
- EXTENDED_COLORS.put("powderblue", new Color(null, 176, 224, 230)); //$NON-NLS-1$
- EXTENDED_COLORS.put("purple", new Color(null, 128, 0, 128)); //$NON-NLS-1$
- EXTENDED_COLORS.put("red", ColorConstants.red); //$NON-NLS-1$
- EXTENDED_COLORS.put("rosybrown", new Color(null, 188, 143, 143)); //$NON-NLS-1$
- EXTENDED_COLORS.put("royalblue", new Color(null, 65, 105, 225)); //$NON-NLS-1$
- EXTENDED_COLORS.put("saddlebrown", new Color(null, 139, 69, 19)); //$NON-NLS-1$
- EXTENDED_COLORS.put("salmon", new Color(null, 250, 128, 114)); //$NON-NLS-1$
- EXTENDED_COLORS.put("sandybrown", new Color(null, 244, 164, 96)); //$NON-NLS-1$
- EXTENDED_COLORS.put("seagreen", new Color(null, 46, 139, 87)); //$NON-NLS-1$
- EXTENDED_COLORS.put("seashell", new Color(null, 255, 245, 238)); //$NON-NLS-1$
- EXTENDED_COLORS.put("sienna", new Color(null, 160, 82, 45)); //$NON-NLS-1$
- EXTENDED_COLORS.put("silver", new Color(null, 192, 192, 192)); //$NON-NLS-1$
- EXTENDED_COLORS.put("skyblue", new Color(null, 135, 206, 235)); //$NON-NLS-1$
- EXTENDED_COLORS.put("slateblue", new Color(null, 106, 90, 205)); //$NON-NLS-1$
- EXTENDED_COLORS.put("slategray", new Color(null, 112, 128, 144)); //$NON-NLS-1$
- EXTENDED_COLORS.put("snow", new Color(null, 255, 250, 250)); //$NON-NLS-1$
- EXTENDED_COLORS.put("springgreen", new Color(null, 0, 255, 127)); //$NON-NLS-1$
- EXTENDED_COLORS.put("steelblue", new Color(null, 70, 130, 180)); //$NON-NLS-1$
- EXTENDED_COLORS.put("tan", new Color(null, 210, 180, 140)); //$NON-NLS-1$
- EXTENDED_COLORS.put("teal", new Color(null, 0, 128, 128)); //$NON-NLS-1$
- EXTENDED_COLORS.put("thistle", new Color(null, 216, 191, 216)); //$NON-NLS-1$
- EXTENDED_COLORS.put("tomato", new Color(null, 255, 99, 71)); //$NON-NLS-1$
- EXTENDED_COLORS.put("turquoise", new Color(null, 64, 224, 208)); //$NON-NLS-1$
- EXTENDED_COLORS.put("violet", new Color(null, 238, 130, 238)); //$NON-NLS-1$
- EXTENDED_COLORS.put("violetred", new Color(null, 208, 32, 144)); //$NON-NLS-1$
- EXTENDED_COLORS.put("wheat", new Color(null, 245, 222, 179)); //$NON-NLS-1$
- EXTENDED_COLORS.put("white", ColorConstants.white); //$NON-NLS-1$
- EXTENDED_COLORS.put("whitesmoke", new Color(null, 245, 245, 245)); //$NON-NLS-1$
- EXTENDED_COLORS.put("yellow", ColorConstants.yellow); //$NON-NLS-1$
- EXTENDED_COLORS.put("yellowgreen", new Color(null, 154, 205, 50)); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorManager.java
deleted file mode 100644
index 66dce7b8c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/color/CSSColorManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.color;
-
-/**
- * @author mengbo
- */
-public class CSSColorManager {
- private static CSSColorManager _instance;
-
- private CSSColorManager() {
- // no external instantiation
- }
-
- /**
- * @return the single instance
- */
- public static CSSColorManager getInstance() {
- if (_instance == null) {
- _instance = new CSSColorManager();
- }
- return _instance;
- }
-
- /**
- * return Color or RGB. If return color, then the returned color is system
- * color, caller should NOT dispose the returned color
- *
- * @param cssText
- * @return the color object for cssText
- */
- public Object getColor(String cssText) {
- return CSSColorConverter.getInstantce().getCSSColor(cssText);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFont.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFont.java
deleted file mode 100644
index 646da8635..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFont.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.font;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-
-/**
- * @author mengbo
- */
-public class CSSFont implements ICSSFont {
- private String _family;
-
- private int _size;
-
- private int _style;
-
- private int _weight;
-
- private String _cssString;
-
- /**
- * @param family
- * @param size
- * @param style
- * @param weight
- * @param cssString
- *
- */
- public CSSFont(String family, int size, int style, int weight,
- String cssString) {
- this._family = family;
- this._size = size;
- this._style = style;
- this._weight = weight;
- _cssString = cssString;
- }
-
- public String getFontFamily() {
- return _family;
- }
-
- public int getFontSize() {
- return _size;
- }
-
- public int getFontStyle() {
- return _style;
- }
-
- public String getCSSString() {
- return _cssString;
- }
-
- public int getWeight() {
- return _weight;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj instanceof CSSFont) {
- CSSFont fd = (CSSFont) obj;
- return this._family.equals(fd._family) && this._size == fd._size
- && this._style == fd._style && this._weight == fd._weight;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return _family.hashCode() + _size + _style + _weight;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.font.ICSSFont#getSwtFont()
- */
- public Font getSwtFont() {
- // return FontPoolManager.getInstance().getFont(this);
- return CSSFontManager.getInstance().getSwtFont(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.font.ICSSFont#getXHeight()
- */
- public int getXHeight() {
- return getFontSize();
- }
-
- /**
- * @return the style mask for the font style
- */
- public int getSwtFontStyle() {
- int style = SWT.NONE;
- // see:http://www.htmlhelp.com/reference/css/font/font-weight.html
- if (getWeight() >= 600)
- style |= SWT.BOLD;
- style |= getFontStyle();
- return style;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFontManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFontManager.java
deleted file mode 100644
index 0297f9299..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/CSSFontManager.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.font;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.FontFamilyMeta;
-import org.eclipse.jst.pagedesigner.css2.property.FontSizeMeta;
-import org.eclipse.jst.pagedesigner.css2.property.FontWeightMeta;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.utils.CacheManager;
-import org.eclipse.jst.pagedesigner.utils.ICacheEntryCreator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- */
-public class CSSFontManager implements ICSSFontManager {
- private static CSSFontManager _instance;
-
- private static final boolean DEBUG = false;
-
- private int _totalFont = 0;
-
- // private static FontPoolManager _fontPoolManager;
- // Map _cache = new HashMap();
-
- private static final int CACHESIZE = 100; // we cache 100 font.
-
- // the scale to convert the px to pt.
- private final static double FONT_SCALE = ((double) Display.getCurrent()
- .getDPI().x) / 72;
-
- static String cssFontToLocalFont(String original) {
- if ("serif".equalsIgnoreCase(original)) { //$NON-NLS-1$
- return "Georgia"; //$NON-NLS-1$
- } else if ("sans-serif".equalsIgnoreCase(original)) { //$NON-NLS-1$
- return "Arial"; //$NON-NLS-1$
- } else if ("cursive".equalsIgnoreCase(original)) { //$NON-NLS-1$
- // FIXME: MS windows does not support the alternative fonts that
- // match cursive defined at
- // http://www.w3.org/TR/REC-CSS2/fonts.html#generic-font-families,
- // We use Comic Sans MS font family
- // because it is MS alternative.
- return "Comic Sans MS"; //$NON-NLS-1$
- } else if ("fantasy".equalsIgnoreCase(original)) { //$NON-NLS-1$
- return cssFontToLocalFont("serif"); //$NON-NLS-1$
- } else if ("monospace".equalsIgnoreCase(original)) { //$NON-NLS-1$
- return "Courier New"; //$NON-NLS-1$
- } else {
- return original;
- }
- }
-
- private CacheManager _cacheManager = new CacheManager(
- new ICacheEntryCreator<CSSFont, Font>() {
- public Font createEntry(CSSFont key) {
- if (DEBUG) {
- _totalFont++;
- System.out.println("TotalFont++: " + _totalFont); //$NON-NLS-1$
- }
- Font font = new Font(null, cssFontToLocalFont(key
- .getFontFamily()), (int) Math.round(key
- .getFontSize()
- / FONT_SCALE), key.getSwtFontStyle());
- return font;
- }
-
- public void dispose(CSSFont key, Font entry) {
- if (DEBUG) {
- _totalFont--;
- System.out.println("TotalFont--: " + _totalFont); //$NON-NLS-1$
- }
- entry.dispose();
-
- }
- }, CACHESIZE);
-
- /**
- * constructor
- */
- private CSSFontManager() {
- super();
- }
-
- private String resolveFontStyleString(ICSSStyle style) {
- StringBuffer sb = new StringBuffer();
- sb.append(ICSSPropertyID.ATTR_FONT_FAMILY).append(":"); //$NON-NLS-1$
- sb.append("'").append( //$NON-NLS-1$
- (String) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_FAMILY))
- .append("'"); //$NON-NLS-1$
- sb.append(";"); //$NON-NLS-1$
- sb.append(ICSSPropertyID.ATTR_FONT_STYLE).append(":"); //$NON-NLS-1$
- sb
- .append(
- (String) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_STYLE))
- .append(";"); //$NON-NLS-1$
- sb.append(ICSSPropertyID.ATTR_FONT_WEIGHT).append(":"); //$NON-NLS-1$
- sb.append(
- ((Integer) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_WEIGHT))
- .toString()).append(";"); //$NON-NLS-1$
- sb.append(ICSSPropertyID.ATTR_FONT_SIZE).append(":"); //$NON-NLS-1$
- int fontSize = getFontSize(style, style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_SIZE));
- sb.append(Integer.toString(fontSize));
- return sb.toString();
- }
-
- public ICSSFont createFont(ICSSStyle style) {
- String fontfamily = (String) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_FAMILY);
- Object fontsizeobj = style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_SIZE);
- int fontsize;
- fontsize = getFontSize(style, fontsizeobj);
- int fontstyle = getFontStyle(style);
- int fontweight = ((Integer) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_WEIGHT)).intValue();
-
- return new CSSFont(fontfamily, fontsize, fontstyle, fontweight,
- resolveFontStyleString(style));
- }
-
- private int getFontSize(ICSSStyle style, Object fontsizeobj) {
- int fontsize;
- if (fontsizeobj instanceof Length) {
- fontsize = ((Length) fontsizeobj).getValue();
- } else {
- fontsize = style.getParentStyle().getCSSFont().getFontSize();
- }
- return fontsize;
- }
-
- /**
- * @param style
- */
- private int getFontStyle(ICSSStyle style) {
- int fontstyle;
- String fontstylestr = (String) style
- .getStyleProperty(ICSSPropertyID.ATTR_FONT_STYLE);
- if (ICSSPropertyID.VAL_ITALIC.equals(fontstylestr)
- || ICSSPropertyID.VAL_OBLIQUE.equals(fontstylestr)) {
- fontstyle = SWT.ITALIC;
- } else {
- fontstyle = SWT.NORMAL;
- }
- return fontstyle;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.font.ICSSFontManager#dispose()
- */
- public void dispose() {
- _cacheManager.disposeAll();
- }
-
- /**
- * @return the default css font
- */
- public ICSSFont createDefaultFont() {
- CSSFont result = new CSSFont(FontFamilyMeta.DEFAULT_FONT,
- (int) FontSizeMeta.MEDIUM_VAL_INT, SWT.NORMAL,
- FontWeightMeta.NORMAL_WEIGHT.intValue(), ""); //$NON-NLS-1$
- return result;
- }
-
- /**
- * @param f
- * @return the swt font for f
- */
- public Font getSwtFont(CSSFont f) {
- return (Font) _cacheManager.getEntry(f);
- }
-
- /**
- * @return the singleton font manager
- */
- public static CSSFontManager getInstance() {
- if (_instance == null) {
- _instance = new CSSFontManager();
- }
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFont.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFont.java
deleted file mode 100644
index 74adcfba4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFont.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.font;
-
-import org.eclipse.swt.graphics.Font;
-
-/**
- * XXX: this class should be renamed to CSSFontDescriptor. Since now it is only
- * used to describe a CSSFont.
- *
- * @author mengbo
- */
-public interface ICSSFont {
- /**
- * Will get a Font system resource from a pool.
- *
- * The caller should NOT dispose the returned Font object.
- *
- * The caller should not hold reference on the returned Font object, since
- * system may dispose it at any time.
- *
- * @return the swt font
- */
- public Font getSwtFont();
-
- /**
- * @return the css font family
- */
- public String getFontFamily();
-
- /**
- * @return font size in pixel
- */
- public int getFontSize();
-
- /**
- * @return font x height in pixel
- */
- public int getXHeight();
-
- /**
- * @return the font weight
- */
- public int getWeight();
-
- /**
- *
- * @return could be SWT.NONE or SWT.ITALIC
- */
- public int getFontStyle();
-
- /**
- * @return the css string
- */
- public String getCSSString();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFontManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFontManager.java
deleted file mode 100644
index a5a8d3d63..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/font/ICSSFontManager.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.font;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-
-/**
- * @author mengbo
- */
-public interface ICSSFontManager {
- /**
- * @param style
- * @return ??
- */
- public ICSSFont createFont(ICSSStyle style);
-
- /**
- * FIXME: purpose?
- */
- public void dispose();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/html4.css b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/html4.css
deleted file mode 100644
index e91e5de0d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/html4.css
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Basic HTML style information.
- */
-html,
-address,
-blockquote,listing,
-body, dd, div,
-dl, dt, fieldset, legend,form,
-frame, frameset,
-h1, h2, h3, h4,
-h5, h6, noframes,noscript,
-ol, p, ul, center,
-dir, hr, menu, pre, plaintext, xmp { display: block }
-
-ol {counter-reset: _anonymous; list-style-type: decimal}
-ul,dir,menu {counter-reset: _anonymous; list-style-type: disc}
-li {display: list-item}
-li {counter-increment: _anonymous}
-
-head { display: none }
-table { display: table }
-tr { display: table-row }
-thead { display: table-header-group }
-tbody { display: table-row-group }
-tfoot { display: table-footer-group }
-col { display: table-column }
-colgroup { display: table-column-group }
-td, th { display: table-cell; }
-caption { display: table-caption }
-th { font-weight: bolder;}
-caption { text-align: center;horizontal-align:top }
-button, textarea,
-input, object,
-select, img { display:inline-block; }
-pre,plaintext, xmp { white-space: pre }
-h1, h2, h3, h4,
-h5, h6, b,
-strong { font-weight: bold }
-i, cite, em,dfn,
-var, address { font-style: italic }
-pre, tt, code,plaintext, xmp,
-kbd, samp { font-family: monospace }
-ol { list-style-type: decimal }
-br:before { content: "\A" }
-center { text-align: center }
-sub { vertical-align: sub }
-sup { vertical-align: super }
-u, ins { text-decoration: underline }
-input { text-decoration: none }
-button { white-space: nowrap }
-a[href] { text-decoration: underline }
-
-/*
- * styles that may be different for different user agent.
- * This part may need to move out and put into different css files.
- */
-body { line-height: 1.12em }
-h1 { font-size: 2em; margin: .67em 0 }
-h2 { font-size: 1.5em; margin: .75em 0 }
-h3 { font-size: 1.17em; margin: .83em 0 }
-h4, p,ul,
-fieldset, form,
-ol, dl, dir,
-menu { margin: 1.12em 0 }
-blockquote { margin: 1em 40px }
-h5 { font-size: .83em; margin: 1.5em 0 }
-h6 { font-size: .75em; margin: 1.67em 0 }
-blockquote { margin-left: 40px; margin-right: 40px }
-big { font-size: larger }
-small, sub, sup { font-size: smaller }
-s, strike, del { text-decoration: line-through }
-hr { border: 1px inset }
-ol, ul, dir,
-menu, dd { margin-left: 40px;border:0px }
-ol ul, ul ol,
-ul ul, ol ol { margin-top: 0; margin-bottom: 0 }
-abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em }
-a[href] { color:blue;}
-select {background-color: window;font-family:sans-serif;font-size:13px;font-weight: normal;}
-textarea {border: 2px inset;font-size:13px;font-family:monospace}
-textarea,
-input {background-color: window}
-input,
-input[type=text],
-input[type=password] {border: 2px inset;font-size:13px;font-family:sans-serif;font-weight: normal;}
-/* following upcased TYPE is for workaround the WTP M2 bug of not setting default content type */
-input[TYPE=submit],input[TYPE=reset],input[TYPE=button],input[TYPE=cancel],
-button,
-input[type=button],
-input[type=reset],
-input[type=cancel],
-input[type=submit] {background-color: ButtonFace; border: 2px outset; font-size:13px;
- font-family:sans-serif;text-align: center;font-weight: normal;}
-input[type=image],
-input[type=checkbox],
-input[type=radio] {border: none }
-input[type=hidden] {border: none }
-img {border: 0px none}
-listing {font-family:monospace;font-size: medium;white-space: pre; margin: 1em 0;}
-tbody,thead,tfoot {vertical-align: middle;}
-blink {text-decoration: blink;}
-
-hr {margin: 0.5em auto 0.5em auto;}
-caption {border: 0px none;margin: 0px; padding:0px 0px 4px 0px;}
-td, th,
-table {border: 4px none;}
-button {padding: 3px 5px;text-align: center;vertical-align: middle;}
-button,textarea,input {vertical-align: text-bottom;color:black;font-style:none;}
-select {vertical-align: text-bottom;}
-input[type=image] {vertical-align: baseline;}
-li {min-height:1.2em}
-button {min-height:1.8em}
-div,tr,form {min-height:1.2em}
-table,td {min-width:1.2em;min-height:1.2em}
-
-/* nested lists have no top/bottom margins */
-ul ul, ul ol, ul dir, ul menu, ul dl,
-ol ul, ol ol, ol dir, ol menu, ol dl,
-dir ul, dir ol, dir dir, dir menu, dir dl,
-menu ul, menu ol, menu dir, menu menu, menu dl,
-dl ul, dl ol, dl dir, dl menu, dl dl {margin-top: 0; margin-bottom: 0;}
-
-/* 2 deep unordered lists use a circle */
-ol ul, ul ul, menu ul, dir ul,
-ol menu, ul menu, menu menu, dir menu,
-ol dir, ul dir, menu dir, dir dir {list-style-type: circle;}
-
-/* 3 deep (or more) unordered lists use a square */
-ol ol ul, ol ul ul, ol menu ul, ol dir ul,
-ol ol menu, ol ul menu, ol menu menu, ol dir menu,
-ol ol dir, ol ul dir, ol menu dir, ol dir dir,
-ul ol ul, ul ul ul, ul menu ul, ul dir ul,
-ul ol menu, ul ul menu, ul menu menu, ul dir menu,
-ul ol dir, ul ul dir, ul menu dir, ul dir dir,
-menu ol ul, menu ul ul, menu menu ul, menu dir ul,
-menu ol menu, menu ul menu, menu menu menu, menu dir menu,
-menu ol dir, menu ul dir, menu menu dir, menu dir dir,
-dir ol ul, dir ul ul, dir menu ul, dir dir ul,
-dir ol menu, dir ul menu, dir menu menu, dir dir menu,
-dir ol dir, dir ul dir, dir menu dir, dir dir dir { list-style-type: square;}
-
-/**
- * We do not write codes to support some elements. This part defines properties for them
- * to improve the look of these elements.
- */
-applet {border: 1px solid;}
-fieldset {border: 2px groove;}
-applet,iframe {display:inline-block; border:3px inset; }
-object {display:inline-block;border:0px none;}
-
-
-/*
- * Sets right margin to have gap between widgets.
- */
-input,textarea,button { margin-right: 2px;} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockBox.java
deleted file mode 100644
index d20bc7a9e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockBox.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * A CompositeBox suitable for containing multiple LineBox fragments. Based on
- * BlockBox of draw2d.
- *
- * @author mengbo
- */
-public class BlockBox extends CompositeBox {
- // internalContent dimension is for the closure of the FlowBox(es) added
- // into the BlockBox.
- private int _internalContentWidth = -1;
-
- private int _internalContentHeight = -1;
-
- Rectangle toRectangle() {
- return new Rectangle(_x, _y, Math.max(_width, _recommendedWidth),
- _height);
- }
-
- /**
- * Sets the height.
- *
- * @param h
- * The height
- */
- public void setHeight(int h) {
- _height = h;
- }
-
- /**
- * Unions the dimensions of this with the dimensions of the passed FlowBox.
- * For BlockBox, each time unionInfo is called, the passed in object
- * represents a line.
- *
- * @param box
- * The FlowBox to union this with
- */
- protected void unionInfo(FlowBox box) {
- _width = Math.max(_width, box._width + this.getBorderPaddingWidth());
- _height = Math.max(_height, box._y + box._height
- + this.getBorderPaddingHeight());
-
- _internalContentWidth = Math.max(_internalContentWidth, box._width);
- _internalContentHeight = Math.max(_internalContentHeight, box._y
- + box._height);
- }
-
- int getInternalContentWidth() {
- return _internalContentWidth;
- }
-
- int getInternalContentHeight() {
- return _internalContentHeight;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowBox#getAscent()
- */
- public int getAscent() {
- // XXX: some hard coded things here. If the blockbox is only for a
- // single widget, and if that widget support ascent, then we'll
- // delegate to that widget for ascent support.
- // if (_fragments.size()==1)
- // {
- // FlowBox box = (FlowBox) _fragments.get(0);
- // if (box instanceof LineBox)
- // {
- // List linecomponents = ((LineBox) box).getFragments();
- // if (linecomponents != null && linecomponents.size() == 1)
- // {
- // FlowBox box2 = (FlowBox) linecomponents.get(0);
- // if (box2 instanceof WidgetBox)
- // {
- // WidgetBox widgetBox = (WidgetBox) box2;
- // if (widgetBox.supportAscent())
- // {
- // return widgetBox.getAscent() + this.getBorderPaddingInsets().top;
- // }
- // }
- // }
- // }
- // }
- return super.getAscent();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlow.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlow.java
deleted file mode 100644
index 675fdeb66..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlow.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.PositionConstants;
-
-/**
- * A <code>FlowFigure</code> represented by a single {@link BlockBox}fragment
- * containing one or more lines. A BlockFlow is a creator of LineBoxes, which
- * its children require during layout. A BlockFlow can be thought of as a
- * paragraph.
- * <P>
- * BlockFlows should be nested inside other BlockFlows, but it is also valid to
- * place them in InlineFlows. {@link FlowPage}can be used as a "root" block and
- * can be added to normal draw2d Figures.
- * <P>
- * Only {@link FlowFigure}s can be added to a BlockFlow.
- */
-/*package*/ class BlockFlow extends FlowFigure {
-
- final BlockBox _blockBox;
-
- private int _aligment;
-
- /**
- * Constructs a new BlockFlow.
- */
- public BlockFlow() {
- setLayoutManager(createDefaultFlowLayout());
- _blockBox = createBlockBox();
- }
-
- BlockBox createBlockBox() {
- return new BlockBox();
- }
-
- /**
- * @return the default flow layout
- *
- */
- protected FlowFigureLayout createDefaultFlowLayout() {
- return new BlockFlowLayout(this);
- }
-
- /**
- * Returns the BlockBox associated with this.
- *
- * @return This BlockFlow's BlockBox
- */
- protected BlockBox getBlockBox() {
- return _blockBox;
- }
-
- /**
- * Returns the horizontal aligment.
- *
- * @return the hotizontal aligment
- */
- public int getHorizontalAligment() {
- return _aligment & PositionConstants.LEFT_CENTER_RIGHT;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigure#postValidate()
- */
- public void postValidate() {
- setBounds(getBlockBox().toRectangle().expand(getInsets()));
- List v = getChildren();
- for (int i = 0, n = v.size(); i < n; i++) {
- ((FlowFigure) v.get(i)).postValidate();
- }
- }
-
- /**
- * Sets the horitontal aligment of the block. Valid values are:
- * <UL>
- * <LI>{@link org.eclipse.draw2d.PositionConstants#LEFT}
- * <LI>{@link org.eclipse.draw2d.PositionConstants#RIGHT}
- * <LI>{@link org.eclipse.draw2d.PositionConstants#CENTER}
- *
- * @param value
- * the aligment
- */
- public void setHorizontalAligment(int value) {
- if (!(value == PositionConstants.LEFT
- || value == PositionConstants.RIGHT || value == PositionConstants.CENTER)) {
- throw new IllegalArgumentException(
- "Horizontal Aligment must be one of: LEFT, CENTER, RIGHT"); //$NON-NLS-1$
- }
- this._aligment &= ~PositionConstants.LEFT_CENTER_RIGHT;
- this._aligment |= value;
- revalidate();
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#useLocalCoordinates()
- */
- protected boolean useLocalCoordinates() {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowContext.java
deleted file mode 100644
index 44c43c8b0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowContext.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-
-/**
- * When doing absolute positioning, we need to create a block. But that block
- * don't have a corresponding figure. So we need a block without corresponding
- * figure.
- *
- * @author mengbo
- * @version 1.5
- */
-public class BlockFlowContext implements FlowContext {
- private LineBox _currentLine;
-
- private LineBox _previousLine = null;
-
- BlockBox _blockBox;
-
- private final FlowContext _originalContext;
-
- private final ICSSStyle _style;
-
- /**
- * @param originalContext
- * @param style
- */
- public BlockFlowContext(FlowContext originalContext, ICSSStyle style) {
- this._originalContext = originalContext;
- this._style = style;
- setup();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getContainerWidth()
- */
- public int getContainerWidth() {
-
- return _originalContext.getContainerWidth();
- }
-
- /**
- * Initialize the object
- */
- private void setup() {
- _blockBox = new BlockBox();
- _blockBox.setRecommendedWidth(getRecommendedWidth());
- _currentLine = this.getCurrentLine();
- _previousLine = null;
- }
-
- private int getRecommendedWidth() {
- int containerWidth = getContainerWidth();
- Object leftObj = _style.getStyleProperty(ICSSPropertyID.ATTR_LEFT);
- if (leftObj != null && leftObj instanceof Length) {
- Length left = (Length) leftObj;
- int intLeft = left.getValue();
- if (left.isPercentage()) {
- intLeft = containerWidth * intLeft / 100;
- }
- if (intLeft < containerWidth) {
- return containerWidth - intLeft;
- }
- }
- return containerWidth;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#addToCurrentLine(org.eclipse.jst.pagedesigner.css2.layout.FlowBox)
- */
- public void addToCurrentLine(FlowBox block) {
- getCurrentLine().add(block);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#endLine()
- */
- public void endLine() {
- // this is called from child layouts.
- // If there is no current line, state is equivalent to new line
- if (_currentLine == null)
- return;
- if (_currentLine.isOccupied())
- layoutLine(); // finalize the current line layout
- else
- return;
-
- LineBox box = _currentLine;
- // _currentLine = _previousLine; //XXX: ???? why (yang)
- _previousLine = box;
-
- _currentLine = null;
- // setupLine(getCurrentLine());
-
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine()
- */
- public LineBox getCurrentLine() {
- if (_currentLine == null)
- createNewLine();
- return _currentLine;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine(int)
- */
- public LineBox getCurrentLine(int topMargin) {
- if (_currentLine == null)
- createNewLine(topMargin);
- return _currentLine;
- }
-
- /**
- * @param topMargin
- */
- private void createNewLine(int topMargin) {
- createNewLine();
- }
-
- private void createNewLine() {
- _currentLine = new LineBox();
- setupLine(_currentLine, Integer.MIN_VALUE);
- }
-
- /**
- * Override to setup the line's x, remaining, and available width.
- *
- * @param line
- * the LineBox to set up
- * @param topMargin
- */
- protected void setupLine(LineBox line, int topMargin) {
- line.clear();
-
- // the caller of getCurrentLine() may add leftMargin and leftPadding and
- // leftBorder to line.x
- line._x = _blockBox.getBorderInsets().left + _blockBox.getPaddingInsets().left;
-
- // FIXME: here should check the floating boxes, and minus the width of
- // them from
- // current line.
- // XXX: the RecommendedContentWidth is related with the RecommendedWidth
- // of container that
- // usually larger than it needed.here we do not set the RecommendedWidth
- // for the sake of
- // layouting right absolute position.
- // /shortcoming:the box will break into multi-line after every white
- // space.
- // line.setRecommendedWidth(_blockBox.getRecommendedContentWidth());
- if (_previousLine == null) {
- line._y = _blockBox.getBorderInsets().top
- + _blockBox.getPaddingInsets().top;
- if (topMargin != Integer.MIN_VALUE)
- line._y += topMargin;
- } else {
- if (topMargin == Integer.MIN_VALUE)
- line._y = _previousLine._y + _previousLine.getHeight()
- + getLinePadding() + _previousLine.getMarginInsets().bottom; // XXX:
- // should
- // add
- // previous
- // margin
- // bottom?
- else
- line._y = _previousLine._y
- + _previousLine.getHeight()
- + Math.max(topMargin,
- _previousLine.getMarginInsets().bottom);
- }
- // line.validate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentY()
- */
- public int getCurrentY() {
- return getCurrentLine()._y; // FIXME: margin of previous block?
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCurrentLineOccupied()
- */
- public boolean isCurrentLineOccupied() {
- return _currentLine != null && _currentLine.isOccupied();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getLastMarginRight()
- */
- public int getLastMarginRight() {
- if (_currentLine == null || !_currentLine.isOccupied()) {
- return 0;
- }
- FlowBox box = (FlowBox) _currentLine.getFragments().get(
- _currentLine.getFragments().size() - 1);
- if (box != null) {
- return box.getMarginInsets().right;
- }
- return 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCalculatingMaxWidth()
- */
- public boolean isCalculatingMaxWidth() {
- return false;
- }
-
- /**
- * Adjust all fragments in the current line to have the same baseline. Do
- * any additional adjustments, such as horizontal alignment.
- */
- protected void layoutLine() {
- // currentLine.x = 0; //XXX: comment out, don't understand why set to 0,
- // because it has already
- // been set when setupLine(). And if do need, should
- // set to getBorderPaddingInsets().left
- // if (!isInlineBlock() && shouldExpand())
- // {
- // // FIXME: currently we are using getRecommendedContentWidth,
- // // what happen if after adding the new line, the new width is bigger
- // than
- // // recommendedContentWidth? should we use getWidth() instead of
- // // recommendedcontentWidth?
- //
- // Object textalign =
- // (getCSSStyle().getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN));
- // if (textalign == ICSSPropertyID.VAL_RIGHT)
- // {
- // _currentLine._x = _blockBox.getRecommendedContentWidth() +
- // _blockBox.getBorderPaddingInsets().left - _currentLine.getWidth();
- // }
- // else if (textalign == ICSSPropertyID.VAL_CENTER)
- // {
- //
- // _currentLine._x = _blockBox.getBorderPaddingInsets().left +
- // (_blockBox.getRecommendedContentWidth() - _currentLine.getWidth()) /
- // 2;
- // }
- // if (_currentLine._x < 0)
- // _currentLine._x = 0;
- // }
-
- // FIXME: should check vertical alignment here?
- _currentLine.commit();
- _blockBox.add(_currentLine);
- }
-
- void endBlock() {
- endLine();
- }
-
- int getLinePadding() {
- return 0;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowLayout.java
deleted file mode 100644
index 05bf6c454..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BlockFlowLayout.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Insets;
-
-/**
- * The layout for {@link BlockFlow}figures.
- * <P>
- * WARNING: This class is not intended to be subclassed by clients.
- *
- * @author mengbo
- * @since 2.1
- */
-public class BlockFlowLayout extends FlowContainerLayout {
- private LineBox _previousLine = null;
-
- BlockBox _blockBox;
-
- /**
- * Creates a new BlockFlowLayout with the given BlockFlow.
- *
- * @param blockFlow
- * the BlockFlow
- */
- public BlockFlowLayout(BlockFlow blockFlow) {
- super(blockFlow);
- }
-
- /**
- * @see FlowContainerLayout#cleanup()
- */
- protected void cleanup() {
- _currentLine = _previousLine = null;
- }
-
- /**
- * @see FlowContainerLayout#createNewLine()
- */
- protected void createNewLine() {
- _currentLine = new LineBox();
- setupLine(_currentLine, Integer.MIN_VALUE);
- }
-
- protected void createNewLine(int topmargin) {
- _currentLine = new LineBox();
- setupLine(_currentLine, topmargin);
- }
-
- /**
- * Override to setup the line's x, remaining, and available width.
- *
- * @param line
- * the LineBox to set up
- * @param topMargin
- */
- protected void setupLine(LineBox line, int topMargin) {
- line.clear();
-
- // the caller of getCurrentLine() may add leftMargin and leftPadding and
- // leftBorder to line.x
- line._x = 0;
-
- // FIXME: here should check the floating boxes, and minus the width of
- // them from
- // current line.
- line.setRecommendedWidth(_blockBox.getRecommendedContentWidth());
- if (_previousLine == null) {
- line._y = 0;
- if (topMargin != Integer.MIN_VALUE) {
- line._y += topMargin;
- }
- } else {
- if (topMargin == Integer.MIN_VALUE) {
- line._y = _previousLine._y + _previousLine.getHeight()
- + getLinePadding() + _previousLine.getMarginInsets().bottom; // XXX:
- // should
- // add
- // previous
- // margin
- // bottom?
- } else {
- line._y = _previousLine._y
- + _previousLine.getHeight()
- + Math.max(topMargin,
- _previousLine.getMarginInsets().bottom);
- }
- }
- // line.validate();
- }
-
- /**
- * Called by flush(), adds the BlockBox associated with this BlockFlowLayout
- * to the current line and then ends the line.
- */
- protected void endBlock() {
- getFlowContext().addToCurrentLine(_blockBox);
-
- // FIXME: here should tell the context the bottom margin.
- getFlowContext().endLine();
- }
-
- /**
- * @see FlowContext#endLine()
- */
- public void endLine() {
- // this is called from child layouts.
- // If there is no current line, state is equivalent to new line
- if (_currentLine == null) {
- return;
- }
- if (_currentLine.isOccupied()) {
- layoutLine(); // finalize the current line layout
- } else {
- _currentLine = null;
- return;
- }
- LineBox box = _currentLine;
- _previousLine = box;
- _currentLine = null;// _previousLine; //XXX: ???? why (yang)
-
- // setupLine(getCurrentLine());
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentY()
- */
- public int getCurrentY() {
- return getCurrentLine()._y; // FIXME: margin of previous block?
- }
-
- /**
- * Returns the BlockFlow associated with this BlockFlowLayout
- *
- * @return the BlockFlow
- */
- protected final BlockFlow getBlockFlow() {
- return (BlockFlow) getFlowFigure();
- }
-
- /**
- * Adjust all fragments in the current line to have the same baseline. Do
- * any additional adjustments, such as horizontal alignment.
- */
- protected void layoutLine() {
- // currentLine.x = 0; //XXX: comment out, don't understand why set to 0,
- // because it has already
- // been set when setupLine(). And if do need, should
- // set to getBorderPaddingInsets().left
- switch (getBlockFlow().getHorizontalAligment()) {
- case PositionConstants.RIGHT:
- _currentLine._x = _blockBox.getContentWidth()
- - getBorderPaddingInsets().right - _currentLine.getWidth();
- break;
- case PositionConstants.CENTER:
- _currentLine._x = (_blockBox.getContentWidth()
- + getBorderPaddingInsets().left
- - getBorderPaddingInsets().right - _currentLine.getWidth()) / 2;
- break;
- }
- // FIXME: should check vertical alignment here?
- _currentLine.commit();
- _blockBox.add(_currentLine);
- }
-
- /**
- * @see FlowContainerLayout#flush()
- */
- protected void flush() {
- if (_currentLine != null)
- layoutLine();
- endBlock();
- }
-
- /**
- * @see FlowContainerLayout#preLayout()
- */
- protected void preLayout() {
- _blockBox = getBlockFlow().getBlockBox();
- setupBlock();
- // Probably could setup current and previous line here, or just previous
- }
-
- /**
- * sets up the single block that contains all of the lines.
- */
- protected void setupBlock() {
- // Ask for a new line, in case we are in the middle of a line
-
- // FIXME: the endLine() should tell context the top margin of this
- // block.
- getFlowContext().endLine();
-
- LineBox line = getFlowContext().getCurrentLine();
- // int recommended = line.getAvailableWidth();
- // if (recommended != previousRecommendedWidth)
- // Remove all current Fragments
- _blockBox.clear();
-
- // Setup the one fragment for this Block with the correct X and
- // available width
-
- // FIXME: here should check whether the CSS already set recommended
- // width for this
- // block.
- _blockBox.setRecommendedWidth(line.getAvailableWidth());
-
- _blockBox._y = getFlowContext().getCurrentY();
-
- // FIXME: blockBox.x should be context.getBorderPaddingInsets().left
- // or just line.x ?
- _blockBox._x = 0;
- }
-
- Insets getBorderPaddingInsets() {
- // FIXME:
- return new Insets();
- }
-
- int getLinePadding() {
- return 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#dispose()
- */
- public void dispose() {
- // TODO: anything to dispose?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getContainerWidth()
- */
- public int getContainerWidth() {
- int width = Math.max(0, Math.max(_blockBox.getWidth(), _blockBox
- .getRecommendedWidth()));
- return width;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BoxUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BoxUtil.java
deleted file mode 100644
index b91e30ee1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/BoxUtil.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @author mengbo
- */
-public class BoxUtil {
- /**
- * @param box
- * @param style
- */
- public static void setupBorderPaddingMargin(FlowBox box, ICSSStyle style) {
- box.setMarginInsets(new Insets(style.getMarginInsets()));
- box.setBorderInsets(new Insets(style.getBorderInsets()));
- box.setPaddingInsets(new Insets(style.getPaddingInsets()));
-
- if (box.getBorderPaddingHeight() > box.getHeight()) {
- box.setHeight(box.getBorderPaddingHeight());
- }
- if (box.getBorderPaddingWidth() > box.getWidth()) {
- box.setWidth(box.getBorderPaddingWidth());
- }
- }
-
- /**
- * Debug code.
- *
- * @param g
- * @param box
- */
- public static void drawBox(Graphics g, FlowBox box) {
- Color color = null;
- if (box instanceof BlockBox) {
- // color = ColorConstants.red;
- } else if (box instanceof LineBox) {
- color = ColorConstants.blue;
- } else if (box instanceof TextFragmentBox) {
- color = ColorConstants.green;
- } else {
- color = ColorConstants.darkGreen;
- }
- if (color != null) {
- g.setForegroundColor(color);
- g.setLineStyle(Graphics.LINE_DASH);
- g.setLineWidth(1);
- g.drawRectangle(box._x, box._y, box.getWidth(), box.getHeight());
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBlockFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBlockFlowLayout.java
deleted file mode 100644
index e37deff4c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBlockFlowLayout.java
+++ /dev/null
@@ -1,745 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.css2.widget.BorderUtil;
-import org.eclipse.swt.graphics.FontMetrics;
-
-/**
- * The block layout for {@link CSSFigure}figures. Basic code structure is from
- * BlockFlowLayout.
- *
- * @author mengbo
- */
-public class CSSBlockFlowLayout extends CSSLayout implements ICSSPainter2 {
- private LineBox _previousLine = null;
-
- /**
- * the block box for the layout object
- */
- protected BlockBox _blockBox = null;
-
- /**
- * The font metrics for this layout object
- */
- protected FontMetrics _fontMetrices;
-
- int _userSpecifiedWidth;
-
- int _userSpecifiedHeight;
-
- /*
- * whether we need HScroll and VScroll when overflow is set to "scroll".
- * will be updated in "endBlock" and used in "paintFigurePostClientArea"
- */
- boolean _needHScroll = false;
-
- boolean _needVScroll = false;
-
- /**
- * Creates a new CSSBlockFlowLayout with the given BlockFlow.
- * @param cssfigure
- */
- public CSSBlockFlowLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /**
- * @return true if this layout box has more than one line
- */
- protected boolean hasMoreThanOneLine() {
- return _previousLine != null;
- }
-
- /**
- * @return true if this layout block is inline
- */
- public boolean isInlineBlock() {
- String obj = getCSSStyle().getDisplay();
- return ICSSPropertyID.VAL_INLINE_BLOCK.equals(obj)
- || ICSSPropertyID.VAL_INLINE_TABLE.equals(obj);
- }
-
- /**
- * @return true if should expand the width to all available width.
- */
- public boolean shouldExpand() {
- ICSSStyle style = getCSSStyle();
- if (style == null) {
- return false;
- }
- return "block".equalsIgnoreCase(style.getDisplay()) //$NON-NLS-1$
- || "list-item".equalsIgnoreCase(style.getDisplay()); //$NON-NLS-1$
- }
-
- // ---------------------------------------------------------------------------------------------------
- // preLayout stage. Major job is get the top-left corner information of the
- // new block.
-
- /**
- * sets up the single block that contains all of the lines.
- */
- protected void setupBlock() {
- // int recommended = line.getAvailableWidth();
- // if (recommended != previousRecommendedWidth)
- // Remove all current Fragments
- _blockBox.clear();
- // Ask for a new line, in case we are in the middle of a line
-
- if (!isInlineBlock()) {
- LineBox lineBox = getFlowContext().getCurrentLine();
- if (lineBox != null && !lineBox.isEmptyStringLine()) {
- getFlowContext().endLine();
- }
- }
-
- ICSSStyle style = getCSSStyle();
-
- // endLine will result in context create a new line, so we are in the
- // new line now.
- // passing in the top margin, and context will consider that when create
- // the new line.
- int marginTop = style.getMarginInsets().top;
- LineBox line = getFlowContext().getCurrentLine(marginTop);
-
- // Setup the one fragment for this Block with the correct X and
- // available width
-
- // FIXME: according to spec, when using percentage width/height, should
- // percentage to
- // the "containing block". But we don't have very good "containing
- // block" resolution
- // implementation yet.
-
- // calculate the min size
- // int minWidth = 0;
- // int minHeight = 0;
- // if (style != null)
- // {
- // // try to see whether there is any designer specified min size
- // ITagEditInfo info = (ITagEditInfo)
- // style.getAdapter(ITagEditInfo.class);
- // if (info != null)
- // {
- // minWidth = info.getMinWidth();
- // minHeight = info.getMinHeight();
- // }
- //
- // // CSS also has the min-width/min-height property. We should also get
- // that,
- // // and using the max of the "min-width" css property and the designer
- // specified min size.
- // int height = getLengthValue(style,ICSSPropertyID.ATTR_MIN_HEIGHT);
- // if(height > minHeight)
- // {
- // minHeight = height;
- // }
- // int width = getLengthValue(style,ICSSPropertyID.ATTR_MIN_WIDTH);
- // if(width > minWidth)
- // {
- // minWidth = width;
- // }
- // }
-
- // keep track of user specified size, this will be used when handling
- // the "overflow" CSS property.
- _userSpecifiedWidth = 0;
- _userSpecifiedHeight = 0;
-
- {
- int width = getLengthValue(style, ICSSPropertyID.ATTR_WIDTH);
-
- int availableWidth = line.getAvailableWidth()
- - style.getMarginInsets().getWidth();
- if (width <= 0) {
- // no width setting
- if (isCalculatingMaxWidth()) {
- _blockBox.setRecommendedWidth(Integer.MAX_VALUE);
- // _blockBox.setWidth( (minWidth>0?minWidth:0));
- } else {
- _blockBox.setRecommendedWidth(availableWidth);
- if (shouldExpand()) {
- _blockBox.setWidth(availableWidth);
- } else {
- // _blockBox.setWidth( (minWidth>0?minWidth:0));
- }
- }
- } else {
- int w = width;
- if (!style.isSizeIncludeBorderPadding()) {
- w += style.getBorderInsets().getWidth()
- + style.getPaddingInsets().getWidth();
- }
- // XXX: should we use minWidth or follow user's choice?
- // if (w < minWidth)
- // {
- // w = minWidth;
- // }
- _userSpecifiedWidth = w;
- _blockBox.setWidth(w);
- _blockBox.setRecommendedWidth(w);
- }
- }
-
- {
- int height = getLengthValue(style, ICSSPropertyID.ATTR_HEIGHT);
- // Object height =
- // style.getStyleProperty(ICSSPropertyID.ATTR_HEIGHT);
- // Length heightLength = (height instanceof Length) ? (Length)
- // height : null;
-
- if (height <= 0) {
- // if (minHeight > 0)
- // {
- // // _blockBox.setHeight(minHeight);
- // _blockBox.setRecommendedHeight(minHeight);
- // }
- // else
- {
- _blockBox.setHeight(0);
- _blockBox.setRecommendedHeight(0);
- }
- } else {
- int h = height;
- if (handlingBorderForBlock()
- && !style.isSizeIncludeBorderPadding()) {
- h += style.getBorderInsets().getHeight()
- + style.getPaddingInsets().getHeight();
- }
- // XXX: should we follow minHeight or user's choice?
- // if (minHeight > h)
- // {
- // h = minHeight;
- // }
- _userSpecifiedHeight = h;
- _blockBox.setHeight(h);
- _blockBox.setRecommendedHeight(h);
- }
- }
- _blockBox.setMarginInsets(new Insets(style.getMarginInsets()));
- if (handlingBorderForBlock()) {
- BoxUtil.setupBorderPaddingMargin(_blockBox, getCSSStyle());
- }
-
- // as in designer, we don't want to the element to have zero size, so
- // set a minimun size here.
- // _blockBox.setWidth(Math.max(20, _blockBox.getWidth()));
- // int minHeight = getCSSStyle().getCSSFont().getFontSize() +
- // _blockBox.getBorderPaddingHeight();
- // _blockBox.setHeight(Math.max(minHeight, _blockBox.getHeight()));
-
- _blockBox._y = line._y;
- _blockBox._x = line._x;
-
- setBlockVerticalAlign(_blockBox);
- }
-
- /**
- * @param style
- * @param property
- * @return the length value
- */
- protected int getLengthValue(ICSSStyle style, String property) {
- int lengthValue = 0;
- if (style != null) {
- Object object = style.getStyleProperty(property);
- Length lengthObj = (object instanceof Length) ? (Length) object
- : null;
-
- if (lengthObj != null) {
- lengthValue = lengthObj.getValue();
- if (lengthObj.isPercentage()) {
- if (ICSSPropertyID.ATTR_WIDTH.equalsIgnoreCase(property)
- || ICSSPropertyID.ATTR_MIN_WIDTH
- .equalsIgnoreCase(property)) {
- lengthValue = this.getFlowContext().getCurrentLine().getRecommendedContentWidth()
- * lengthValue / 100;
- } else if (ICSSPropertyID.ATTR_HEIGHT
- .equalsIgnoreCase(property)
- || ICSSPropertyID.ATTR_MIN_HEIGHT
- .equalsIgnoreCase(property)) {
- // XXX: we should omit it because we don't support
- // percentage height now.
- lengthValue = 0;
- }
- }
- }
- }
- return lengthValue;
- }
-
- private void setBlockVerticalAlign(BlockBox box) {
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- box.setVerticalAlignData(style
- .getStyleProperty(ICSSPropertyID.ATTR_VERTICAL_ALIGN));
- }
- }
-
- /**
- * @see FlowContainerLayout#preLayout()
- */
- protected void preLayout() {
- super.preLayout();
- _blockBox = new BlockBox();
- setupBlock();
- // Probably could setup current and previous line here, or just previous
- }
-
- // -------------------------------------------------------------------------------------------------------
- /**
- * layout the lines in this layout
- */
- protected void layoutLines() {
- List lines = _blockBox.getFragments();
- if (lines != null) {
- for (int i = 0; i < lines.size(); i++) {
- if (lines.get(i) instanceof LineBox) {
- layoutLine((LineBox) lines.get(i));
- }
- }
- }
- }
-
- /**
- * Called by flush(), adds the BlockBox associated with this BlockFlowLayout
- * to the current line and then ends the line.
- */
- protected void endBlock() {
- layoutLines();
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- int minWidth = 0;
- int minHeight = 0;
- // try to see whether there is any designer specified min size
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null) {
- minWidth = info.getMinWidth();
- minHeight = info.getMinHeight();
- }
-
- // CSS also has the min-width/min-height property. We should also
- // get that,
- // and using the max of the "min-width" css property and the
- // designer specified min size.
- int height = getLengthValue(style, ICSSPropertyID.ATTR_MIN_HEIGHT);
- if (height > minHeight) {
- minHeight = height;
- }
- int width = getLengthValue(style, ICSSPropertyID.ATTR_MIN_WIDTH);
- if (width > minWidth) {
- minWidth = width;
- }
- if (minHeight > _blockBox.getHeight()) {
- _blockBox.setHeight(minHeight);
- }
- if (minWidth > _blockBox.getWidth()) {
- _blockBox.setWidth(minWidth);
- }
- }
-
- // reset scroll information.
- this._needHScroll = this._needVScroll = false;
-
- // ok, now we need to adjust the _blockBox's size according to the
- // "overflow" setting.
- // depends on different "overflow" style of this block, different sizing
- // policy may apply.
- // ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- Object overflow = style
- .getStyleProperty(ICSSPropertyID.ATTR_OVERFLOW);
- if (ICSSPropertyID.VAL_HIDDEN.equals(overflow)) {
- if (_userSpecifiedWidth > 0) {
- _blockBox.setWidth(_userSpecifiedWidth);
- }
- if (_userSpecifiedHeight > 0) {
- _blockBox.setHeight(_userSpecifiedHeight);
- }
- } else if (ICSSPropertyID.VAL_SCROLL.equals(overflow)
- || ICSSPropertyID.VAL_AUTO.equals(overflow)) {
- // adjust _needHScroll and _needVScroll
- if (_userSpecifiedWidth > 0
- && _userSpecifiedWidth < _blockBox.getWidth()) {
- _needHScroll = true;
- }
- if (_userSpecifiedHeight > 0
- && _userSpecifiedHeight < _blockBox.getHeight()) {
- _needVScroll = true;
- }
- if (_needHScroll && !_needVScroll) {
- if (_userSpecifiedHeight > 0
- && _blockBox.getInternalContentHeight() >= 0
- && _userSpecifiedHeight < _blockBox
- .getInternalContentHeight()
- + _blockBox.getPaddingInsets().getHeight()
- + BorderUtil.SCROLL_WIDTH) {
- _needVScroll = true;
- }
- }
- if (!_needHScroll && _needVScroll) {
- if (_userSpecifiedWidth > 0
- && _blockBox.getInternalContentWidth() >= 0
- && _userSpecifiedWidth < _blockBox
- .getInternalContentWidth()
- + _blockBox.getPaddingInsets().getWidth()
- + BorderUtil.SCROLL_WIDTH) {
- _needHScroll = true;
- }
- }
-
- if (_userSpecifiedWidth > 0) {
- _blockBox.setWidth(_userSpecifiedWidth);
- }
- if (_userSpecifiedHeight > 0) {
- _blockBox.setHeight(_userSpecifiedHeight);
- }
- }
- }
-
- if (getFlowContext().isCurrentLineOccupied()
- && getFlowContext().getCurrentLine().getAvailableWidth() < _blockBox._width
- + _blockBox.getMarginInsets().getWidth()) {
- getFlowContext().endLine();
- }
- if (!isInlineBlock()) {
- LineBox line = getFlowContext().getCurrentLine();
- line.setHorizonalData(getCSSStyle().getStyleProperty(
- ICSSPropertyID.ATTR_HORIZONTAL_ALIGN));
- line.setHtmlInitData(getCSSStyle().getHTMLelementInitValue(
- ICSSPropertyID.ATTR_HORIZONTAL_ALIGN));
- line.add(_blockBox);
- // getFlowContext().addToCurrentLine(_blockBox);
- } else {
- getFlowContext().addToCurrentLine(_blockBox);
- }
- getFlowContext().getCurrentLine().getMarginInsets().bottom = getCSSStyle()
- .getMarginInsets().bottom;
-
- if (!isInlineBlock()) {
- getFlowContext().endLine();
- }
- }
-
- /**
- * @param line
- */
- protected void layoutLine(LineBox line) {
- // currentLine.x = 0; //XXX: comment out, don't understand why set to 0,
- // because it has already
- // been set when setupLine(). And if do need, should
- // set to getBorderPaddingInsets().left
- // if (!isInlineBlock() && shouldExpand())
- // {
- // FIXME: currently we are using getRecommendedContentWidth,
- // what happen if after adding the new line, the new width is bigger
- // than
- // recommendedContentWidth? should we use getWidth() instead of
- // recommendedcontentWidth?
- Object textalign = line.getHorizonalData();
- if (textalign == null
- || ICSSPropertyMeta.NOT_SPECIFIED.equals(textalign)) {
- textalign = (getCSSStyle()
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN));
- }
- if (textalign == null
- || ICSSPropertyMeta.NOT_SPECIFIED.equals(textalign)) {
- textalign = line.getHtmlInitData();
- }
- if (ICSSPropertyID.VAL_RIGHT.equals(textalign)) {
- line._x = _blockBox.getContentWidth() - line.getWidth();
- } else if (ICSSPropertyID.VAL_CENTER.equals(textalign)) {
- line._x = (_blockBox.getContentWidth() - line.getWidth()) / 2;
- }
-
- if (line._x < 0) {
- line._x = 0;
- }
- line.commit();
- }
-
- /**
- * Adjust all fragments in the current line to have the same baseline. Do
- * any additional adjustments, such as horizontal alignment.
- */
- protected void addCurrentLine() {
- // The follow code is commented out, and moved into layoutLine(line)
- // called by endBlock().
- // since only when endBlock is called we really know how big is this
- // block box, and then can
- // do horizontal alignment.
- // // currentLine.x = 0; //XXX: comment out, don't understand why set to
- // 0, because it has already
- // // been set when setupLine(). And if do need, should
- // // set to getBorderPaddingInsets().left
- // if (!isInlineBlock() && shouldExpand())
- // {
- // // FIXME: currently we are using getRecommendedContentWidth,
- // // what happen if after adding the new line, the new width is bigger
- // than
- // // recommendedContentWidth? should we use getWidth() instead of
- // // recommendedcontentWidth?
- //
- // Object textalign =
- // (getCSSStyle().getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN));
- // if (textalign == ICSSPropertyID.VAL_RIGHT)
- // {
- // _currentLine._x = _blockBox.getContentWidth() +
- // _blockBox.getBorderPaddingInsets().left - _currentLine.getWidth();
- // }
- // else if (textalign == ICSSPropertyID.VAL_CENTER)
- // {
- //
- // _currentLine._x = _blockBox.getBorderPaddingInsets().left +
- // (_blockBox.getContentWidth() - _currentLine.getWidth()) / 2;
- // }
- // if (_currentLine._x < 0)
- // _currentLine._x = 0;
- // }
- //
- // // FIXME: should check vertical alignment here?
- // _currentLine.commit();
-
- // layoutLine(_currentLine);
- _blockBox.add(_currentLine);
- }
-
- /**
- * @see FlowContainerLayout#flush()
- */
- protected void flush() {
- if (_currentLine != null && _currentLine.isOccupied()) {
- addCurrentLine();
- }
- endBlock();
- }
-
- /**
- * @see FlowContainerLayout#cleanup()
- */
- protected void cleanup() {
- _currentLine = _previousLine = null;
- _fontMetrices = null;
- }
-
- // ----------------------------------------------------------------------------------
-
- /**
- * Override to setup the line's x, remaining, and available width.
- *
- * @param line
- * the LineBox to set up
- * @param topMargin
- */
- protected void setupLine(LineBox line, int topMargin) {
- line.clear();
-
- // the caller of getCurrentLine() may add leftMargin and leftPadding and
- // leftBorder to line.x
- line._x = 0;
-
- // FIXME: here should check the floating boxes, and minus the width of
- // them from
- // current line.
- line.setRecommendedWidth(_blockBox.getRecommendedContentWidth());
- if (_previousLine == null) {
- line._y = 0;
- if (topMargin != Integer.MIN_VALUE) {
- line._y += topMargin;
- }
- } else {
- if (topMargin == Integer.MIN_VALUE) {
- line._y = _previousLine._y + _previousLine.getHeight()
- + getLinePadding() + _previousLine.getMarginInsets().bottom; // XXX:
- // should
- // add
- // previous
- // margin
- // bottom?
- } else {
- line._y = _previousLine._y
- + _previousLine.getHeight()
- + Math.max(topMargin,
- _previousLine.getMarginInsets().bottom);
- }
- }
- setFontinfoForLine(line);
- // line.validate();
- }
-
- private void setFontinfoForLine(LineBox line) {
-
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- if (_fontMetrices == null) {
- // as getSwtFont is resource consuming, so we cache the
- // _fontMetrics.
- _fontMetrices = FigureUtilities.getFontMetrics(style
- .getCSSFont().getSwtFont());
- }
- line.setFontMetrics(_fontMetrices);
- }
- }
-
- /**
- * @see FlowContainerLayout#createNewLine()
- */
- protected void createNewLine() {
- _currentLine = new LineBox();
- setupLine(_currentLine, Integer.MIN_VALUE);
- }
-
- protected void createNewLine(int topmargin) {
- _currentLine = new LineBox();
- setupLine(_currentLine, topmargin);
- }
-
- /**
- * @see FlowContext#endLine()
- */
- public void endLine() {
- // this is called from child layouts.
- // If there is no current line, state is equivalent to new line
- if (_currentLine == null) {
- return;
- }
- if (_currentLine.isOccupied()) {
- addCurrentLine(); // finalize the current line layout
- } else {
- _currentLine = null;
- return;
- }
-
- LineBox box = _currentLine;
- // _currentLine = _previousLine; //XXX: ???? why (yang)
- _previousLine = box;
-
- _currentLine = null;
- // setupLine(getCurrentLine());
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentY()
- */
- public int getCurrentY() {
- return getCurrentLine()._y; // FIXME: margin of previous block?
- }
-
- int getLinePadding() {
- return 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#useLocalCoordinates()
- */
- public boolean useLocalCoordinates() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#dispose()
- */
- public void dispose() {
- //
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSLayout#getFragmentsForRead()
- */
- public List getFragmentsForRead() {
- List r = new ArrayList(1);
- r.add(_blockBox);
- return r;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSLayout#postValidate()
- */
- public void postValidate() {
-
- Rectangle r = new Rectangle(_blockBox._x, _blockBox._y, _blockBox
- .getWidth(), _blockBox.getHeight());
- getCSSFigure().setBounds(r);
- List list = getCSSFigure().getChildren();
- for (int i = 0; i < list.size(); i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getContainerWidth()
- */
- public int getContainerWidth() {
- int width = Math.max(0, Math.max(_blockBox.getWidth(), _blockBox
- .getRecommendedWidth()));
- return width;
- }
-
- /**
- * when the "overflow" is "scroll", we need to paint the scrollbar
- */
- public void paintFigurePostClientArea(Graphics g) {
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- Object overflow = style
- .getStyleProperty(ICSSPropertyID.ATTR_OVERFLOW);
- if (ICSSPropertyID.VAL_SCROLL.equals(overflow)
- || ICSSPropertyID.VAL_AUTO.equals(overflow)) {
- if (this._needHScroll || this._needVScroll) {
- // as this is using localCoordinate, so translate to
- // relative to left/up corder of whole
- // blockbox.
- g.translate(-_blockBox.getBorderPaddingInsets().left,
- -_blockBox.getBorderPaddingInsets().top);
-
- Rectangle rect = new Rectangle(0, 0, _blockBox.getWidth(),
- _blockBox.getHeight());
- rect.crop(_blockBox.getBorderInsets());
-
- if (this._needHScroll && this._needVScroll) {
- BorderUtil.drawScrollBar(g, BorderUtil.SCROLL_WIDTH,
- rect, BorderUtil.BOTH);
- } else if (this._needHScroll) {
- BorderUtil.drawScrollBar(g, BorderUtil.SCROLL_WIDTH,
- rect, BorderUtil.HORIZONTAL_BAR);
- } else if (this._needVScroll) {
- BorderUtil.drawScrollBar(g, BorderUtil.SCROLL_WIDTH,
- rect, BorderUtil.VERTICAL_BAR);
- }
- }
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBrFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBrFlowLayout.java
deleted file mode 100644
index c69430d5b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSBrFlowLayout.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author mengbo
- */
-public class CSSBrFlowLayout extends CSSInlineFlowLayout implements ICSSPainter {
-
- private static final String LINE_BREAK_IMAGE_FILE = "LineBreak.gif"; //$NON-NLS-1$
-
- /**
- * @param flow
- */
- public CSSBrFlowLayout(CSSFigure flow) {
- super(flow);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSInlineFlowLayout#flush()
- */
- protected void flush() {
- FlowBox forcedBox = new FlowBox();
- forcedBox.setWidth(16);
- forcedBox.setHeight(getCSSStyle().getCSSFont().getXHeight());
- addToCurrentLine(forcedBox);
- endLine();
-
- FlowBox flowbox = new FlowBox();
- flowbox.setHeight(getCSSStyle().getCSSFont().getFontSize());
- getCurrentLine().add(flowbox);
-
- super.flush();
- }
-
- public void paintFigure(Graphics g) {
- List fragments = getFragmentsForRead();
- if (!fragments.isEmpty()) {
- FlowBox box = (FlowBox) fragments.get(0);
- g.drawImage(getSharedHTMLImage(), new Point(box._x, box._y));
- }
- }
-
- private static Image getSharedHTMLImage() {
-
- return PDPlugin.getDefault().getImage(LINE_BREAK_IMAGE_FILE);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSFigure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSFigure.java
deleted file mode 100644
index 580b34726..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSFigure.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.border.CSSBorder;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.VisibilityMeta;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-import org.eclipse.jst.pagedesigner.css2.widget.BorderUtil;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Normally a CSSFigure is a container. It's layout will be driven by different
- * display type information from the style.
- *
- * Each CSSFigure will be driven by ICSSStyle, the display type of the ICSSStyle
- * will decide the layout to be used for the figure.
- *
- * @author mengbo
- */
-public class CSSFigure extends FlowFigure implements ICSSFigure {
- private static Logger _log = PDPlugin.getLogger(CSSFigure.class);
-
- private static final Rectangle PRIVATE_RECT = new Rectangle();
-
- private ICSSStyle _style;
-
- // if this field is set, then regetLayout() will still return this layout,
- // without going through the CSS resolution
- private CSSLayout _fixedLayout;
-
- /**
- * Default constructor
- * Equivalent to CSSFigure(DefaultStyle.getInstance())
- */
- public CSSFigure() {
- this(DefaultStyle.getInstance());
- }
-
- /**
- * @param style
- */
- public CSSFigure(ICSSStyle style) {
- _style = style;
- invalidateCSS();
- }
-
- public ICSSStyle getCSSStyle() {
- return _style;
- }
-
- /**
- * @param style
- */
- public void setCSSStyle(ICSSStyle style) {
- _style = style;
- invalidateCSS();
- }
-
- public void revalidate() {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- layout.figureRevalidate();
- super.revalidate();
- }
-
- /**
- * this method is called when the css source noticed style change. So tell
- * the figure should invalidate its cached data.
- */
- public void invalidateCSS() {
- // maybe we changed from inline to block or block to inline
- // XXX: or even to table?
- CSSLayout layout = regetLayout(getLayoutManager());
- this.setLayoutManager(layout);
- }
-
- /**
- * @param layout
- */
- public void setFixedLayoutManager(CSSLayout layout) {
- this._fixedLayout = layout;
- this.setLayoutManager(regetLayout(getLayoutManager()));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#setLayoutManager(org.eclipse.draw2d.LayoutManager)
- */
- public void setLayoutManager(LayoutManager manager) {
- LayoutManager old = getLayoutManager();
- if (old != manager) {
- FlowContext context = null;
- if (old instanceof FlowFigureLayout) {
- context = ((FlowFigureLayout) old).getOriginalFlowContext();
- }
- if (manager instanceof FlowFigureLayout) {
- ((FlowFigureLayout) manager).setOriginalFlowContext(context);
- }
-
- if (manager instanceof FlowContext) {
- List list = getChildren();
- for (int i = 0, size = list.size(); i < size; i++) {
- try {
- ((FlowFigure) list.get(i))
- .setOriginalFlowContext((FlowContext) manager);
- } catch (ClassCastException classcastexception) {
- // Error in flowContext setting.
- _log.error("Error.CSSFigure.0", classcastexception); //$NON-NLS-1$
- }
- }
- }
- }
- super.setLayoutManager(manager);
- }
-
- /**
- * @param old
- * @return the layout
- */
- protected CSSLayout regetLayout(LayoutManager old) {
- if (_fixedLayout != null) {
- return _fixedLayout;
- }
- CSSLayout layout = DisplayToLayout.displayToLayout(this, getCSSStyle()
- .getDisplay(), old);
- if (layout != null) {
- return layout;
- }
- return new CSSInlineFlowLayout(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#containsPoint(int, int)
- */
- public boolean containsPoint(int x, int y) {
- // check whether any float figure contains it.
- // FIXME: need check floating figure here!!!
- if (!super.containsPoint(x, y)) {
- return false;
- }
- List frags = getFragmentsForRead();
- // Here we should not get void pointer.
- if (frags != null) {
- for (int i = 0; i < frags.size(); i++) {
- FlowBox box = (FlowBox) frags.get(i);
- if (box != null && box.containsPoint(x, y)) {
- return true;
- }
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure#getFragmentsForRead()
- */
- public List getFragmentsForRead() {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- return layout.getFragmentsForRead();
- }
-
- /**
- * this method is a shortcut to getFragmentsForRead
- *
- * @return fragment bounds
- */
- public Rectangle[] getFragmentsBounds() {
- List list = getFragmentsForRead();
- if (list == null || list.size() == 0) {
- // should not happen. but still handle it.
- return new Rectangle[] { getBounds() };
- }
- Rectangle[] ret = new Rectangle[list.size()];
- for (int i = 0, size = list.size(); i < size; i++) {
- FlowBox box = (FlowBox) list.get(i);
- ret[i] = new Rectangle(box._x, box._y, box.getWidth(), box
- .getHeight());
- }
- return ret;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#setBounds(org.eclipse.draw2d.geometry.Rectangle)
- */
- public void setBounds(Rectangle r) {
- if (getBounds().equals(r)) {
- return;
- }
- boolean invalidate = getBounds().width != r.width
- || getBounds().height != r.height;
- super.setBounds(r);
-
- CSSLayout layout = (CSSLayout) this.getLayoutManager();
- layout.setBoundsCalled(r, invalidate);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigure#postValidate()
- */
- public void postValidate() {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- layout.postValidateForAbsolute();
- layout.postValidate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#validate()
- */
- public void validate() {
- super.validate();
- // should not call this.postValidate() here. PostValidate() should
- // only be started from the FlowPage. Otherwise it will be called
- // multiple times on a figure.
- // this.postValidate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#useLocalCoordinates()
- */
- protected boolean useLocalCoordinates() {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- if (layout == null) {
- return false;
- }
- return layout.useLocalCoordinates();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#paint(org.eclipse.draw2d.Graphics)
- */
- public void paint(Graphics graphics) {
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- Object visibility = style
- .getStyleProperty(ICSSPropertyID.ATTR_VISIBILITY);
- // handle visibility: hidden here.
- // TODO: "collapse" is not supported yet!
- if (VisibilityMeta.HIDDEN.equals(visibility)) {
- return;
- }
- }
-
- CSSLayout layout = (CSSLayout) this.getLayoutManager();
- graphics.pushState();
- try {
- paintFigure(graphics);
- graphics.restoreState();
- paintClientArea(graphics);
- if (layout instanceof ICSSPainter2) {
- if (useLocalCoordinates()) {
- graphics.translate(getBounds().x + getInsets().left,
- getBounds().y + getInsets().top);
- ((ICSSPainter2) layout).paintFigurePostClientArea(graphics);
- graphics.restoreState();
- } else {
- ((ICSSPainter2) layout).paintFigurePostClientArea(graphics);
- }
- }
- paintBorder(graphics);
- } finally {
- graphics.popState();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigure#paintFigure(org.eclipse.draw2d.Graphics)
- */
- protected void paintFigure(Graphics g) {
- Color rgbColor = null;
- boolean fillArea = false;
- Object bg = getCSSStyle().getBackgroundColor();
- if (bg instanceof RGB) {
- rgbColor = new Color(null, (RGB) bg);
- g.setBackgroundColor(rgbColor);
- fillArea = true;
- } else if (bg instanceof Color) {
- g.setBackgroundColor((Color) bg);
- fillArea = true;
- }
- if (fillArea) {
- List fragments = getFragmentsForRead();
-
- for (int i = 0, n = fragments.size(); i < n; i++) {
- Object obj = fragments.get(i);
- if (obj instanceof FlowBox) {
- FlowBox box = (FlowBox) obj;
- g.fillRectangle(box._x, box._y, box.getWidth(), box
- .getHeight());
- }
- }
- }
- if (rgbColor != null) {
- rgbColor.dispose();
- }
- g.restoreState();
-
- //handle background-image
- Object bgImage = getCSSStyle().getStyleProperty(ICSSPropertyID.ATTR_BACKGROUND_IMAGE);
- if (bgImage instanceof Image) {
- g.setClip(bounds);
- g.drawImage((Image)bgImage, bounds.x, bounds.y);
- g.restoreState();
- }
-
- LayoutManager layout = getLayoutManager();
- if (layout instanceof ICSSPainter) {
- if (useLocalCoordinates()) {
- g.translate(getBounds().x + getInsets().left, getBounds().y
- + getInsets().top);
- ((ICSSPainter) layout).paintFigure(g);
- g.restoreState();
- } else {
- ((ICSSPainter) layout).paintFigure(g);
- }
- }
-
- // paint selected mode here.
- paintSelection(g);
-
- if (Debug.DEBUG_BOX) {
- // draw two levels of boxes. Since normally each figure will only
- // have two levels of boxes.
- List fragments = this.getFragmentsForRead();
- for (int i = 0, size = fragments.size(); i < size; i++) {
- FlowBox box = (FlowBox) fragments.get(i);
- BoxUtil.drawBox(g, box);
- if (box instanceof BlockBox) {
- BlockBox compositeBox = (BlockBox) box;
- List list = compositeBox.getFragments();
- for (int j = 0; j < list.size(); j++) {
- g.translate(this.getInsets().left,
- this.getInsets().right);
- BoxUtil.drawBox(g, (FlowBox) list.get(j));
- g.restoreState();
- }
- }
- }
- }
- if (Debug.DEBUG_BASELINE) {
- List fragments = this.getFragmentsForRead();
- for (int i = 0, size = fragments.size(); i < size; i++) {
- Object obj = fragments.get(i);
- if (obj instanceof LineBox) {
- LineBox linebox = (LineBox) obj;
- g.setForegroundColor(ColorConstants.red);
- g.drawLine(linebox._x, linebox._y + linebox.getAscent(),
- linebox._x + linebox.getWidth(), linebox._y
- + linebox.getAscent());
- }
- }
- }
-
- if (Debug.DEBUG_BORDERPADDING) {
- if (this.getLayoutManager() instanceof CSSBlockFlowLayout) {
- g.setLineWidth(1);
- Rectangle rect = getBounds().getCopy().crop(getInsets());
- g.setForegroundColor(ColorConstants.green);
- g.drawRectangle(rect);
- g.setForegroundColor(ColorConstants.red);
- g.drawRectangle(getBounds());
- }
- }
-
- if (Debug.DEBUG_BOX) {
- CSSLayout csslayout = (CSSLayout) this.getLayoutManager();
- if (csslayout.getAbsoluteContext() != null) {
- BlockBox blockbox = csslayout.getAbsoluteContext()._blockBox;
- g.setLineWidth(1);
- g.setForegroundColor(ColorConstants.green);
- g.drawRectangle(blockbox._x, blockbox._y, blockbox.getWidth(),
- blockbox.getHeight());
- }
- }
- }
-
- /**
- * Paints this Figure's client area. The client area is typically defined as
- * the anything inside the Figure's {@link org.eclipse.draw2d.Border} or {@link org.eclipse.draw2d.geometry.Insets}, and
- * by default includes the children of this Figure. On return, this method
- * must leave the given Graphics in its initial state.
- *
- * @param graphics
- * The Graphics used to paint
- * @since 2.0
- */
- protected void paintClientArea(Graphics graphics) {
- if (this.getChildren().isEmpty()) {
- return;
- }
-
- Object overflow = ICSSPropertyID.VAL_VISIBLE;
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- overflow = style.getStyleProperty(ICSSPropertyID.ATTR_OVERFLOW);
- }
-
- boolean optimizeClip = ICSSPropertyID.VAL_VISIBLE.equals(overflow);
-
- if (useLocalCoordinates()) {
- graphics.translate(getBounds().x + getInsets().left, getBounds().y
- + getInsets().top);
- if (!optimizeClip) {
- graphics.clipRect(getClientArea(PRIVATE_RECT));
- }
- graphics.pushState();
- paintChildren(graphics);
- graphics.popState();
- graphics.restoreState();
- } else {
- if (optimizeClip) {
- paintChildren(graphics);
- } else {
- graphics.clipRect(getClientArea(PRIVATE_RECT));
- graphics.pushState();
- paintChildren(graphics);
- graphics.popState();
- graphics.restoreState();
- }
- }
- }
-
- /**
- * @param g
- */
- protected void paintSelection(Graphics g) {
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- if (style.isInSelection()) {
- ITagEditInfo editInfo = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (editInfo != null && editInfo.isWidget()) {
- BorderUtil.maskFigure(this, g);
- }
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#paintBorder(org.eclipse.draw2d.Graphics)
- */
- protected void paintBorder(Graphics graphics) {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- if (layout != null && !layout.handlingBorderForBlock()) {
- return;
- }
-
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- CSSBorder border1 = new CSSBorder(this.getCSSStyle());
- border1.paint(this, graphics, NO_INSETS);
-
- // draw a border for those special elements like <h:form>, etc.
- ITagEditInfo editInfo = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (editInfo != null && editInfo.needBorderDecorator()) {
- BorderUtil.drawBorderDecorator(this, graphics);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#getInsets()
- */
- public Insets getInsets() {
- CSSLayout layout = (CSSLayout) getLayoutManager();
- if (layout != null && !layout.handlingBorderForBlock()) {
- return new Insets();
- }
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- return style.getBorderInsets().getAdded(style.getPaddingInsets());
- }
- return new Insets();
- }
-
- /**
- * FIXME: need trace the implementation of Figure.invalidate() We want to
- * just mark this figure as invalid, but don't want to the layout get
- * invalidated.
- *
- */
- public void invalidate2() {
- if (!isValid())
- return;
- // if (getLayoutManager() != null)
- // getLayoutManager().invalidate();
- setValid(false);
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSInlineFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSInlineFlowLayout.java
deleted file mode 100644
index 39ddf89b4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSInlineFlowLayout.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-
-/**
- * The layout manager for {@link CSSFigure}figures. This class is based on
- * InlineFlowLayout of draw2d.
- *
- * @author mengbo
- */
-public class CSSInlineFlowLayout extends CSSLayout {
- List _fragments = new ArrayList();
-
- /**
- * Creates a new InlineFlowLayout with the given FlowFigure.
- *
- * @param flow
- * The FlowFigure
- */
- public CSSInlineFlowLayout(CSSFigure flow) {
- super(flow);
- }
-
- /**
- * Clears out all fragments prior to the call to layoutChildren().
- */
- public void preLayout() {
- super.preLayout();
- _fragments.clear();
- // force creating of the first line. avoid empty element don't have
- // fragments.
- // createFirstLine();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#layoutChildren()
- */
- protected void layoutChildren() {
- // For designer, to make it to have some size. otherwise can't
- // be found on screen.
- // List children = getCSSFigure().getChildren();
- // if (children.size() == 0)
- // {
- // FlowBox box = new FlowBox();
- // box._height = getCSSStyle().getCSSFont().getFontSize();
- // box._width = 2;
- // addToCurrentLine(box);
- //
- // }
- super.layoutChildren();
- }
-
- /**
- * Adds the given FlowBox to the current line of this InlineFlowLayout.
- *
- * @param block
- * the FlowBox to add to the current line
- */
- public void addToCurrentLine(FlowBox block) {
- getCurrentLine().add(block);
- // XXX: ???: will currentLine be added multiple times to fragments?
- // (yang)
- // _fragments.add(_currentLine);
- }
-
- private void createFirstLine() {
- _currentLine = new LineBox();
- setupLine(_currentLine, true);
- _fragments.add(_currentLine);
- }
-
- /**
- * @see FlowContainerLayout#createNewLine()
- */
- protected void createNewLine() {
- _currentLine = new LineBox();
- setupLine(_currentLine, false);
- _fragments.add(_currentLine);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#createNewLine(int)
- */
- protected void createNewLine(int topMargin) {
- // inline flow don't support vertical margin.
- createNewLine();
- }
-
- /**
- * @see FlowContainerLayout#cleanup()
- */
- protected void cleanup() {
- _currentLine = null;
- }
-
- /**
- * @see FlowContainerLayout#flush()
- */
- protected void flush() {
- if (_fragments.isEmpty()) {
- createFirstLine();
- } else if (_fragments.size() == 1) {
-
- ICSSStyle style = getCSSStyle();
- int minWidth = 0, minHeight = 0;
- // try to see whether there is any designer specified min size
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null) {
- minWidth = info.getMinWidth();
- minHeight = info.getMinHeight();
- }
- FlowBox box = (FlowBox) _fragments.get(0);
- if (minWidth > box._width) {
- box._width = minWidth;
- }
- if (minHeight > box._height) {
- box._height = minHeight;
- }
- }
-
- if (_currentLine != null /* && _currentLine.isOccupied() */) {
- _currentLine.getMarginInsets().right = getCSSStyle().getMarginInsets().right;
- getFlowContext().addToCurrentLine(_currentLine);
- }
-
- }
-
- /**
- * @see FlowContext#endLine()
- */
- public void endLine() {
- if (_currentLine == null) {
- getFlowContext().endLine();
- return;
- }
- // If nothing was ever placed in the line, ignore it. and if the line is
- // the first line, just remove it.
- if (_currentLine.isOccupied()) {
- getFlowContext().addToCurrentLine(_currentLine);
- } else if (_fragments.size() == 1) {
- _fragments.remove(0);
- }
- getFlowContext().endLine();
- _currentLine = null;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentY()
- */
- public int getCurrentY() {
- return getCurrentLine()._y;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#isCurrentLineOccupied()
- */
- public boolean isCurrentLineOccupied() {
- if (_currentLine == null) {
- return getFlowContext().isCurrentLineOccupied();
- } else if (_currentLine.getFragments().isEmpty()) {
- return getFlowContext().isCurrentLineOccupied();
- } else {
- return true;
- }
- }
-
- /**
- * Initializes the given LineBox. Called by createNewLine().
- *
- * @param line
- * The LineBox to initialize.
- * @param firstline
- */
- protected void setupLine(LineBox line, boolean firstline) {
- LineBox parent = getFlowContext().getCurrentLine();
- line._x = 0;
- line._y = getFlowContext().getCurrentY();
-
- line.setRecommendedWidth(parent.getAvailableWidth());
-
- setLineVerticalAlign(line);
- setFontinfoForLine(line);
-
- if (firstline && getCSSStyle() != null) {
- ICSSStyle style = getCSSStyle();
- int minWidth = 0, minHeight = 0;
- // try to see whether there is any designer specified min size
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null) {
- minWidth = info.getMinWidth();
- minHeight = info.getMinHeight();
- }
-
- // // CSS also has the min-width/min-height property. We should also
- // get that,
- // // and using the max of the "min-width" css property and the
- // designer specified min size.
- // int height =
- // getLengthValue(style,ICSSPropertyID.ATTR_MIN_HEIGHT);
- // if(height > minHeight)
- // {
- // minHeight = height;
- // }
- // int width = getLengthValue(style,ICSSPropertyID.ATTR_MIN_WIDTH);
- // if(width > minWidth)
- // {
- // minWidth = width;
- // }
- if (minWidth > 0) {
- line.setWidth(minWidth);
- }
- int fontHeight = this.getCSSStyle().getCSSFont().getXHeight();
- if (minHeight > 0 && minHeight > fontHeight) {
- line.setHeight(minHeight);
- } else {
- line.setHeight(fontHeight);
- }
- }
- }
-
- private void setLineVerticalAlign(LineBox box) {
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- box.setVerticalAlignData(style
- .getStyleProperty(ICSSPropertyID.ATTR_VERTICAL_ALIGN));
- }
- }
-
- private void setFontinfoForLine(LineBox line) {
-
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- line.setFontMetrics(FigureUtilities.getFontMetrics(style
- .getCSSFont().getSwtFont()));
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#dispose()
- */
- public void dispose() {
- //
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSLayout#getFragmentsForRead()
- */
- public List getFragmentsForRead() {
- return _fragments;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSLayout#postValidate()
- */
- public void postValidate() {
- List list = _fragments;
-
- FlowBox box;
- int left = Integer.MAX_VALUE, top = left;
- int right = Integer.MIN_VALUE, bottom = right;
- for (int i = 0; i < list.size(); i++) {
- box = (FlowBox) list.get(i);
- // if (box instanceof LineBox && !((LineBox) box).isOccupied())
- // {
- // continue; // skip unoccupied line
- // }
- left = Math.min(left, box._x);
- right = Math.max(right, box._x + box._width);
- top = Math.min(top, box._y);
- bottom = Math.max(bottom, box._y + box._height);
- }
- getCSSFigure().setBounds(
- new Rectangle(left, top, right - left, bottom - top));
- list = getCSSFigure().getChildren();
- for (int i = 0; i < list.size(); i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getContainerWidth()
- */
- public int getContainerWidth() {
- // FIXME: don't really understand what means for inline
- return this.getFlowContext().getContainerWidth();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSLayout.java
deleted file mode 100644
index d47bdbbb9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSLayout.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.PositionMeta;
-import org.eclipse.jst.pagedesigner.css2.property.VerticalAlignMeta;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-
-/**
- * CSSLayout is the base layout manager for different CSS layouts, such as block
- * layout, inline layout (possible in the future table layout, etc)
- *
- * @author mengbo
- */
-public abstract class CSSLayout extends FlowFigureLayout implements FlowContext {
- private BlockFlowContext _absoluteContext;
-
- // when doing absolute layout, and if top/left are both "auto", it will be
- // relating to the normaly flow position. The following two fields try to
- // catch normal flow layout position.
- // int _xForAbsolute;
- // int _yForAbsolute;
- private FlowBox _boxForAbsolute;
-
- /**
- * the current line
- */
- protected LineBox _currentLine;
-
- private boolean _calculatingMaxWidth = false;
-
- /**
- * @param flowFigure
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#FlowFigureLayout(FlowFigure)
- */
- protected CSSLayout(CSSFigure flowFigure) {
- super(flowFigure);
- }
-
- /**
- * a shortcut method to get the style associated with the figure.
- *
- * @return the css style
- */
- public ICSSStyle getCSSStyle() {
- return getCSSFigure().getCSSStyle();
- }
-
- /**
- * @return the absolute context
- */
- protected final BlockFlowContext getAbsoluteContext() {
- return _absoluteContext;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#addToCurrentLine(FlowBox)
- */
- public void addToCurrentLine(FlowBox block) {
- getCurrentLine().add(block);
- }
-
- /**
- * Used by getCurrentLine().
- */
- protected abstract void createNewLine();
-
- /**
- * Used by getCurrentLine(int topmargin)
- *
- * @param topMargin
- */
- protected void createNewLine(int topMargin) {
- createNewLine();
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine()
- */
- public LineBox getCurrentLine() {
- if (_currentLine == null) {
- createNewLine();
- }
- return _currentLine;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine(int)
- */
- public LineBox getCurrentLine(int topMargin) {
- if (_currentLine == null) {
- createNewLine(topMargin);
- }
- // if the current line only contains an empty string, reset the current
- // line using the given margin.
- else if (_currentLine.isEmptyStringLine()) {
- List list = _currentLine.getFragments();
- createNewLine(topMargin);
- _currentLine._fragments.addAll(list);
- }
- return _currentLine;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCurrentLineOccupied
- */
- public boolean isCurrentLineOccupied() {
- return _currentLine != null && _currentLine.isOccupied();
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#layout()
- */
- protected void layout() {
- preLayout();
- layoutChildren();
- flush();
- cleanup();
- }
-
- /**
- * @return true if is absolute position
- */
- protected final boolean isAbsolutePosition() {
- ICSSStyle style = getCSSStyle();
-
- // FIXME: Some layout don't support absolute, need check here
- if (style != null) {
- Object obj = style.getStyleProperty(ICSSPropertyID.ATTR_POSITION);
- if (PositionMeta.ABSOLUTE.equals(obj)
- || PositionMeta.FIXED.equals(obj))
- {
- PDPreferences prefs = new PDPreferences();
- return prefs.isCssAbsolutePositioningEnabled();
- }
- }
- return false;
- }
-
- /**
- * Child class could override this method.
- *
- * @return true if supports absolute position
- */
- protected boolean supportAbsolutePosition() {
- if (findContainingPositionedFigure() == null) {
- return false;
- }
- return true;
- }
-
- /**
- * Perform a prelayout
- */
- protected void preLayout() {
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- style.processCounters();
- }
-
- if (isAbsolutePosition()) {
- FlowContext parentFigureContext = getParentFigureContext();
- _absoluteContext = new BlockFlowContext(parentFigureContext, style);
- _boxForAbsolute = new FlowBox();// size is 0. Just as a flag, so
- // later we
- // could figure out where will this figure be
- // be put in case of not absolute
- _boxForAbsolute.setVerticalAlignData(VerticalAlignMeta.TOP);
- parentFigureContext.addToCurrentLine(_boxForAbsolute);
- } else {
- _absoluteContext = null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#getFlowContext()
- */
- public FlowContext getFlowContext() {
- if (_absoluteContext != null) {
- return _absoluteContext;
- }
- return getOriginalFlowContext();
- }
-
- /**
- * @return the flow context
- */
- private FlowContext getParentFigureContext() {
- return super.getFlowContext();
- }
-
- final void postValidateForAbsolute() {
- if (_absoluteContext != null) {
- ICSSStyle style = this.getCSSStyle();
-
- _absoluteContext.endBlock();
-
- int xOffset;
- int yOffset;
-
- ICSSFigure containingPositionedFigure = findContainingPositionedFigure();
- IFigure parentFigure = this.getCSSFigure().getParent();
-
- xOffset = calculatePositionRelativeToParent(style,
- containingPositionedFigure, parentFigure, true);
- yOffset = calculatePositionRelativeToParent(style,
- containingPositionedFigure, parentFigure, false);
- move(_absoluteContext._blockBox, xOffset, yOffset);
- }
- }
-
- /**
- * @param style
- * @param containingPositionedFigure
- * @param parentFigure
- * @return
- */
- private int calculatePositionRelativeToParent(ICSSStyle style,
- ICSSFigure containingPositionedFigure, IFigure parentFigure,
- boolean horizontal) {
- int xOffset;
- Object left = horizontal ? style
- .getStyleProperty(ICSSPropertyID.ATTR_LEFT) : style
- .getStyleProperty(ICSSPropertyID.ATTR_TOP);
- Object right = horizontal ? style
- .getStyleProperty(ICSSPropertyID.ATTR_RIGHT) : style
- .getStyleProperty(ICSSPropertyID.ATTR_BOTTOM);
-
- if (!(left instanceof Length) && !(right instanceof Length)) {
- // _boxForAbsolute partipated the layout of the parent figure, and
- // is already relative to parent.
- return horizontal ? _boxForAbsolute._x : _boxForAbsolute._y;
- }
-
- // ok, user specified left or right. let's calculate the left
- int leftValue;
- if (left instanceof Length) {
- Length leftLength = (Length) left;
- leftValue = leftLength.getValue();
- if (leftLength.isPercentage()) {
- leftValue = (horizontal ? containingPositionedFigure
- .getBounds().width : containingPositionedFigure
- .getBounds().height)
- * leftValue / 100;
- }
- } else {
- Length rightLength = (Length) right;
- int lengthValue = rightLength.getValue();
- if (rightLength.isPercentage()) {
- lengthValue = (horizontal ? containingPositionedFigure
- .getBounds().width : containingPositionedFigure
- .getBounds().height)
- * lengthValue / 100;
- }
-
- if (horizontal) {
- leftValue = containingPositionedFigure.getBounds().width
- - _absoluteContext._blockBox.getWidth() - lengthValue;
- } else {
- leftValue = containingPositionedFigure.getBounds().height
- - _absoluteContext._blockBox.getHeight() - lengthValue;
- }
-
- }
-
- // xOffset is relative to the first box of the containing figure
- List fragments = containingPositionedFigure
- .getFragmentsForRead();
- if (fragments.size() > 0) {
- FlowBox box = (FlowBox) fragments.get(0);
- // box._x is the x location relative to containingPositionedFigure's
- // parent.
- // so now xOffset is relative to containingPositionedFigure's
- // parent.
- xOffset = (horizontal ? box._x : box._y) + leftValue;
- } else {
- xOffset = leftValue; // should not happen.
- }
- Point p;
- if (horizontal) {
- p = new Point(xOffset, 0);
- } else {
- p = new Point(0, xOffset);
- }
- containingPositionedFigure.translateFromParent(p);
- containingPositionedFigure.translateToAbsolute(p);
- parentFigure.translateToRelative(p);
- return horizontal ? p.x : p.y;
- }
-
- /**
- * @return
- */
- private ICSSFigure findContainingPositionedFigure() {
- IFigure figure = this.getCSSFigure().getParent();
- while (figure instanceof ICSSFigure) {
- return (ICSSFigure) figure;
- // ICSSStyle style = ((ICSSFigure) figure).getCSSStyle();
- // if (DisplayToLayout.isPositioned(style))
- // {
- // return (ICSSFigure) figure;
- // }
- // figure = figure.getParent();
- }
- return null;
-
- }
-
- /**
- * @param resultBox
- * @param x
- * @param y
- */
- private void move(CompositeBox compBox, int x, int y) {
- compBox._x += x;
- compBox._y += y;
- List list = compBox.getFragments();
- for (int i = 0; i < list.size(); i++) {
- FlowBox box = (FlowBox) list.get(i);
-
- if (box instanceof CompositeBox && !(box instanceof BlockBox)) {
- move((CompositeBox) box, x, y);
- } else {
- box._x += x;
- box._y += y;
- }
- }
- }
-
- /**
- * Layout all children.
- */
- protected void layoutChildren() {
- List children = getFlowFigure().getChildren();
- for (int i = 0; i < children.size(); i++) {
- Figure f = (Figure) children.get(i);
- f.invalidate();
- f.validate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getLastMarginRight()
- */
- public int getLastMarginRight() {
- if (_currentLine == null || !_currentLine.isOccupied()) {
- return 0;
- }
- FlowBox box = (FlowBox) _currentLine.getFragments().get(
- _currentLine.getFragments().size() - 1);
- if (box != null) {
- return box.getMarginInsets().right;
- }
- return 0;
- }
-
- /**
- * @param c
- */
- public void setCalculatingMaxWidth(boolean c) {
- _calculatingMaxWidth = c;
- }
-
- /**
- * @return the calculated maximum width
- */
- public boolean getCalcuatingMaxWidth() {
- return _calculatingMaxWidth;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCalculatingMaxWidth()
- */
- public boolean isCalculatingMaxWidth() {
- if (_calculatingMaxWidth) {
- return true;
- } else if (this.getFlowContext() == null) {
- return false;
- } else {
- return this.getFlowContext().isCalculatingMaxWidth();
- }
- }
-
- /**
- * Called after {@link #layoutChildren()}when all children have been laid
- * out. This method exists to flush the last line.
- */
- protected abstract void flush();
-
- /**
- * Flush anything pending and free all temporary data used during layout.
- */
- protected abstract void cleanup();
-
- // ------------------------------------------------------------------------------------
-
- /**
- * @return the css figure
- */
- protected final CSSFigure getCSSFigure() {
- return (CSSFigure) getFlowFigure();
- }
-
- /**
- *
- * @return the fragments for read
- */
- public abstract List getFragmentsForRead();
-
- /**
- * postValidate the child figures of this CSSFigure. Normally layout fall
- * into the first category need implement this method.
- */
- public abstract void postValidate();
-
- /**
- * setBounds is called on the CSSFigure. Normally layout fall into the
- * second category need implement this method.
- *
- * @param rect
- * @param invalidate
- */
- public void setBoundsCalled(Rectangle rect, boolean invalidate) {
- // TODO: dead?
- }
-
- /**
- * Child class can override this. Normally block figure will return true.
- *
- * @return true if should use local coordinates
- */
- protected boolean useLocalCoordinates() {
- return false;
- }
-
- /**
- * If CSSLayout will call paint rountine to draw Border for its box, this
- * method will return true, else return false, for example,the input file
- * will return false.
- *
- * @return true if handling border block
- */
- protected boolean handlingBorderForBlock() {
- return true;
- }
-
- /**
- * This method is called when the corresponding figure is revalidated.
- *
- */
- protected void figureRevalidate() {
- // child class can override.
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java
deleted file mode 100644
index 2e25cc078..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.list.CounterHelper;
-import org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator;
-import org.eclipse.jst.pagedesigner.css2.marker.CounterUtil;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- */
-public class CSSListItemLayout extends CSSBlockFlowLayout implements
- ICSSPainter {
- private static final String DEFAULT_LIST_COUNTER = "_anonymous"; //$NON-NLS-1$
-
- private static final int CIRCLE_DIAMETER = 6;
-
- private static final int DISC_DIAMETER = 5;
-
- private static final int ROUNDRECT_ARC = 2;
-
- private static final int TEXT_PADDING = 16;
-
- private int _count;
-
- /**
- * @param cssfigure
- */
- public CSSListItemLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter#paintFigure(org.eclipse.draw2d.Graphics)
- */
- public void paintFigure(Graphics g) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
-
- Rectangle drawArea = null;
- Font font = getCSSStyle().getCSSFont().getSwtFont();
-
- // draw the marker box
- Object styleType = style
- .getStyleProperty(ICSSPropertyID.ATTR_LIST_STYLE_TYPE);
-
- g.pushState();
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- g.setBackgroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- g.setBackgroundColor(newColor);
- }
-
- if (styleType instanceof String) {
- int type = CounterHelper.toTypeInt((String) styleType);
- switch (type) {
- case CounterHelper.LIST_T_UPPER_ALPHA:
- case CounterHelper.LIST_T_LOWER_ALPHA:
- case CounterHelper.LIST_T_LOWER_ROMAN:
- case CounterHelper.LIST_T_UPPER_ROMAN:
- case CounterHelper.LIST_T_DECIMAL:
- g.setFont(font);
- String displayString = CounterUtil.convertCount(_count, type);
- Point point = getDrawPointForText(displayString);
- g.drawString(displayString, point);
- break;
- case CounterHelper.LIST_T_CIRCLE:
- drawArea = getDrawAreaForGraph(CIRCLE_DIAMETER, CIRCLE_DIAMETER);
- g.drawArc(drawArea, 0, 360);
- break;
- case CounterHelper.LIST_T_SQUARE:
- drawArea = getDrawAreaForGraph(DISC_DIAMETER, DISC_DIAMETER);
- g.fillRectangle(drawArea);
- case CounterHelper.LIST_T_DECIMAL_LEADING_ZERO:
- case CounterHelper.LIST_T_LOWER_GREEK:
- case CounterHelper.LIST_T_ARMENIAN:
- case CounterHelper.LIST_T_GEORGIAN:
- case CounterHelper.LIST_T_IMAGE:
- case CounterHelper.LIST_T_NONE:
- default:
- drawArea = getDrawAreaForGraph(DISC_DIAMETER, DISC_DIAMETER);
- g.fillRoundRectangle(drawArea, ROUNDRECT_ARC, ROUNDRECT_ARC);
- break;
- }
- }
- g.popState();
-
- if (newColor != null) {
- newColor.dispose();
- }
- }
-
- /**
- * @param g
- * @return
- */
- private Rectangle getDrawAreaForGraph(int width, int height) {
- Rectangle drawArea;
-
- int x = 0;
- int y = 0;
-
- List list = _blockBox.getFragments();
- Rectangle box = _blockBox.toRectangle().getCopy().expand(
- _blockBox.getBorderPaddingInsets().getAdded(
- _blockBox.getMarginInsets()));
- if (list != null && !list.isEmpty()) {
- LineBox line = (LineBox) list.get(0);
- y = line.getBaseline() - CIRCLE_DIAMETER;
- x = box.x;
- } else {
- x = box.x;
- y = box.height / 2 - CIRCLE_DIAMETER;
- }
- drawArea = new Rectangle(x - CIRCLE_DIAMETER * 5 / 2, y, width, height);
- return drawArea;
- }
-
- private Point getDrawPointForText(String displayString) {
- Font font = getCSSStyle().getCSSFont().getSwtFont();
-
- int x = 0;
- int y = 0;
-
- Rectangle box = _blockBox.toRectangle().getCopy().expand(
- _blockBox.getBorderPaddingInsets().getAdded(
- _blockBox.getMarginInsets()));
-
- x = box.x - FigureUtilities.getTextWidth(displayString, font);
- x = x
- - (TEXT_PADDING - FigureUtilities.getFontMetrics(font)
- .getDescent());
-
- return new Point(x, y);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#layoutChildren()
- */
- protected void layoutChildren() {
- ICounterValueGenerator counter = this.getCSSStyle().findCounter(
- DEFAULT_LIST_COUNTER, true);
- if (counter != null) {
- _count = counter.getCurrentCount();
- } else {
- // should not happen.
- _count = 1; // use 1 as the default value
- }
- super.layoutChildren();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSPageFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSPageFlowLayout.java
deleted file mode 100644
index 8662bc25b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSPageFlowLayout.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * This layout if for those thigns that it's parent will decide its size. Such
- * as table cell.
- *
- * @author mengbo
- * @version 1.5
- */
-public class CSSPageFlowLayout extends CSSBlockFlowLayout {
- private Dimension _pageSize = new Dimension();
-
- private int _recommendedWidth;
-
- private int _pageSizeCacheKeys[] = new int[4];
-
- private Dimension _pageSizeCacheValues[] = new Dimension[4];
-
-
- /**
- * @param cssfigure
- */
- public CSSPageFlowLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#invalidate()
- */
- public void invalidate() {
- super.invalidate();
- _pageSizeCacheKeys = new int[4];
- _pageSizeCacheValues = new Dimension[4];
- _pageSize = new Dimension();
- _recommendedWidth = 0;
- }
-
- protected void endBlock() {
- layoutLines();
- }
-
- /**
- * TODO: This method is not being called.
- */
- public void postValidate() {
- Rectangle r = new Rectangle(_blockBox._x, _blockBox._y, _blockBox
- .getWidth(), _blockBox.getHeight());
- r = r.expand(getCSSFigure().getInsets());
- _pageSize.width = r.width;
- _pageSize.height = r.height;
-
- List list = getCSSFigure().getChildren();
- for (int i = 0; i < list.size(); i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
-
- }
-
- /**
- * Setup blockBox to the initial bounds of the Page
- */
- protected void setupBlock() {
- // Remove all current Fragments
- _blockBox.clear();
-
- // Setup the one fragment for this Block with the correct X and
- // available width
- int recommendedWidth = getRecommendedWidth();
- _blockBox.setRecommendedWidth(recommendedWidth);
-
- if (recommendedWidth > 0 && recommendedWidth != Integer.MAX_VALUE) {
- _blockBox.setWidth(recommendedWidth);
- }
-
- _blockBox._x = 0;
- }
-
- private int getRecommendedWidth() {
- return _recommendedWidth;
- }
-
- private void setRecommendedWidth(int width) {
- if (_recommendedWidth == width) {
- return;
- }
- _recommendedWidth = width;
- getCSSFigure().invalidate2();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#setBoundsCalled(org.eclipse.jst.pagedesigner.css2.layout.CSSFigure,
- * org.eclipse.draw2d.geometry.Rectangle, boolean)
- */
- public void setBoundsCalled(Rectangle r, boolean invalidate) {
- super.setBoundsCalled(r, invalidate);
- CSSFigure figure = getCSSFigure();
- int newWidth = r.width - figure.getInsets().getWidth();
- if (invalidate || getRecommendedWidth() != newWidth) {
- setRecommendedWidth(newWidth);
- figure.getUpdateManager().addInvalidFigure(figure);
- }
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#getPreferredSize(int, int)
- */
- public Dimension getPreferredSize(IFigure container, int width, int h) {
- if (width >= 0) {
- width = Math.max(0, width - container.getInsets().getWidth());
- }
-
- for (int i = 0; i < 4; i++) {
- if (_pageSizeCacheKeys[i] == width
- && _pageSizeCacheValues[i] != null) {
- return _pageSizeCacheValues[i];
- }
- }
-
- _pageSizeCacheKeys[3] = _pageSizeCacheKeys[2];
- _pageSizeCacheKeys[2] = _pageSizeCacheKeys[1];
- _pageSizeCacheKeys[1] = _pageSizeCacheKeys[0];
- _pageSizeCacheKeys[0] = width;
-
- _pageSizeCacheValues[3] = _pageSizeCacheValues[2];
- _pageSizeCacheValues[2] = _pageSizeCacheValues[1];
- _pageSizeCacheValues[1] = _pageSizeCacheValues[0];
-
- // Flowpage must temporarily layout to determine its preferred size
- int oldWidth = getRecommendedWidth();
- setRecommendedWidth(width);
- container.validate();
- _pageSizeCacheValues[0] = _pageSize.getExpanded(container.getInsets()
- .getWidth(), container.getInsets().getHeight());
-
- if (width != oldWidth) {
- setRecommendedWidth(oldWidth);
- container.getUpdateManager().addInvalidFigure(container);
- }
- return _pageSizeCacheValues[0];
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextFigure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextFigure.java
deleted file mode 100644
index a78ba8f9e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextFigure.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.jst.pagedesigner.css2.style.StyleUtil;
-import org.eclipse.jst.pagedesigner.viewer.CaretPositionResolver;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- */
-public class CSSTextFigure extends FlowFigure implements ICSSFigure {
- private ICSSTextProvider _provider;
-
- private List _fragments = new ArrayList(1);
-
- /**
- * @param provider
- */
- public CSSTextFigure(ICSSTextProvider provider) {
- _provider = provider;
- this.setLayoutManager(createDefaultFlowLayout());
- }
-
- public ICSSStyle getCSSStyle() {
- IFigure parentFigure = this.getParent();
- if (parentFigure instanceof ICSSFigure) {
- ICSSStyle style = ((ICSSFigure) parentFigure).getCSSStyle();
- if (style != null) {
- return style;
- }
- }
- return DefaultStyle.getInstance();
- }
-
- /**
- * @see org.eclipse.draw2d.IFigure#containsPoint(int, int)
- */
- public boolean containsPoint(int x, int y) {
- if (!super.containsPoint(x, y)) {
- return false;
- }
- List frags = getFragments();
- for (int i = 0, n = frags.size(); i < n; i++) {
- if (((FlowBox) frags.get(i)).containsPoint(x, y)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @return the default flow layout
- *
- */
- protected FlowFigureLayout createDefaultFlowLayout() {
- return new CSSTextLayout(this);
- }
-
- /**
- * Returns the <code>LineBox</code> fragments contained in this InlineFlow
- *
- * @return The fragments
- */
- public List getFragments() {
- return _fragments;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure#getFragmentsForRead()
- */
- public List getFragmentsForRead() {
- return getFragments();
- }
-
- /**
- * @return the text
- */
- public String getText() {
- return _provider.getTextData();
- }
-
- /**
- * @see FlowFigure#postValidate()
- */
- public void postValidate() {
- List list = getFragments();
- FlowBox box;
- int left = Integer.MAX_VALUE, top = left;
- int right = Integer.MIN_VALUE, bottom = right;
- for (int i = 0, n = list.size(); i < n; i++) {
- box = (FlowBox) list.get(i);
- left = Math.min(left, box._x);
- right = Math.max(right, box._x + box._width);
- top = Math.min(top, box._y);
- bottom = Math.max(bottom, box._y + box._height);
- }
- setBounds(new Rectangle(left, top, right - left, bottom - top));
- list = getChildren();
- for (int i = 0, n = list.size(); i < n; i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#paintBorder(org.eclipse.draw2d.Graphics)
- */
- protected void paintBorder(Graphics graphics) {
- if (Debug.DEBUG_TEXTBORDER) {
- if (_fragments != null) {
- graphics.setForegroundColor(ColorConstants.darkBlue);
- for (int i = 0, size = _fragments.size(); i < size; i++) {
- FlowBox box = (FlowBox) _fragments.get(i);
- BoxUtil.drawBox(graphics, box);
- }
- graphics.restoreState();
- }
- }
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#paintFigure(Graphics)
- */
- protected void paintFigure(Graphics g) {
- Object result = this.getCSSStyle().getColor();
- Color color;
- if (result instanceof Color) {
- color = (Color) result;
- } else if (result instanceof RGB) {
- color = new Color(null, (RGB) result);
- } else {
- color = null;
- }
- int[] range = null;
- if (!StyleUtil.isInWidget(this.getCSSStyle())) {
- range = _provider.getSelectedRange();
- }
- if (range == null || range[0] == range[1]) {
- // we are not in selection
- TextLayoutSupport.paintTextFigure(g, _fragments, getCSSStyle()
- .getCSSFont().getSwtFont(), color, ((Integer) getCSSStyle()
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTDECORATION))
- .intValue());
- } else {
- //Bug 191539 - [WPE] non-standard selection color in Web Page Editor
- TextLayoutSupport.paintTextFigureWithSelection(g, _fragments,
- _provider.getTextData(), getCSSStyle().getCSSFont()
- .getSwtFont(), color, ((Integer) getCSSStyle()
- .getStyleProperty(
- ICSSPropertyID.ATTR_TEXTDECORATION))
- .intValue(), range[0], range[1],
- ColorConstants.white, Display.getDefault().getSystemColor(SWT.COLOR_LIST_SELECTION));
- }
- if (color != result && color != null) {
- color.dispose();
- }
- }
-
- /**
- * Find out lines which has closer y coordinate to point, and then line
- * which has closer x coordinate.
- *
- * @param relative
- * @return return the offset
- */
- // TODO: refactoring?
- public int getNewInsertionOffset(Point relative) {
- TextFragmentBox closestBox = null;
- // if there is one which are at the same line with relative, calculate
- // that line first;
- for (int i = 0, n = _fragments.size(); i < n; i++) {
- TextFragmentBox box = (TextFragmentBox) _fragments.get(i);
- if (box.containsPoint(relative.x, relative.y)) {
- int index = FlowUtilities.getTextInWidth(box.getTextData(),
- getCSSStyle().getCSSFont().getSwtFont(), relative.x
- - box._x, TextLayoutSupport
- .getAverageCharWidth(box));
- return box._offset + index;
- }
- if (closestBox == null) {
- closestBox = box;
- } else {
- // box is above point
- TextFragmentBox tempBox = box;
- int offset1 = Math
- .abs(CaretPositionResolver.getYDistance(
- new Rectangle(tempBox._x, tempBox._y,
- tempBox._width, tempBox._height),
- relative));
- tempBox = closestBox;
- int offset2 = Math
- .abs(CaretPositionResolver.getYDistance(
- new Rectangle(tempBox._x, tempBox._y,
- tempBox._width, tempBox._height),
- relative));
- if (offset1 < offset2) {
- closestBox = box;
- }
- }
- // at the same line
- if (box.containsPoint(box._x, relative.y)) {
- TextFragmentBox tempBox = box;
- int offset1 = Math
- .abs(CaretPositionResolver.getXDistance(
- new Rectangle(tempBox._x, tempBox._y,
- tempBox._width, tempBox._height),
- relative));
- tempBox = closestBox;
- int offset2 = Math
- .abs(CaretPositionResolver.getXDistance(
- new Rectangle(tempBox._x, tempBox._y,
- tempBox._width, tempBox._height),
- relative));
- if (offset1 < offset2) {
- closestBox = box;
- }
- }
- }
-
- if (closestBox.containsPoint(closestBox._x, relative.y)
- || closestBox.containsPoint(relative.x, closestBox._y)) {
- int offset = relative.x - closestBox._x;
- int index = FlowUtilities.getTextInWidth(closestBox.getTextData(),
- getCSSStyle().getCSSFont().getSwtFont(), offset,
- TextLayoutSupport.getAverageCharWidth(closestBox));
- return closestBox._offset + index;
- }
- return -1;
- }
-
- /**
- * @param relative
- * @return the insertion offset
- */
- public int getInsertionOffset(Point relative) {
- for (int i = 0, n = _fragments.size(); i < n; i++) {
- TextFragmentBox box = (TextFragmentBox) _fragments.get(i);
- if (box.containsPoint(relative.x, relative.y)) {
- int index = FlowUtilities.getTextInWidth(box.getTextData(),
- getCSSStyle().getCSSFont().getSwtFont(), relative.x
- - box._x, TextLayoutSupport
- .getAverageCharWidth(box));
- return box._offset + index;
- }
- }
- return -1;
- }
-
- /**
- * the returned rectangle will be relative to this text figure.
- *
- * @param offset
- * @return the caret position
- */
- public Rectangle calculateCaretPosition(int offset) {
- // search reverse order, find the latest box that has _offset small than
- // the specified one
- if (offset > 0) {
- for (int i = _fragments.size() - 1; i >= 0; i--) {
- TextFragmentBox box = (TextFragmentBox) _fragments.get(i);
- if (box._offset <= offset) {
- // ok, we find the box.
- if (box._offset + box._length < offset) {
- return new Rectangle(box._x + box._width, box._y, 1,
- box._height);
- }
- String s = box.getTextData().substring(0,
- offset - box._offset);
- int width = FlowUtilities.getTextExtents(s,
- getCSSStyle().getCSSFont().getSwtFont()).width;
- return new Rectangle(box._x + width, box._y, 1,
- box._height);
- }
- }
- } else {
- if (_fragments.size() > 0) {
- TextFragmentBox box = (TextFragmentBox) _fragments.get(0);
- return new Rectangle(box._x, box._y, 1, box._height);
- }
- }
- // should only reach here when there is no fragments.
- return new Rectangle(getBounds().x, getBounds().y, 1, getBounds().height);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextLayout.java
deleted file mode 100644
index 30589f795..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSTextLayout.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.style.AbstractStyle;
-import org.eclipse.swt.graphics.Font;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-// NOTE: CSSTextLayout does not extends CSSFlowLayout. Since text is a little
-// special,
-// we don't want to do things like "preLayout()" as in CSSFlowLayout.
-public class CSSTextLayout extends FlowFigureLayout {
- /**
- * Wrapping will ONLY occur at valid line breaks
- */
- public static final int WORD_WRAP_HARD = 0;
-
- /**
- * Wrapping will always occur at the end of the available space, breaking in
- * the middle of a word.
- */
- public static final int WORD_WRAP_SOFT = 1;
-
- /**
- * Wrapping will always occur at the end of available space, truncating a
- * word if it doesn't fit.
- */
- // don't support this flag
- // public static final int WORD_WRAP_TRUNCATE = 2;
- private int _wrappingStyle = WORD_WRAP_HARD;
-
- /**
- * @param textfigure
- */
- public CSSTextLayout(CSSTextFigure textfigure) {
- super(textfigure);
- }
-
- // --------------------------------------------------------------------------------------------------
- FlowBox findLastNonLineBox(LineBox box) {
- List fragments = box.getFragments();
- for (int i = fragments.size() - 1; i >= 0; i--) {
- FlowBox item = (FlowBox) fragments.get(i);
- if (item instanceof LineBox) {
- FlowBox found = findLastNonLineBox((LineBox) item);
- if (found != null) {
- return found;
- }
- } else {
- return item;
- }
- }
- return null;
- }
-
- // boolean isElementContentWhitespaceEnding()
- // {
- // if (!this._context.isCurrentLineOccupied())
- // return true;
- // LineBox line = this._context.getCurrentLine();
- // FlowBox lastNoneLinebox = findLastNonLineBox(line);
- // if (lastNoneLinebox instanceof TextFragmentBox)
- // return ((TextFragmentBox) lastNoneLinebox)._isLastCharWhitespace;
- // else
- // return true;
- // }
- //
- // String normalize(String text)
- // {
- // text = EntityMap.translateAndCompact(text);
- // if (text.length() > 0 &&
- // Character.isElementContentWhitespace(text.charAt(0)) &&
- // isElementContentWhitespaceEnding())
- // return text.substring(1);
- // else
- // return text;
- // }
-
- private void layoutEmptyString(List fragments, Font font) {
- // empty node! we want to create a fake fragment, so things can be
- // consistent
- // that all the CSSTextFigure will have something inside, also in this
- // way, even
- // empty text node will have a position, thus we can support showing
- // caret associated
- // with this text figure.
- fragments.clear();
- TextFragmentBox box = TextLayoutSupport.getFragment(0, fragments);
- box._length = 0;
- box._offset = 0;
- box._height = 0;
- box._width = 0;
- box.setTextData(""); //$NON-NLS-1$
-
- // {following comments deprecated XXX: If is empty string, we only want
- // to this figure to have a size, but don't
- // want to it to be added into current line. Otherwise, a line with only
- // a empty string
- // will also take a line's space.}
-
- // please reference LineBox.isOccupied()
- // now we treat a line with only an empty text as not occupied.
- getFlowContext().getCurrentLine().add(box);
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#layout()
- */
- protected void layout() {
- CSSTextFigure flowFigure = (CSSTextFigure) getFlowFigure();
-
- List fragments = flowFigure.getFragments();// Reuse the previous List
- // of fragments
- String text = flowFigure.getText();
- Font font = flowFigure.getCSSStyle().getCSSFont().getSwtFont();
- Object whitespace = flowFigure.getCSSStyle().getStyleProperty(
- ICSSPropertyID.ATTR_WHITESPACE);
-
- if (whitespace == ICSSPropertyID.VAL_PRE) {
- if (text == null || text.length() == 0)
- layoutEmptyString(fragments, font);
- else
- TextLayoutSupport.layoutNoWrap(getFlowContext(), text,
- fragments, font);
- } else if (whitespace == ICSSPropertyID.VAL_NOWRAP) {
- if (text == null || text.length() == 0)
- layoutEmptyString(fragments, font);
- else
- TextLayoutSupport.layoutNoWrap(getFlowContext(), text,
- fragments, font);
- } else {
- if (text == null || text.length() == 0)
- layoutEmptyString(fragments, font);
- else {
- //fix for bug #221629 - BEGIN
- boolean useShouldTrimLeadingWSInlineMethod = false;
- IFigure parentFigure = flowFigure.getParent();
- if (parentFigure instanceof CSSFigure) {
- ICSSStyle style = ((CSSFigure)parentFigure).getCSSStyle();
- if (style instanceof AbstractStyle) {
- Element element = ((AbstractStyle)style).getElement();
- if (element != null &&
- element.getNodeName().equals(IHTMLConstants.TAG_SPAN)) {
- useShouldTrimLeadingWSInlineMethod = true;
- }
- }
- }
- boolean trimLeadingChar;
- if (!useShouldTrimLeadingWSInlineMethod) {
- trimLeadingChar = (text.charAt(0) == ' ' && shouldTrimLeadingWhitespace(getFlowContext()));
- } else {
- trimLeadingChar = (text.charAt(0) == ' ' && shouldTrimLeadingWhitespaceInline(getFlowContext()));
- }
- //fix for bug #221629 - END
- TextLayoutSupport.layoutNormal(getFlowContext(), text,
- fragments, font, _wrappingStyle, trimLeadingChar);
- }
- }
- }
-
- /**
- * @param context
- * @return true if should trim leading whitespace
- */
- // XXX: maybe should move to TextSupport later.
- public boolean shouldTrimLeadingWhitespace(FlowContext context) {
- if (!context.isCurrentLineOccupied()) {
- return true;
- }
- while (context instanceof CSSInlineFlowLayout) {
- context = ((CSSInlineFlowLayout) context).getFlowContext();
- }
- LineBox line = context.getCurrentLine();
- if (line == null || !line.isOccupied()) {
- return true;
- }
- FlowBox lastNoneLinebox = findLastNonLineBox(line);
- if (lastNoneLinebox == null || lastNoneLinebox.getWidth() == 0) {
- return true;
- } else if (lastNoneLinebox instanceof TextFragmentBox) {
- return ((TextFragmentBox) lastNoneLinebox)._isLastCharWhitespace;
- } else {
- return false;
- }
- }
-
- /**
- * Used instead of shouldTrimLeadingWhitespace(FlowContext) if parent
- * figure's style is for an appropriate in-line element, such as "span".
- *
- * @param context FlowContext instance.
- * @return true if should trim leading whitespace, else false.
- */
- private boolean shouldTrimLeadingWhitespaceInline(FlowContext context) {
- if (!context.isCurrentLineOccupied()) {
- return true;
- }
- LineBox line = context.getCurrentLine();
- if (line == null || !line.isOccupied()) {
- return true;
- }
- FlowBox lastNoneLinebox = findLastNonLineBox(line);
- if (lastNoneLinebox == null || lastNoneLinebox.getWidth() == 0) {
- return true;
- } else if (lastNoneLinebox instanceof TextFragmentBox) {
- return ((TextFragmentBox) lastNoneLinebox)._isLastCharWhitespace;
- } else {
- return false;
- }
- }
-
- public void dispose() {
- // TODO: anything to dispose?
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSWidgetLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSWidgetLayout.java
deleted file mode 100644
index 8e50123d3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSWidgetLayout.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-
-/**
- * @author mengbo
- */
-public class CSSWidgetLayout extends CSSBlockFlowLayout implements ICSSPainter {
- private WidgetBox _widgetBox;
-
- private ICSSWidgetProvider _provider;
-
- /**
- * @param flowfigure
- * @param provider
- */
- public CSSWidgetLayout(CSSFigure flowfigure, ICSSWidgetProvider provider) {
- super(flowfigure);
- _provider = provider;
- }
-
- /**
- * normally this method is called directly after constructor
- *
- * @param provider
- */
- public void setProvider(ICSSWidgetProvider provider) {
- _provider = provider;
- }
-
- /**
- * @return the provider
- */
- public ICSSWidgetProvider getProvider() {
- // return ((CSSWidgetFigure)this.getFlowFigure()).getProvider();
- return _provider;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#isInlineBlock()
- */
- public boolean isInlineBlock() {
- ICSSWidgetProvider provider = getProvider();
- return provider.isInline();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#layout()
- */
- protected void layoutChildren() {
- ICSSWidgetProvider provider = getProvider();
-
- // if we did endLine, then will result in context create a new line, so
- // we may in the new line now.
- // passing in the top margin, and context will consider that when
- // creating the new line.
-
- int suggestedWith = _blockBox.getContentWidth();
- int suggestedHeight = _blockBox.getContentHeight();
- // int suggestedWith = getSuggestedWidth(line, style, provider);
- // int suggestedHeight = getSuggestedHeight(line, style, provider);
-
- DimensionInfo resultInfo = provider.getPreferredDimension(
- suggestedWith, suggestedHeight);
- Dimension resultSize = resultInfo.getDimension();
-
- _widgetBox = new WidgetBox(); // ((CSSWidgetFigure)getFlowFigure()).getWidgetBox();
- // if (provider.isHandlingBorder() || style == null)
- // {
- _widgetBox.setWidth(resultSize.width);
- _widgetBox.setHeight(resultSize.height);
- _widgetBox.setAscent(resultInfo.getAscent());
- // }
- // else
- // {
- // widgetBox.setWidth(resultSize.width +
- // style.getBorderInsets().getWidth());
- // widgetBox.setHeight(resultSize.height +
- // style.getBorderInsets().getHeight());
- // widgetBox.setAscent(resultInfo.getAscent()+style.getBorderInsets().top);
- // }
- this.addToCurrentLine(_widgetBox);
- // if (!provider.isInline())
- // {
- // context.endLine();
- // }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#dispose()
- */
- public void dispose() {
- // TODO: anything to dispose?
- }
-
- // public int getSuggestedWidth(LineBox line, ICSSStyle style,
- // ICSSWidgetProvider provider)
- // {
- // if (style == null) return -1;
- //
- // Object width = style.getStyleProperty(ICSSPropertyID.ATTR_WIDTH);
- // Length recommendedWidth = (width instanceof Length) ? (Length) width :
- // null;
- //
- // int rw = 0;
- // if (recommendedWidth == null || recommendedWidth.getValue() <= 0)
- // {
- // return -1;
- // }
- // else
- // {
- // if (recommendedWidth.isPercentage())
- // {
- // rw = line.getAvailableWidth() * recommendedWidth.getValue() / 100;
- // }
- // else
- // {
- // rw = recommendedWidth.getValue();
- // }
- //
- // if (!style.isSizeIncludeBorderPadding() && provider.isHandlingBorder())
- // {
- // rw += style.getBorderInsets().getWidth() +
- // style.getPaddingInsets().getWidth();
- // }
- // else if (style.isSizeIncludeBorderPadding() &&
- // !provider.isHandlingBorder())
- // {
- // rw -= style.getBorderInsets().getWidth() +
- // style.getPaddingInsets().getWidth();
- // }
- // }
- //
- // return rw;
- // }
- //
- // public int getSuggestedHeight(LineBox line, ICSSStyle style,
- // ICSSWidgetProvider provider)
- // {
- // if (style == null) return -1;
- //
- // Object height = style.getStyleProperty(ICSSPropertyID.ATTR_HEIGHT);
- // Length recommendedHeight = (height instanceof Length) ? (Length) height :
- // null;
- //
- // int rh = 0;
- // if (recommendedHeight == null || recommendedHeight.getValue() <= 0)
- // {
- // return -1;
- // }
- // else
- // {
- // if (recommendedHeight.isPercentage())
- // {
- // // we don't support percentage height for this version, ignore
- // return -1;
- // }
- // else
- // {
- // rh = recommendedHeight.getValue();
- // }
- //
- // if (!style.isSizeIncludeBorderPadding() && provider.isHandlingBorder())
- // {
- // rh += style.getBorderInsets().getHeight() +
- // style.getPaddingInsets().getHeight();
- // }
- // else if (style.isSizeIncludeBorderPadding() &&
- // !provider.isHandlingBorder())
- // {
- // rh -= style.getBorderInsets().getHeight() +
- // style.getPaddingInsets().getHeight();
- // }
- // }
- //
- // return rh;
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter#paintFigure(org.eclipse.draw2d.Graphics)
- */
- public void paintFigure(Graphics g) {
- ICSSWidgetProvider provider = this.getProvider();
- if (provider != null && _widgetBox != null) {
- provider.paintFigure(g, new Rectangle(_widgetBox._x, _widgetBox._y,
- _widgetBox.getWidth(), _widgetBox.getHeight()));
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#handlingBorderForBlock()
- */
- public boolean handlingBorderForBlock() {
- ICSSWidgetProvider provider = this.getProvider();
- if (provider != null) {
- return provider.isHandlingBorder();
- }
- return super.handlingBorderForBlock();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CompositeBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CompositeBox.java
deleted file mode 100644
index 75d6a0e9f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CompositeBox.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A FlowBox that can contain other BlockInfos. The contained BlockInfos are
- * called <i>fragments </i>.
- *
- * @author mengbo
- * @since 2.1
- */
-public abstract class CompositeBox extends FlowBox {
-
- /**
- * The contained fragments.
- */
- protected List _fragments = new ArrayList();
-
- int _recommendedWidth;
-
- int _recommendedHeight;
-
- /**
- * Adds the specified FlowBox. Updates the width, height, and ascent
- * properties.
- *
- * @param block
- * the FlowBox being added
- */
- public void add(FlowBox block) {
- // The order is critical.see the first "if" block in the unionInfo()
- // method.
- unionInfo(block);
- _fragments.add(block);
- }
-
- /**
- * Removes all owned fragments and invalidates this CompositeBox.
- */
- public void clear() {
- _fragments.clear();
- resetInfo();
- }
-
- /**
- * Overridden to ensure that the CompositeBox is valid.
- *
- * @see FlowBox#getBounds()
- */
- // public Rectangle getBounds() {
- // validate();
- // return this;
- // }
- /**
- * @return the List of fragments
- */
- public List getFragments() {
- return _fragments;
- }
-
- /**
- * Returns the recommended width for this CompositeBox.
- *
- * @return the recommended width
- */
- public int getRecommendedWidth() {
- return _recommendedWidth;
- }
-
- /**
- * resets fields before unioning the data from the fragments.
- */
- protected void resetInfo() {
- _width = _height = 0;
- }
-
- /**
- * Sets the recommended width for this CompositeBox.
- *
- * @param w
- * the width
- */
- public void setRecommendedWidth(int w) {
- _recommendedWidth = w;
- }
-
- /**
- * @param h
- */
- public void setRecommendedHeight(int h) {
- _recommendedHeight = h;
- }
-
- /**
- * unions the fragment's width, height, and ascent into this composite.
- *
- * @param box
- * the fragment
- */
- protected void unionInfo(FlowBox box) {
- int right = Math.max(_x + _width, box._x + box._width);
- int bottom = Math.max(_y + _height, box._y + box._height);
- _x = Math.min(_x, box._x);
- _y = Math.min(_y, box._y);
- _width = right - _x;
- _height = bottom - _y;
- }
-
- /**
- * @return the content width
- */
- public int getContentWidth() {
- return getWidth() - getBorderPaddingWidth();
- }
-
- /**
- * @return the content height
- */
- public int getContentHeight() {
- return getHeight() - getBorderPaddingHeight();
- }
-
- /**
- * @return the recommended content width
- */
- public int getRecommendedContentWidth() {
- return Math.max(0, getRecommendedWidth() - getBorderPaddingWidth());
- }
- //
- // public int getRecommendedContentHeight()
- // {
- // return Math.max(0, getRecommendedHeight() - getBorderPaddingHeight());
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/Debug.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/Debug.java
deleted file mode 100644
index f83e9017a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/Debug.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-/**
- * Debug constants.
- *
- * @author mengbo
- * @version 1.5
- */
-public class Debug {
- /**
- * Debug flag
- */
- public static final boolean DEBUG_BASELINE = false;
-
- /**
- * Debug flag
- */
- public static final boolean DEBUG_BOX = false;
-
- /**
- * Debug flag
- */
- public static final boolean DEBUG_BORDERPADDING = false;
-
- /**
- * Debug flag
- */
- public static final boolean DEBUG_TEXTBORDER = false;
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/DisplayToLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/DisplayToLayout.java
deleted file mode 100644
index ed02c8437..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/DisplayToLayout.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTRGroupLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTRLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableCaptionLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableCellLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.PositionMeta;
-
-/**
- * @author mengbo
- */
-public final class DisplayToLayout {
- /**
- * @param figure
- * @param display
- * @param old
- * @return the layout
- */
- public static CSSLayout displayToLayout(CSSFigure figure, String display,
- LayoutManager old) {
- if ("block".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSBlockFlowLayout(figure);
- } else if ("inline".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSInlineFlowLayout(figure);
- } else if ("table".equalsIgnoreCase(display) || "inline-table".equalsIgnoreCase(display)) //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
- {
- return new CSSTableLayout2(figure);
- } else if ("table-row".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSTRLayout(figure);
- } else if ("table-row-group".equalsIgnoreCase(display) //$NON-NLS-1$
- || "table-header-group".equalsIgnoreCase(display) //$NON-NLS-1$
- || "table-footer-group".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSTRGroupLayout(figure);
- } else if ("table-cell".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSTableCellLayout(figure);
- } else if (display.equalsIgnoreCase("table-caption")) //$NON-NLS-1$
- {
- return new CSSTableCaptionLayout(figure);
- } else if ("inline-block".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- return new CSSBlockFlowLayout(figure) {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#isInlineBlock()
- */
- public boolean isInlineBlock() {
- return true;
- }
- };
- } else if (ICSSPropertyID.VAL_LIST_ITEM.equalsIgnoreCase(display)) {
- return new CSSListItemLayout(figure);
- }
- return null;
- }
-
- /**
- * @param display
- * @return true if is inline
- */
- public static boolean isInline(String display) {
- return "inline".equalsIgnoreCase(display) //$NON-NLS-1$
- || "inline-block".equalsIgnoreCase(display); //$NON-NLS-1$
- }
-
- /**
- * @param style
- * @return true if is positioned
- */
- public static boolean isPositioned(ICSSStyle style) {
- Object position = style.getStyleProperty(ICSSPropertyID.ATTR_POSITION);
- if (PositionMeta.STATIC.equalsIgnoreCase((String) position)) {
- return false;
- }
- return true;
- }
-
- private DisplayToLayout()
- {
- // util class, no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FigureUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FigureUtil.java
deleted file mode 100644
index 56d775cb9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FigureUtil.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Translatable;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class FigureUtil {
- /**
- * @param figure
- * @param t
- */
- // XXX:
- // seemed Figure.translateToRelative is bug?
- public static final void translateToRelative(IFigure figure, Translatable t) {
- if (figure.getParent() != null) {
- translateToRelative(figure.getParent(), t);
- // figure.getParent().translateToRelative(t);
- figure.translateFromParent(t);
- }
- }
-
- /**
- * @param figure
- * @param t
- */
- // XXX:
- // seemed Figure.translateToAbsolute is bug?
- public static final void translateToAbsolute(IFigure figure, Translatable t) {
- if (figure.getParent() != null) {
- figure.translateToParent(t);
- translateToAbsolute(figure.getParent(), t);
- // figure.getParent().translateToAbsolute(t);
- }
-
- }
-
- private FigureUtil()
- {
- // util class. No instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowBox.java
deleted file mode 100644
index 52b376589..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowBox.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * This class represents the CSS box model. See chapter 8 of CSS2 spec.
- *
- * see http://www.w3.org/TR/REC-CSS2/box.html
- *
- */
-public class FlowBox {
- private Object _verticalAlignData = null;
-
- /**
- * The x location
- */
- protected int _x;
-
- /**
- * The y location
- */
- protected int _y;
-
- int _width;
-
- int _height;
-
- private Insets _marginInsets = new Insets();
-
- private Insets _borderInsets = new Insets();
-
- private Insets _paddingInsets = new Insets();
-
- /**
- * This method must be called on a block that is completely positioned and
- * committed.
- *
- * @param x
- * X
- * @param y
- * Y
- * @return <code>true</code> if the FlowBox contains the point
- */
- public boolean containsPoint(int x, int y) {
- return x >= this._x && y >= this._y && x < this._x + this._width
- && y < this._y + this._height;
- }
-
- /**
- * By default, a FlowBox is all ascent, and no descent, so the height is
- * returned.
- *
- * @return the <i>ascent </i> in pixels above the baseline
- */
- public int getAscent() {
- return getHeight();
- }
-
-
- /**
- * By default, a simple FlowBox is all ascent, and no descent. Zero is
- * returned.
- *
- * @return the <i>descent </i> in pixels below the baseline
- */
- public final int getDescent() {
- return getHeight() - getAscent();
- }
-
- /**
- * Returns the height
- *
- * @return height
- */
- public int getHeight() {
- return _height;
- }
-
- /**
- * Returns the width
- *
- * @return width
- */
- public int getWidth() {
- return _width;
- }
-
- /**
- * @param w
- */
- public void setWidth(int w) {
- _width = w;
- }
-
- /**
- * @param h
- */
- public void setHeight(int h) {
- _height = h;
- }
-
- /**
- * Used to set the baseline of this FlowBox to the specified value.
- *
- * @param value
- * the new baseline
- */
- public void makeBaseline(int value) {
- _y = (value - getAscent());
- }
-
- /**
- * @return the border padding width
- */
- public int getBorderPaddingWidth() {
- return _borderInsets.getWidth() + _paddingInsets.getWidth();
- }
-
- /**
- * @return the border padding height
- */
- public int getBorderPaddingHeight() {
- return _borderInsets.getHeight() + _paddingInsets.getHeight();
- }
-
- /**
- * @return the border padding insets
- */
- public Insets getBorderPaddingInsets() {
- Insets temp = new Insets(_borderInsets);
- return temp.add(_paddingInsets);
- }
-
- /**
- * @param rect
- */
- public void setXYWidthHeight(Rectangle rect) {
- this._x = rect.x;
- this._y = rect.y;
- this.setWidth(rect.width);
- this.setHeight(rect.height);
- }
-
- /**
- * @return Returns the _verticalAlignData.
- */
- public Object getVerticalAlignData() {
- return _verticalAlignData;
- }
-
- /**
- * @param alignData
- * The _verticalAlignData to set.
- */
- public void setVerticalAlignData(Object alignData) {
- _verticalAlignData = alignData;
- }
-
- /**
- * @return a copy of the rectangle
- * TODO: use getCopy() ?
- */
- public Rectangle getRectangle() {
- return new Rectangle(this._x, this._y, this.getWidth(), this
- .getHeight());
- }
-
- /**
- * @return the x coordinate
- */
- public final int getX() {
- return _x;
- }
-
- /**
- * @return the y coordinate
- */
- public final int getY() {
- return _y;
- }
-
- /**
- * @param y
- */
- protected void setY(int y)
- {
- _y = y;
- }
-
- /**
- * @return the margin insets
- */
- public final Insets getMarginInsets() {
- return _marginInsets;
- }
-
- final void setMarginInsets(Insets marginInsets) {
- _marginInsets = marginInsets;
- }
-
- final Insets getBorderInsets() {
- return _borderInsets;
- }
-
- final void setBorderInsets(Insets borderInsets)
- {
- _borderInsets = borderInsets;
- }
-
- final Insets getPaddingInsets() {
- return _paddingInsets;
- }
-
- final void setPaddingInsets(Insets paddingInsets)
- {
- _paddingInsets = paddingInsets;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContainerLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContainerLayout.java
deleted file mode 100644
index ca4335365..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContainerLayout.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Figure;
-
-/**
- * A layout for FlowFigures with children.
- * <P>
- * WARNING: This class is not intended to be subclassed by clients.
- *
- * @author mengbo
- * @since 2.1
- */
-public abstract class FlowContainerLayout extends FlowFigureLayout implements
- FlowContext {
-// private static Logger _log = PDPlugin.getLogger(FlowContainerLayout.class);
-
- /**
- * the current line
- */
- protected LineBox _currentLine;
-
- private boolean _calculatingMaxWidth;
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#FlowFigureLayout(FlowFigure)
- */
- protected FlowContainerLayout(FlowFigure flowFigure) {
- super(flowFigure);
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#addToCurrentLine(FlowBox)
- */
- public void addToCurrentLine(FlowBox block) {
- getCurrentLine().add(block);
- }
-
- /**
- * Used by getCurrentLine().
- */
- protected abstract void createNewLine();
-
- /**
- * Used by getCurrentLine(int topmargin)
- *
- * @param topMargin
- */
- protected void createNewLine(int topMargin) {
- createNewLine();
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine()
- */
- public LineBox getCurrentLine() {
- if (_currentLine == null)
- createNewLine();
- return _currentLine;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getCurrentLine(int)
- */
- public LineBox getCurrentLine(int topMargin) {
- if (_currentLine == null) {
- createNewLine(topMargin);
- }
- // if the current line only contains an empty string, reset the current
- // line using the given margin.
- else if (_currentLine.isEmptyStringLine()) {
- List list = _currentLine.getFragments();
- createNewLine(topMargin);
- _currentLine._fragments.addAll(list);
- }
- return _currentLine;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCurrentLineOccupied
- */
- public boolean isCurrentLineOccupied() {
- return _currentLine != null && _currentLine.isOccupied();
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#layout()
- */
- protected void layout() {
- preLayout();
- layoutChildren();
- flush();
- cleanup();
- }
-
- /**
- * Layout all children.
- */
- protected void layoutChildren() {
- List children = getFlowFigure().getChildren();
- for (int i = 0; i < children.size(); i++) {
- Figure f = (Figure) children.get(i);
- f.invalidate();
- f.validate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#getLastMarginRight()
- */
- public int getLastMarginRight() {
- if (_currentLine == null || !_currentLine.isOccupied()) {
- return 0;
- }
- FlowBox box = (FlowBox) _currentLine.getFragments().get(
- _currentLine.getFragments().size() - 1);
- if (box != null) {
- return box.getMarginInsets().right;
- }
- return 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContext#isCalculatingMaxWidth()
- */
- public boolean isCalculatingMaxWidth() {
- if (_calculatingMaxWidth) {
- return true;
- } else if (this.getFlowContext() == null) {
- return false;
- } else {
- return this.getFlowContext().isCalculatingMaxWidth();
- }
- }
-
- /**
- * Called before layoutChildren() to setup any necessary state.
- */
- protected abstract void preLayout();
-
- /**
- * Called after {@link #layoutChildren()}when all children have been laid
- * out. This method exists to flush the last line.
- */
- protected abstract void flush();
-
- /**
- * Flush anything pending and free all temporary data used during layout.
- */
- protected abstract void cleanup();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContext.java
deleted file mode 100644
index bdd4e5168..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowContext.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-/**
- * Copied from draw2d. Enhanced to meet page designer's needs. The context that
- * a {@link FlowFigureLayout}uses to perform its layout.
- * <P>
- * WARNING: This interface is not intended to be implemented by clients. It
- * exists to define the API between the layout and its context.
- */
-public interface FlowContext {
-
- /**
- * Adds the given box into the current line.
- *
- * @param box
- * the FlowBox to add
- */
- void addToCurrentLine(FlowBox box);
-
- /**
- * The current line should be committed if it is occupied, and then set to
- * <code>null</code>. Otherwise, do nothing.
- */
- void endLine();
-
- /**
- * Obtains the current line, creating a new line if there is no current
- * line. if create a new line, the new line's x will be set correctly
- * without considering the new element's left margin. Also, if create new
- * line, it will treat as the new line's top margin is 0.
- *
- * @return the current line
- */
- LineBox getCurrentLine();
-
- /**
- * if create a new line, the new line's x will be set correctly without
- * considering the new element's left margin.
- *
- * @param topMargin
- * @return the current line
- */
- LineBox getCurrentLine(int topMargin);
-
- /**
- * Returns the current Y value.
- *
- * @return the current Y value
- */
- int getCurrentY();
-
- /**
- * @return <code>true</code> if the current line contains any fragments
- */
- boolean isCurrentLineOccupied();
-
- /**
- * @return the last margin right coord
- */
- int getLastMarginRight();
-
- /**
- * when layout table, we need to calculate max width of a cell. This is done
- * by don't break line (other than explicit required). Currently, the
- * solution is to make the recommended width to be very big, and when create
- * block element we don't set the block element's size to be recommended
- * width. Please see CSSBlockFlowLayout
- *
- * @return true if is calculating max width
- */
- boolean isCalculatingMaxWidth();
-
- /**
- * when calculating percentage width, we need the container width
- *
- * @return container width
- */
- int getContainerWidth();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigure.java
deleted file mode 100644
index 7b52ca55e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigure.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * The base implementation for text flow figures. A flow figure is used to
- * render a document in which elements are laid out horizontally within a "line"
- * until that line is filled. Layout continues on the next line.
- * <p>
- * WARNING: This class is not intended to be subclassed by clients. Future
- * versions may contain additional abstract methods.
- *
- * @author mengbo
- * @since 2.1
- */
-public abstract class FlowFigure extends Figure {
-
- // static final boolean SHOW_BASELINE = true;
-
- /**
- * Constructs a new FlowFigure.
- */
- public FlowFigure() {
- // setLayoutManager(createDefaultFlowLayout());
- }
-
- /**
- * If the child is a <code>FlowFigure</code>, its FlowContext is passed
- * to it.
- *
- * @see org.eclipse.draw2d.IFigure#add(IFigure, Object, int)
- */
- public void add(IFigure child, Object constraint, int index) {
- super.add(child, constraint, index);
- if (child instanceof FlowFigure) {
- FlowFigure ff = (FlowFigure) child;
- if (getLayoutManager() instanceof FlowContext) {
- ff.setOriginalFlowContext((FlowContext) getLayoutManager());
- } else {
- PDPlugin.getLogger(this.getClass()).error("layout is not FlowContext", new Throwable("This exception is artificial so we can get a stack trace")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- /**
- * Creates the default layout manager
- *
- * @return The default layout
- */
- // protected abstract FlowFigureLayout createDefaultFlowLayout();
- /**
- * @see Figure#paintFigure(Graphics)
- */
- protected void paintFigure(Graphics g) {
- super.paintFigure(g);
- // g.drawRectangle(getBounds().getResized(-1,-1));
- }
-
- /**
- * Called after validate has occurred. This is used to update the bounds of
- * the FlowFigure to encompass its new flow boxed created during validate.
- */
- public abstract void postValidate();
-
- /**
- * FlowFigures override setBounds() to prevent translation of children.
- * "bounds" is a derived property for FlowFigures, calculated from the
- * fragments that make up the FlowFigure.
- *
- * @see Figure#setBounds(Rectangle)
- */
- public void setBounds(Rectangle r) {
- if (getBounds().equals(r))
- return;
- erase();
- bounds.x = r.x;
- bounds.y = r.y;
- bounds.width = r.width;
- bounds.height = r.height;
- fireFigureMoved();
- repaint();
- }
-
- /**
- * Sets the flow context.
- *
- * @param flowContext
- * the flow context for this flow figure
- */
- public void setOriginalFlowContext(FlowContext flowContext) {
- ((FlowFigureLayout) getLayoutManager())
- .setOriginalFlowContext(flowContext);
- }
-
- public String toString() {
- if (_displayString == null)
- {
- return super.toString();
- }
- return _displayString + " " + getClass().getName(); //$NON-NLS-1$
- }
-
- private String _displayString; // for debug
-
- /**
- * @return the flow context
- */
- public FlowContext getFlowContext() {
- return ((FlowFigureLayout) getLayoutManager()).getFlowContext();
- }
-
- // ----------------------------------------------------------------------
- // as absolute positioning and relative positioning may have children
- // out-side
- // of parent bounds, so we want to disable clipping when drawing figures
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#paintChildren(org.eclipse.draw2d.Graphics)
- */
- protected void paintChildren(Graphics graphics) {
- IFigure child;
-
- Rectangle clip = Rectangle.SINGLETON;
- List children = this.getChildren();
- for (int i = 0; i < children.size(); i++) {
- child = (IFigure) children.get(i);
- if (child.isVisible() && child.intersects(graphics.getClip(clip))) {
- // graphics.clipRect(child.getBounds());
- child.paint(graphics);
- graphics.restoreState();
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#paintClientArea(org.eclipse.draw2d.Graphics)
- */
- protected void paintClientArea(Graphics graphics) {
- if (this.getChildren().isEmpty())
- return;
-
- // boolean optimizeClip = getBorder() == null || getBorder().isOpaque();
-
- if (useLocalCoordinates()) {
- graphics.translate(getBounds().x + getInsets().left, getBounds().y
- + getInsets().top);
- // if (!optimizeClip)
- // graphics.clipRect(getClientArea(PRIVATE_RECT));
- graphics.pushState();
- paintChildren(graphics);
- graphics.popState();
- graphics.restoreState();
- } else {
- // if (optimizeClip)
- paintChildren(graphics);
- // else {
- // graphics.clipRect(getClientArea(PRIVATE_RECT));
- // graphics.pushState();
- // paintChildren(graphics);
- // graphics.popState();
- // graphics.restoreState();
- // }
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigureLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigureLayout.java
deleted file mode 100644
index 4a7759715..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowFigureLayout.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.AbstractLayout;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-
-/**
- * Layout for flow figures
- *
- */
-public abstract class FlowFigureLayout extends AbstractLayout {
-
- /**
- * <code>true</code> if the context has changed, and a layout is needed.
- */
- protected boolean _invalid = true;
-
- /**
- * The flow context in which this LayoutManager exists.
- */
- private FlowContext _context;
-
- /**
- * The figure passed by layout(Figure) is held for convenience.
- */
- private final FlowFigure _flowFigure;
-
- /**
- * Constructs a new FlowFigureLayout with the given FlowFigure.
- *
- * @param flowfigure
- * the FlowFigure
- */
- protected FlowFigureLayout(FlowFigure flowfigure) {
- this._flowFigure = flowfigure;
- }
-
- /**
- * TextFlowLayouts do not calculate a preferred size because it is too
- * expensive. {@link FlowPage}will actually layout itself in order to
- * calculate preferredSize.
- *
- * @see AbstractLayout#calculatePreferredSize(IFigure)
- */
- public Dimension calculatePreferredSize(IFigure f, int w, int h) {
- return null;
- }
-
- /**
- * @return the FlowFigure
- */
- protected FlowFigure getFlowFigure() {
- return _flowFigure;
- }
-
- /**
- * Marks this layout as invalid.
- *
- * @see org.eclipse.draw2d.LayoutManager#invalidate()
- */
- public void invalidate() {
- _invalid = true;
- super.invalidate();
- }
-
- /**
- * @see org.eclipse.draw2d.LayoutManager#layout(IFigure)
- */
- public final void layout(IFigure figure) {
- layout();
- _invalid = false;
- }
-
- /**
- * Called during {@link #layout(IFigure)}. The {@link #_invalid}flag is
- * reset after this method is called.
- */
- protected abstract void layout();
-
- /**
- * Sets the context for this layout manager.
- *
- * @param flowContext
- * the context of this layout
- */
- public void setOriginalFlowContext(FlowContext flowContext) {
- _context = flowContext;
- }
-
- /**
- * @return the original flow context
- */
- protected final FlowContext getOriginalFlowContext() {
- return _context;
- }
-
- /**
- * get flow context.
- *
- * @return the flow context
- */
- public FlowContext getFlowContext() {
- return _context;
- }
-
- public String toString() {
- // for debug purpose.
- return _flowFigure.toString();
- }
-
- /**
- * Called to dispose the layout
- */
- abstract public void dispose();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowPage.java
deleted file mode 100644
index cd81a03b7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowPage.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.Iterator;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * The root of a Flow hierarchy. A flow page can be treated as a normal figure,
- * but contains FlowFigures.
- * <P>
- * A FlowPage will not have a defined width unless it is inside a figure whose
- * layout provides width hints when calling
- * {@link org.eclipse.draw2d.IFigure#getPreferredSize(int, int)}.
- * <P>
- * WARNING: This class is not intended to be subclassed by clients.
- */
-public class FlowPage extends BlockFlow {
-
- private Dimension _pageSize = new Dimension();
-
- private int _recommendedWidth;
-
- private int _pageSizeCacheKeys[] = new int[4];
-
- private Dimension _pageSizeCacheValues[] = new Dimension[4];
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.BlockFlow#createDefaultFlowLayout()
- */
- protected FlowFigureLayout createDefaultFlowLayout() {
- return new PageFlowLayout(this);
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#getMinimumSize()
- */
- public Dimension getMinimumSize(int w, int h) {
- return getPreferredSize(w, h);
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#invalidate()
- */
- public void invalidate() {
- _pageSizeCacheValues = new Dimension[4];
- super.invalidate();
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#getPreferredSize(int, int)
- */
- public Dimension getPreferredSize(int width, int h) {
- if (width >= 0)
- width = Math.max(0, width - getInsets().getWidth());
-
- for (int i = 0; i < 4; i++) {
- if (_pageSizeCacheKeys[i] == width
- && _pageSizeCacheValues[i] != null)
- return _pageSizeCacheValues[i];
- }
-
- _pageSizeCacheKeys[3] = _pageSizeCacheKeys[2];
- _pageSizeCacheKeys[2] = _pageSizeCacheKeys[1];
- _pageSizeCacheKeys[1] = _pageSizeCacheKeys[0];
- _pageSizeCacheKeys[0] = width;
-
- _pageSizeCacheValues[3] = _pageSizeCacheValues[2];
- _pageSizeCacheValues[2] = _pageSizeCacheValues[1];
- _pageSizeCacheValues[1] = _pageSizeCacheValues[0];
-
- // Flowpage must temporarily layout to determine its preferred size
- int oldWidth = getRecommendedWidth();
- setRecommendedWidth(width);
- validate();
- _pageSizeCacheValues[0] = _pageSize.getExpanded(getInsets().getWidth(),
- getInsets().getHeight());
-
- if (width != oldWidth) {
- setRecommendedWidth(oldWidth);
- getUpdateManager().addInvalidFigure(this);
- }
- return _pageSizeCacheValues[0];
- }
-
- int getRecommendedWidth() {
- return _recommendedWidth;
- }
-
- /**
- * @see BlockFlow#postValidate()
- */
- public void postValidate() {
- Rectangle r = getBlockBox().toRectangle();
- _pageSize.width = r.width;
- _pageSize.height = r.height;
- for (final Iterator it = getChildren().iterator(); it.hasNext();)
- {
- ((FlowFigure)it.next()).postValidate();
- }
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigure#setBounds(Rectangle)
- */
- public void setBounds(Rectangle r) {
- if (getBounds().equals(r))
- return;
- boolean invalidate = getBounds().width != r.width
- || getBounds().height != r.height;
- super.setBounds(r);
- int newWidth = r.width - getInsets().getWidth();
- if (invalidate || getRecommendedWidth() != newWidth) {
- setRecommendedWidth(newWidth);
- getUpdateManager().addInvalidFigure(this);
- }
- }
-
- private void setRecommendedWidth(int width) {
- if (_recommendedWidth == width)
- return;
- _recommendedWidth = width;
- super.invalidate();
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#validate()
- */
- public void validate() {
- if (isValid())
- return;
- super.validate();
- postValidate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#setValid(boolean)
- */
- public void setValid(boolean value) {
- super.setValid(value);
- }
-
- public Insets getInsets() {
- return new Insets(8);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowUtilities.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowUtilities.java
deleted file mode 100644
index 6cd9e194d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/FlowUtilities.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.text.BreakIterator;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-
-/**
- * Utility class for FlowFigures.
- *
- */
-public final class FlowUtilities extends FigureUtilities {
- /**
- * Returns the number of characters from the specified String that will fit
- * in the available amount of space. An average character width can be
- * provided as a hint for faster calculation.
- *
- * @param frag
- * the TextFragmentBox
- * @param string
- * the String
- * @param font
- * the Font used for measuring
- * @param availableWidth
- * the available width in pixels
- * @param avg
- * 0.0, or an avg character width to use during calculation
- * @param wrapping
- * the word wrap style
- * @return the number of characters that will fit in the space
- */
- public static int setupFragmentBasedOnTextSpace(TextFragmentBox frag,
- String string, Font font, int availableWidth, float avg,
- int wrapping) {
- int result = getTextForSpace(string, font, availableWidth, avg,
- wrapping);
- frag._length = result;
- setupFragment(frag, font, string);
- return result;
- }
-
- /**
- * given the text string, font and available width and wrapping mode.
- * Calculate how much text can fit into.
- *
- * @param string
- * @param font
- * @param availableWidth
- * @param avg
- * @param wrapping
- * @return how much text can fit into
- */
- public static int getTextForSpace(String string, Font font,
- int availableWidth, float avg, int wrapping) {
- if (string.length() == 0) {
- return 0;
- }
-
- FontMetrics metrics = getFontMetrics(font);
- BreakIterator breakItr = BreakIterator.getLineInstance();
- breakItr.setText(string);
- int MIN, min, max;
- if (avg == 0.0) {
- avg = metrics.getAverageCharWidth();
- }
-
- int firstBreak = breakItr.next();
-
- int winNL = string.indexOf("\r\n"); //$NON-NLS-1$
- int macNL = string.indexOf('\r');
- int unixNL = string.indexOf('\n');
-
- MIN = min = (wrapping == CSSTextLayout.WORD_WRAP_HARD) ? firstBreak : 1;
- if (macNL == winNL) {
- macNL = -1; // If the Mac newline is just the prefix to the win NL,
- // ignore it
- }
-
- max = string.length() + 1;
-
- if (winNL != -1) {
- max = Math.min(max, winNL);
- min = Math.min(min, winNL);
- }
- if (unixNL != -1) {
- max = Math.min(max, unixNL);
- min = Math.min(min, unixNL);
- }
- if (macNL != -1) {
- max = Math.min(max, macNL);
- min = Math.min(min, macNL);
- }
-
- int origMax = max;
- // The size of the current guess
- int guess = 0, guessSize = 0;
-
- while ((max - min) > 1) {
- // Pick a new guess size
- // New guess is the last guess plus the missing width in pixels
- // divided by the average character size in pixels
- guess = guess + (int) ((availableWidth - guessSize) / avg);
-
- if (guess >= max) {
- guess = max - 1;
- }
- if (guess <= min) {
- guess = min + 1;
- }
-
- // Measure the current guess
- guessSize = getStringExtents2(string.substring(0, guess), font).width;
-
- if (guessSize <= availableWidth) {
- // We did not use the available width
- min = guess;
- } else {
- // We exceeded the available width
- max = guess;
- }
- }
-
- int result = string.length();
- switch (wrapping) {
- case CSSTextLayout.WORD_WRAP_HARD:
- if (min == string.length() || min == winNL || min == unixNL
- || min == macNL) {
- result = min;
- } else if (max == origMax
- && getStringExtents2(string.substring(0, max), font).width <= availableWidth) {
- result = max;
- } else {
- result = Math.max(MIN, breakItr.preceding(Math.min(max, string
- .length() - 1)));
- }
- break;
-
- case CSSTextLayout.WORD_WRAP_SOFT:
- if (min == string.length() || min == winNL || min == unixNL
- || min == macNL) {
- result = min;
- } else if (max == origMax
- && getStringExtents2(string.substring(0, max), font).width <= availableWidth) {
- result = max;
- } else if (breakItr.isBoundary(min)) {
- result = min;
- } else if (breakItr.isBoundary(Math.min(max, string.length() - 1))) {
- result = max;
- } else {
- result = breakItr.preceding(Math.min(max, string.length() - 1));
- }
- if (result <= 0) {
- result = min;
- }
- break;
- // case CSSTextLayout.WORD_WRAP_TRUNCATE:
- // if (min == string.length() || min == winNL || min == unixNL || min ==
- // macNL)
- // {
- // result = frag._length = min;
- // setupFragment(frag, font, string);
- // if (frag.getWidth() <= availableWidth)
- // return result;
- // min -= 1;
- // }
- // else if (max == origMax && getStringExtents(string.substring(0, max),
- // font).width <= availableWidth)
- // {
- // result = frag._length = max;
- // setupFragment(frag, font, string);
- // return result;
- // }
- // result = breakItr.preceding(Math.min(max + 1, string.length() - 1));
- // if (result <= 0)
- // {
- // ELLIPSIS_SIZE =
- // FigureUtilities.getStringExtents(CSSTextFigure.ELLIPSIS, font);
- // getTextForSpace(frag, string, font, availableWidth -
- // ELLIPSIS_SIZE.width, avg, CSSTextLayout.WORD_WRAP_SOFT);
- // //frag.length = min;
- // frag._truncated = true;
- // result = breakItr.following(min);
- // if (result == BreakIterator.DONE)
- // result = string.length();
- // }
- // else
- // {
- // frag._length = result;
- // }
- }
-
- return result;
- }
-
- /**
- * @param string
- * @param font
- * @param availableWidth
- * @param avg
- * @return the text width
- */
- public static int getTextInWidth(String string, Font font,
- int availableWidth, float avg) {
- if (string.length() == 0) {
- return 0;
- }
- int guess = 0;
- while (true) {
- Dimension a = getTextExtents(string.substring(0, guess), font);
- if (a.width >= availableWidth) {
- return guess;
- }
- guess++;
- if (guess == string.length()) {
- return guess;
- }
- }
- }
-
- /**
- * change the parent implementation of getStringExtents(). Don't expend the
- * 1 width. So empty string will not have any width.
- *
- * @param s
- * @param f
- * @return the dimension
- */
- public static Dimension getStringExtents2(String s, Font f) {
- return new Dimension(getStringDimension(s, f));
- }
-
- static void setupFragment(TextFragmentBox frag, Font f, String s) {
- // if (frag.length != s.length())
- // we don't skip whitespace here. since already truncated in
- // CSSTextLayout
-
- // while (frag.length > 0 &&
- // Character.isElementContentWhitespace(s.charAt(frag.length - 1)))
- // frag.length--;
- frag.setTextData(s.substring(0, frag._length));
- Dimension d = getStringExtents2(s.substring(0, frag._length), f);
- FontMetrics fm = getFontMetrics(f);
- frag.setHeight(fm.getHeight());
- frag.setAscent(fm.getAscent() + fm.getLeading());
- if (frag._length > 0
- && Character.isWhitespace(s.charAt(frag._length - 1))) {
- frag._isLastCharWhitespace = true;
- } else {
- frag._isLastCharWhitespace = false;
- }
- frag.setWidth(d.width);
- }
-
- private FlowUtilities()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSFigure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSFigure.java
deleted file mode 100644
index cecf650e5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSFigure.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-
-/**
- * @author mengbo
- */
-public interface ICSSFigure extends IFigure {
- /**
- * get fragments of this figure. Each item of the list will be a FlowBox.
- * Note, this method is for read only, caller should not change the returned
- * list and items in the returned list.
- *
- * @return the list of fragments
- */
- public List getFragmentsForRead();
-
- /**
- * get the CSSStyle of this CSS figure.
- *
- * @return the css style
- */
- public ICSSStyle getCSSStyle();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSLayout.java
deleted file mode 100644
index f17c54aa8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSLayout.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.LayoutManager;
-
-/**
- * There are several kinds of layout involved. 1. the layout need let the child
- * figures do certain layouting of themselves first, then decide the final
- * result based on child information. 2. the layout could decide the size
- * information of this figure without child information.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface ICSSLayout extends LayoutManager {
- /**
- * Each ICSSLayout is dedicated to a single CSSFigure.
- *
- * @return the figure
- */
- public ICSSFigure getICSSFigure();
-
- /**
- *
- * @return
- */
- // public List getFragmentsForRead();
- /**
- * postValidate the child figures of this CSSFigure. Normally layout fall
- * into the first category need implement this method.
- */
- // public void postValidate();
- /**
- * setBounds is called on the CSSFigure. Normally layout fall into the
- * second category need implement this method.
- *
- * @param rect
- * @param invalidate
- */
- // public void setBoundsCalled(Rectangle rect, boolean invalidate);
- /**
- * @return
- */
- // public boolean useLocalCoordinates();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter.java
deleted file mode 100644
index 5f83cb868..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.Graphics;
-
-/**
- * @author mengbo
- */
-public interface ICSSPainter {
- /**
- * this method is called in the figure's <code>paintFigure</code> method,
- * before <code>paintClientArea</code>. So it is called before children.
- * Thus, children may override its effects.
- *
- * @param g
- */
- public void paintFigure(Graphics g);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter2.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter2.java
deleted file mode 100644
index f93fb8447..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/ICSSPainter2.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.Graphics;
-
-/**
- * If the layout implements this interface, then it will have chance to paint
- * something to override children effect.
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSFigure
- *
- * @author mengbo
- * @version 1.5
- */
-public interface ICSSPainter2 {
- /**
- * this method is called after <code>paintClientArea</code>. So it is
- * called after children. Thus, it could override some children effects.
- *
- * @param g
- */
- public void paintFigurePostClientArea(Graphics g);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/LineBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/LineBox.java
deleted file mode 100644
index fcfe8b44b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/LineBox.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.jst.pagedesigner.css2.property.VerticalAlignMeta;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.swt.graphics.FontMetrics;
-
-/**
- * A composite box representing a single line. LineBox calculates its ascent and
- * descent from the child boxes it contains. Clients can call
- * {@link #getAscent()} at any time and expect valid
- * values. The child boxes that are added to a line have unspecied locations
- * until {@link #commit()}is called, at which time the child boxes are layed
- * out in left-to-right order, and their baselines are all aligned vertically.
- *
- */
-public class LineBox extends CompositeBox {
- private final static int BASELINE = 0;
-
- private final static int MIDDLE = 1;
-
- private final static int SUB = 2;
-
- private final static int SUPER = 3;
-
- private final static int TEXT_TOP = 4;
-
- private final static int TEXT_BOTTOM = 5;
-
- private final static int TOP = 6;
-
- private final static int BOTTOM = 7;
-
- private final static int LENGTH = 8;
-
- private int _ascent = 0;
-
- private int _descent = 0;
-
- private int _fontAscent = 0;
-
- private int _fontDescent = 0;
-
- private int _fontLeading = 0;
-
- private Object _horizonalData = null;
-
- private Object _htmlInitData = null;
-
- private int _accumlatedWidth = 0;
-
- /**
- * Removes all owned fragments and invalidates this CompositeBox.
- */
- public void clear() {
- super.clear();
- _horizonalData = null;
- _htmlInitData = null;
- }
-
- /**
- * Committing a LineBox will position its children correctly. All children
- * boxes are made to have the same baseline, and are layed out from
- * left-to-right.
- */
- public void commit() {
- int baseline = getBaseline();
- int xLocation = _x;
- for (int i = 0; i < _fragments.size(); i++) {
- FlowBox block = (FlowBox) _fragments.get(i);
- block._x = xLocation + block.getMarginInsets().left;
- xLocation = block._x + block._width + block.getMarginInsets().right;
-
- if (_fragments.size() > 1 && block instanceof TextFragmentBox) {
- TextFragmentBox textBox = (TextFragmentBox) block;
- if (textBox.getTextData().length() == 0) {
- textBox._height = _fontAscent + _fontDescent + _fontLeading;
- textBox.setAscent(_fontAscent + _fontLeading);
- block._y = this._y;
- continue;
- }
- }
-
- switch (getVerticalAlignType(block)) {
- case TOP:
- block._y = this._y;
- break;
- case BOTTOM:
- block._y = this.getBaseline() - (block.getHeight() - _descent);
- break;
- case MIDDLE:
- int halfXHeight = getHalfXHeight();
- block._y = this.getBaseline() - halfXHeight
- - (block.getHeight() + 1) / 2;
- break;
- case TEXT_TOP:
- block._y = this.getBaseline() - _fontAscent - _fontLeading;
- break;
- case TEXT_BOTTOM:
- block._y = this.getBaseline() - (block._height - _fontDescent);
- break;
- case LENGTH:
- block._y = this.getBaseline() + getIncrement(block);
- break;
- case SUPER:
- block._y = this.getBaseline() - getHalfXHeight() * 2
- - block._height;
- break;
- case SUB:
- block._y = this.getBaseline() - block._height * _fontLeading
- / getFontHeight();
- break;
- case BASELINE:
- default:
- block.makeBaseline(baseline);
- break;
- }
- if (block instanceof LineBox) {
- ((LineBox) block).commit();
- }
- }
- }
-
- private int getVerticalAlignType(FlowBox box) {
- Object data = box.getVerticalAlignData();
-
- if (data != null) {
- if (data instanceof Length) {
- return LENGTH;
- } else if (VerticalAlignMeta.BASELINE.equals(data)) {
- return BASELINE;
- } else if (VerticalAlignMeta.MIDDLE.equals(data)) {
- return MIDDLE;
- } else if (VerticalAlignMeta.SUB.equals(data)) {
- return SUB;
- } else if (VerticalAlignMeta.SUPER.equals(data)) {
- return SUPER;
- } else if (VerticalAlignMeta.TEXT_TOP.equals(data)) {
- return TEXT_TOP;
- } else if (VerticalAlignMeta.TEXT_BOTTOM.equals(data)) {
- return TEXT_BOTTOM;
- } else if (VerticalAlignMeta.TOP.equals(data)) {
- return TOP;
- } else if (VerticalAlignMeta.BOTTOM.equals(data)) {
- return BOTTOM;
- }
- return BASELINE;
- }
- return BASELINE;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowBox#getAscent()
- */
- public int getAscent() {
- // because at initial, ascent is 0. And the linebox
- // could have some size setting without children. In
- // that case, we need handle differently.
- if (_ascent == 0 && _fragments.isEmpty()) {
- return getHeight();
- }
- return _ascent;
- }
-
- /**
- * Returns the width available to child fragments.
- *
- * @return the width in pixels
- */
- public int getAvailableWidth() {
- if (_recommendedWidth < 0) {
- return Integer.MAX_VALUE;
- }
- int availableWidth = _recommendedWidth - _accumlatedWidth;
- if (availableWidth < 0) {
- availableWidth = 0;
- }
- return availableWidth;
- }
-
- /**
- * Returns the baseline of this LineBox, which is the y value plus the
- * ascent.
- *
- * @return the baseline value.
- */
- public int getBaseline() {
- return _y + getAscent();
- }
-
- /**
- * @see CompositeBox#resetInfo()
- */
- protected void resetInfo() {
- super.resetInfo();
- _accumlatedWidth = 0;
- _ascent = 0;
- }
-
- /**
- * @see CompositeBox#unionInfo(FlowBox)
- */
- protected void unionInfo(FlowBox blockInfo) {
- if (blockInfo instanceof TextFragmentBox) {
- if (((TextFragmentBox) blockInfo).getTextData().length() == 0) {
- return;
- }
- }
-
- if (_fragments == null || _fragments.isEmpty()) {
- this._ascent = 0;
- this._descent = 0;
- this._height = 0;
- }
-
- int valign = getVerticalAlignType(blockInfo);
-
- if (valign == BASELINE) {
- _ascent = Math.max(_ascent, blockInfo.getAscent());
- if (blockInfo instanceof WidgetBox) {
- _descent = 0;
- } else {
- _descent = Math.max(_descent, blockInfo.getDescent());
- }
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == MIDDLE) {
- int halfXHeight = getHalfXHeight();
- _ascent = Math.max(_ascent, (blockInfo.getHeight() + 1) / 2
- + halfXHeight);
- _descent = Math.max(_descent, blockInfo.getHeight() / 2
- - halfXHeight);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == TEXT_TOP) {
- _ascent = Math.max(_ascent, _fontAscent + _fontLeading);
- _descent = Math.max(_descent, blockInfo.getHeight() - _fontAscent
- - _fontLeading);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == TEXT_BOTTOM) {
- _ascent = Math.max(_ascent, blockInfo.getHeight() - _fontDescent);
- _descent = Math.max(_descent, _fontDescent);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == SUB) {
- int blockTop = blockInfo._height * _fontLeading / getFontHeight();
- _ascent = Math.max(_ascent, blockTop);
- _descent = Math.max(_descent, blockInfo.getHeight() - blockTop);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == SUPER) {
- int blockTop = blockInfo._height;
- _ascent = Math.max(_ascent, getHalfXHeight() * 2 + blockTop);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == LENGTH) {
- int increment = getIncrement(blockInfo);
- _ascent = Math.max(_ascent, blockInfo.getAscent() + increment);
- _descent = Math.max(_descent, blockInfo.getDescent() - increment);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == TOP) {
- _descent = Math.max(_descent, blockInfo.getHeight() - _ascent);
- _height = Math.max(_height, _ascent + _descent);
- } else if (valign == BOTTOM) {
- // XXX:the render of IE is not consistent with spec, mozilla is. so
- // we follow mozilla's implementation.
- _ascent = Math.max(_ascent, blockInfo.getHeight() - _descent);
- _height = Math.max(_height, _ascent + _descent);
- } else {
- _ascent = Math.max(_ascent, blockInfo.getAscent());
- _descent = Math.max(_descent, blockInfo.getDescent());
- _height = Math.max(_height, blockInfo.getHeight());
- }
-
- _accumlatedWidth += blockInfo._width
- + blockInfo.getMarginInsets().getWidth();
- if (_accumlatedWidth > _width) {
- _width = _accumlatedWidth;
- }
- }
-
- private int getIncrement(FlowBox blockInfo) {
- int valign = getVerticalAlignType(blockInfo);
- if (valign == LENGTH) {
- int increment = 0;
- Length length = (Length) blockInfo.getVerticalAlignData();
- if (length.isPercentage()) {
- increment = length.getValue() * getFontHeight() / 100;
- } else {
- increment = length.getValue();
- }
- return increment;
- }
- return 0;
- }
-
- /**
- * @return true if is occupied
- * @see org.eclipse.draw2d.geometry.Rectangle#isEmpty()
- */
- public boolean isOccupied() {
- if (_width > 0) {
- return true;
- }
-
- if (_fragments.isEmpty()) {
- return false;
- }
- // int size = _fragments.size();
- // if (size > 1)
- // {
- // return true;
- // }
- // ok, we have one segment
- // FlowBox box = (FlowBox) _fragments.get(0);
- // if (box instanceof TextFragmentBox)
- // {
- // if (((TextFragmentBox) box).getTextData().length() == 0)
- // {
- // // this is an empty string text box.
- // return false;
- // }
- // }
- return true;
- }
-
- /**
- * @return true if is empty string line
- */
- public boolean isEmptyStringLine() {
- // if(this.getWidth() == 0)
- // {
- // return true;
- // }
- // else
- // {
- // return false;
- // }
- if (_fragments.size() == 1) {
- FlowBox box = (FlowBox) _fragments.get(0);
- if (box instanceof TextFragmentBox) {
- if (box instanceof TextFragmentBox) {
- if (((TextFragmentBox) box).getTextData().length() == 0) {
- return true;
- }
- }
- }
- }
- return false;
- }
-
- /**
- * @param fontMetrics
- */
- public void setFontMetrics(FontMetrics fontMetrics) {
- if (fontMetrics != null) {
- _fontAscent = fontMetrics.getAscent();
- _fontDescent = fontMetrics.getDescent();
- _fontLeading = fontMetrics.getLeading();
- // if (_fragments == null || _fragments.isEmpty())
- // {
- // this._ascent = _fontAscent + _fontLeading;
- // this._descent = _fontDescent;
- // if (this._height < this._ascent + this._descent)
- // {
- // this._height = this._ascent + this._descent;
- // }
- // }
- } else {
- _fontAscent = 0;
- _fontDescent = 0;
- _fontLeading = 0;
- }
- }
-
- private int getHalfXHeight() {
- return (_fontAscent + _fontDescent + _fontLeading) / 5;
- }
-
- private int getFontHeight() {
- return _fontAscent + _fontDescent + _fontLeading;
- }
-
- /**
- * @return Returns the horizonalData.
- */
- public Object getHorizonalData() {
- return _horizonalData;
- }
-
- /**
- * @param horizonalData
- * The horizonalData to set.
- */
- public void setHorizonalData(Object horizonalData) {
- this._horizonalData = horizonalData;
- }
-
- /**
- * @return Returns the htmlInitData.
- */
- public Object getHtmlInitData() {
- return _htmlInitData;
- }
-
- /**
- * @param htmlInitData
- * The htmlInitData to set.
- */
- public void setHtmlInitData(Object htmlInitData) {
- this._htmlInitData = htmlInitData;
- }
-
- @Override
- public void setY(int y) {
- // make set y public
- super.setY(y);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/MultiLineLabel.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/MultiLineLabel.java
deleted file mode 100644
index e49872c23..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/MultiLineLabel.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-
-/**
- * A multi-line label
- *
- */
-public class MultiLineLabel extends Label {
- private static String ELLIPSIS = "..."; //$NON-NLS-1$
-
- protected void paintFigure(Graphics graphics) {
- if (isOpaque()) {
- graphics.fillRectangle(getBounds());
- }
- Rectangle bounds1 = getBounds();
- graphics.translate(bounds1.x, bounds1.y);
- drawText(graphics);
- graphics.translate(-bounds1.x, -bounds1.y);
- }
-
- private void drawText(Graphics graphics) {
- String[] strings = splitString(getText());
- int y = 0;
- int lineHeight = FigureUtilities.getFontMetrics(getFont()).getHeight();
- for (int i = 0; i < strings.length; i++) {
- graphics.drawText(getSubStringText(strings[i]), 0, y);
- y += lineHeight;
- }
-
- }
-
- private String[] splitString(String text) {
- String[] lines = new String[1];
- int start = 0, pos;
- do {
- pos = text.indexOf('\n', start);
- if (pos == -1) {
- lines[lines.length - 1] = text.substring(start);
- } else {
- boolean crlf = (pos > 0) && (text.charAt(pos - 1) == '\r');
- lines[lines.length - 1] = text.substring(start, pos
- - (crlf ? 1 : 0));
- start = pos + 1;
- String[] newLines = new String[lines.length + 1];
- System.arraycopy(lines, 0, newLines, 0, lines.length);
- lines = newLines;
- }
- } while (pos != -1);
- return lines;
- }
-
- /**
- * @param text
- * @return the substring text
- */
- private String getSubStringText(String text) {
- String subStringText = text;
-
- Font currentFont = getFont();
- int textWidth = FigureUtilities.getTextWidth(text, currentFont);
- if (textWidth - getSize().width <= 0) {
- return subStringText;
- }
-
- Dimension effectiveSize = new Dimension(getSize().width, 0);
-
- int dotsWidth = FigureUtilities.getTextWidth(ELLIPSIS, currentFont);
-
- if (effectiveSize.width < dotsWidth) {
- effectiveSize.width = dotsWidth;
- }
-
- int subStringLength = getLargestSubstringConfinedTo(text, currentFont,
- effectiveSize.width - dotsWidth);
- subStringText = new String(text.substring(0, subStringLength)
- + ELLIPSIS);
- return subStringText;
- }
-
- int getLargestSubstringConfinedTo(String s, Font f, int availableWidth) {
- FontMetrics metrics = FigureUtilities.getFontMetrics(f);
- int min, max;
- float avg = metrics.getAverageCharWidth();
- min = 0;
- max = s.length() + 1;
-
- // The size of the current guess
- int guess = 0, guessSize = 0;
- while ((max - min) > 1) {
- // Pick a new guess size
- // New guess is the last guess plus the missing width in pixels
- // divided by the average character size in pixels
- guess = guess + (int) ((availableWidth - guessSize) / avg);
-
- if (guess >= max) {
- guess = max - 1;
- }
- if (guess <= min) {
- guess = min + 1;
- }
-
- // Measure the current guess
- guessSize = FigureUtilities
- .getTextExtents(s.substring(0, guess), f).width;
-
- if (guessSize < availableWidth) {
- // We did not use the available width
- min = guess;
- } else {
- // We exceeded the available width
- max = guess;
- }
- }
- return min;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/PageFlowLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/PageFlowLayout.java
deleted file mode 100644
index 33ff6a106..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/PageFlowLayout.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.jst.pagedesigner.css2.font.CSSFont;
-import org.eclipse.jst.pagedesigner.css2.font.CSSFontManager;
-import org.eclipse.swt.graphics.Font;
-
-/**
- * A block layout which requires no FlowContext to perform its layout. This
- * class is used by {@link FlowPage}.
- * <p>
- * WARNING: This class is not intended to be subclassed by clients.
- */
-public class PageFlowLayout extends BlockFlowLayout {
-
- /**
- * Creates a new PageFlowLayout with the given FlowPage
- *
- * @param page
- * the FlowPage
- */
- public PageFlowLayout(FlowPage page) {
- super(page);
- }
-
- /**
- * @see BlockFlowLayout#endBlock()
- */
- protected void endBlock() {
- // do nothing
- }
-
- /**
- *
- */
- public void postValidate() {
- // TODO: This method is not being called.
- }
-
- protected void setupLine(LineBox line, int topMargin) {
- super.setupLine(line, topMargin);
-
- CSSFontManager fontManager = CSSFontManager.getInstance();
- Font font = fontManager.getSwtFont((CSSFont) fontManager
- .createDefaultFont());
- line.setFontMetrics(FigureUtilities.getFontMetrics(font));
- }
-
- /**
- * Setup blockBox to the initial bounds of the Page
- */
- protected void setupBlock() {
- // Remove all current Fragments
- _blockBox.clear();
-
- // Setup the one fragment for this Block with the correct X and
- // available width
- _blockBox.setRecommendedWidth(((FlowPage) getFlowFigure())
- .getRecommendedWidth());
- _blockBox._x = 0;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextFragmentBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextFragmentBox.java
deleted file mode 100644
index 58776e430..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextFragmentBox.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-/**
- * A Geometric object for representing a TextFragment region on a line of Text.
- */
-public class TextFragmentBox extends FlowBox {
-
- /** The offset in pixels * */
- public int _offset;
-
- /** The length in pixels * */
- public int _length;
-
- private int _ascent;
-
- // boolean _truncated;
-
- /*package*/ boolean _isLastCharWhitespace = false;
-
- private String _textData;
-
- /**
- * Creates a new TextFragmentBox
- */
- public TextFragmentBox() {
- // do nothgin
- }
-
- /**
- * Returns the ascent of this TextFragmentBox
- *
- * @return the ascent
- */
- public int getAscent() {
- return _ascent;
- }
-
- /**
- * Sets the ascent of this TextFragmentBox to the given value
- *
- * @param a
- * the ascent
- */
- public void setAscent(int a) {
- _ascent = a;
- }
-
- /**
- * Sets the height of this TextFragmentBox to the given value
- *
- * @param h
- * the height
- */
- public void setHeight(int h) {
- _height = h;
- }
-
- /**
- * Sets the width of this TextFragmentBox to the given value
- *
- * @param w
- * the width
- */
- public void setWidth(int w) {
- _width = w;
- }
-
- /**
- * @return the text data
- */
- public String getTextData() {
- return _textData;
- }
-
- /**
- * @param txt
- */
- public void setTextData(String txt) {
- _textData = txt;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextLayoutSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextLayoutSupport.java
deleted file mode 100644
index 7b31c90f8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/TextLayoutSupport.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.property.TextDecorationMeta;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-
-/**
- * @author mengbo
- */
-public class TextLayoutSupport {
- private static final Logger _log = PDPlugin
- .getLogger(TextLayoutSupport.class);
-
- private static final String[] DELIMITERS = { "\r\n", //$NON-NLS-1$
- "\n", //$NON-NLS-1$
- "\r" //$NON-NLS-1$
- };
-
- static private int delimeterLength;
-
- /**
- * Reuses an existing <code>TextFragmentBox</code>, or creates a new one.
- *
- * @param i
- * the index
- * @param fragments
- * the original list of fragments
- * @return a TextFragmentBox
- */
- // copied from TextLayout
- protected static TextFragmentBox getFragment(int i, List fragments) {
- if (fragments.size() > i) {
- return (TextFragmentBox) fragments.get(i);
- }
- TextFragmentBox box = new TextFragmentBox();
- fragments.add(box);
- return box;
- }
-
- /**
- * Returns the average character width of given TextFragmentbox
- *
- * @param fragment
- * the TextFragmentBox
- * @return the average character width
- */
- public static float getAverageCharWidth(TextFragmentBox fragment) {
- if (fragment._width != 0 && fragment._length != 0) {
- return fragment._width / (float) fragment._length;
- }
- return 0.0f;
- }
-
- // ----------------------------------------------------------------------------------------
- /**
- * this method will create a set of TextFragment. Each fragment will offset
- * to the original text (whole text for the text figure).
- * @param context
- * @param text
- * @param fragments
- * @param font
- * @param wrappingStyle
- * @param trimLeading
- */
- public static void layoutNormal(FlowContext context, String text,
- List fragments, Font font, int wrappingStyle, boolean trimLeading) {
- int i = 0; // The index of the current fragment;
- int offset = 0;
- if (trimLeading) {
- offset = 1;
- text = text.substring(1);
- }
-
- int length = 0; // The length of the current fragment
- float prevAvgCharWidth;
- LineBox currentLine;
- TextFragmentBox fragment;
-
- while (text.length() > 0) {
- fragment = null;
- prevAvgCharWidth = 0f;
- fragment = getFragment(i, fragments);
- prevAvgCharWidth = getAverageCharWidth(fragment);
-
- // Check for newline, if it exists, call context.endLine and skip
- // over the newline
- // Exccept for first time through, don't do this.
- if (i != 0) {
- boolean changed = false;
- if (text.charAt(0) == '\r') {
- text = text.substring(1);
- changed = true;
- offset += 1;
- }
- if (text.length() != 0 && text.charAt(0) == '\n') {
- text = text.substring(1);
- changed = true;
- offset += 1;
- }
- if (changed) {
- context.endLine();
- }
- }
-
- fragment._offset = offset;
-
- // This loop is done at most twice.
- // The second time through, a context.endLine()
- // was requested, and the loop will break.
- while (true) {
- currentLine = context.getCurrentLine();
- length = FlowUtilities.setupFragmentBasedOnTextSpace(fragment,
- text, font, currentLine.getAvailableWidth(),
- prevAvgCharWidth, wrappingStyle);
-
- if (fragment._width <= currentLine.getAvailableWidth()
- || !context.isCurrentLineOccupied()) {
- break;
- }
- context.endLine();
- }
- // fragment.x = context.getCurrentX();
- context.addToCurrentLine(fragment);
- text = text.substring(length);
- offset += length;
- if (text.length() > 0) {
- context.endLine();
- }
- i++;
- }
-
- // Remove the remaining unused fragments.
- while (i < fragments.size()) {
- fragments.remove(fragments.size() - 1);
- }
- }
-
- /**
- * @param context
- * @param text
- * @param fragments
- * @param font
- */
- public static void layoutNoWrap(FlowContext context, String text,
- List fragments, Font font) {
- TextFragmentBox fragment;
- int i = 0;
- int offset = 0;
-
- while (offset < text.length()) {
- int result = nextLineBreak(text, offset);
- fragment = getFragment(i++, fragments);
- fragment._length = result - offset;
- fragment._offset = offset;
- FlowUtilities.setupFragment(fragment, font, text.substring(offset));
- context.getCurrentLine().add(fragment);
- offset = result + delimeterLength;
- if (delimeterLength != 0) {
- // in nextLineBreak we fo
- context.endLine();
- }
-
- }
- // Remove the remaining unused fragments.
- while (i < fragments.size()) {
- fragments.remove(i++);
- }
- }
-
- private static int nextLineBreak(String text, int offset) {
- int result = text.length();
- delimeterLength = 0;
- int current;
- for (int i = 0; i < DELIMITERS.length; i++) {
- current = text.indexOf(DELIMITERS[i], offset);
- if (current != -1 && current < result) {
- result = current;
- delimeterLength = DELIMITERS[i].length();
- }
- }
- return result;
- }
-
- /**
- * @param g
- * @param fragments
- * @param font
- * @param textDecoration
- */
- public static void paintTextFigure(Graphics g, List fragments, Font font,
- int textDecoration) {
- paintTextFigure(g, fragments, font, null, textDecoration);
- }
-
- /**
- * @param g
- * @param rect
- * @param textDecoration
- */
- public static void paintTextDecoration(Graphics g, Rectangle rect,
- int textDecoration) {
- if ((textDecoration & TextDecorationMeta.UNDERLINE) != 0) {
- g.drawLine(rect.x, rect.y + rect.height - 1, rect.x + rect.width
- - 1, rect.y + rect.height - 1);
- }
- if ((textDecoration & TextDecorationMeta.OVERLINE) != 0) {
- g.drawLine(rect.x, rect.y + 1, rect.x + rect.width - 1, rect.y + 1);
- }
- if ((textDecoration & TextDecorationMeta.LINETHROUGH) != 0) {
- g.drawLine(rect.x, rect.y + rect.height / 2, rect.x + rect.width
- - 1, rect.y + rect.height / 2);
- }
- }
-
- /**
- * @param g
- * @param fragments
- * @param font
- * @param color
- * @param textDecoration
- */
- public static void paintTextFigure(Graphics g, List fragments, Font font,
- Color color, int textDecoration) {
- // FIXME: It happens there is problem in this method's parameters. what
- // exception should be catched?
- try {
- TextFragmentBox frag;
- // XXX: adjust font. Here is not using setFont(), because that will
- // result in revalidate
- g.setFont(font);
-
- for (int i = 0; i < fragments.size(); i++) {
- frag = (TextFragmentBox) fragments.get(i);
- // if (!g.getClip(Rectangle.SINGLETON).intersects(frag))
- // continue;
- String draw;
- draw = frag.getTextData();
-
- if (color != null) {
- g.setForegroundColor(color);
- }
- g.drawText(draw, frag._x, frag._y);
- if ((textDecoration & TextDecorationMeta.UNDERLINE) != 0) {
- g.drawLine(frag._x, frag._y + frag.getHeight() - 1, frag._x
- + frag.getWidth(), frag._y + frag.getHeight() - 1);
- }
- if ((textDecoration & TextDecorationMeta.OVERLINE) != 0) {
- g.drawLine(frag._x, frag._y, frag._x + frag.getWidth(),
- frag._y);
- }
- if ((textDecoration & TextDecorationMeta.LINETHROUGH) != 0) {
- g.drawLine(frag._x, frag._y + frag.getHeight() / 2, frag._x
- + frag.getWidth(), frag._y + frag.getHeight() / 2);
- }
-
- if (Debug.DEBUG_BASELINE) {
- g.drawLine(frag._x, frag._y + frag.getAscent(), frag._x
- + frag.getWidth(), frag._y + frag.getAscent());
- }
- }
- } catch (Exception e) {
- // "Error in text painting:"
- _log.info("TextLayoutSupport.Info.1", e); //$NON-NLS-1$
- }
- }
-
- /**
- *
- * @param g
- * @param fragments
- * @param text
- * all the text in the Text figure.
- * @param font
- * @param color
- * @param textDecoration
- * @param start
- * @param end
- * @param selectionForeColor
- * @param selectionBackColor
- */
- public static void paintTextFigureWithSelection(Graphics g, List fragments,
- String text, Font font, Color color, int textDecoration, int start,
- int end, Color selectionForeColor, Color selectionBackColor) {
- // FIXME: It happens there is problem in this method's parameters. what
- // exception should be catched?
- try {
- TextFragmentBox frag;
-
- Color originalForeground = g.getForegroundColor();
- Color originalBackgroud = g.getBackgroundColor();
-
- // XXX: adjust font. Here is not using setFont(), because that will
- // result in revalidate
- g.setFont(font);
-
- for (int i = 0, n = fragments.size(); i < n; i++) {
- frag = (TextFragmentBox) fragments.get(i);
-
- // to make things simpler, we always draw the line using default
- // color
- if (color != null) {
- g.setForegroundColor(color);
- }
-
- // if (!g.getClip(Rectangle.SINGLETON).intersects(frag))
- // continue;
- String draw;
- draw = frag.getTextData();
- if (frag._offset >= end || frag._offset + frag._length <= start) {
- // we are not in selection. no need to change color
- g.drawText(draw, frag._x, frag._y);
- paintTextDecoration(g, frag.getRectangle(), textDecoration);
- } else if (frag._offset >= start
- && frag._offset + frag._length <= end) {
- // we are fully in selection
- g.setForegroundColor(selectionForeColor);
- g.setBackgroundColor(selectionBackColor);
- g
- .fillRectangle(frag._x, frag._y, FlowUtilities
- .getTextExtents(draw, font).width, frag
- .getHeight());
- g.drawText(draw, frag._x, frag._y);
- paintTextDecoration(g, frag.getRectangle(), textDecoration);
- } else {
- // partial of the fragment's text is in selection.
-
- // draw the original string first
- g.drawText(draw, frag._x, frag._y);
- // then override with the selected parts.
- g.setForegroundColor(selectionForeColor);
- g.setBackgroundColor(selectionBackColor);
- int partialStart = frag._offset > start ? frag._offset
- : start;
- int partialEnd = (frag._offset + frag._length > end) ? end
- : (frag._offset + frag._length);
- int x = 0;
- String skip = text.substring(frag._offset, partialStart);
- x = FlowUtilities.getTextExtents(skip, font).width;
- String todraw = text.substring(partialStart, partialEnd);
- if (todraw.length() > 0) {
- Dimension dimension = FlowUtilities.getTextExtents(skip
- + todraw, font);
- g.fillRectangle(frag._x + x, frag._y, dimension.width
- - x, dimension.height);
- g.drawText(skip + todraw, frag._x, frag._y);
- if (color != null) {
- g.setForegroundColor(color);
- } else {
- g.setForegroundColor(originalForeground);
- }
- g.drawText(skip, frag._x, frag._y);
- paintTextDecoration(g, frag.getRectangle(),
- textDecoration);
- g.setForegroundColor(selectionForeColor);
- paintTextDecoration(g,
- new Rectangle(frag._x + x, frag._y,
- dimension.width - x, dimension.height),
- textDecoration);
- }
- }
-
- // we do this in each loop, to make sure we are using correct
- // color
- g.setForegroundColor(originalForeground);
- g.setBackgroundColor(originalBackgroud);
-
- }
- } catch (Exception e) {
- // "Error in text painting:"
- _log.info("TextLayoutSupport.Info.1", e); //$NON-NLS-1$
- }
- }
-
- /**
- * @param textAlign
- * @param rect
- * @param textWidth
- * @return the x value
- */
- public static int getBeginX(Object textAlign, Rectangle rect, int textWidth) {
- int x = rect.x;
- if (textAlign != null) {
- String align = textAlign.toString();
- if ("left".equalsIgnoreCase(align)) //$NON-NLS-1$
- {
- x = rect.x + 1;
- } else if ("right".equalsIgnoreCase(align)) //$NON-NLS-1$
- {
- x = rect.x + rect.width - textWidth - 1;
- if (x < 1) {
- x = 1;
- }
- } else if ("center".equalsIgnoreCase(align)) //$NON-NLS-1$
- {
- int offset = (rect.width - textWidth) / 2;
- if (offset <= 0) {
- offset = 0;
- }
- x = x + offset + 1;
- }
- }
- return x;
- }
-
- private TextLayoutSupport()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/WidgetBox.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/WidgetBox.java
deleted file mode 100644
index 220d61c5a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/WidgetBox.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout;
-
-/**
- * Simple box support ascent.
- *
- * @author mengbo
- * @version 1.5
- */
-public class WidgetBox extends FlowBox {
- private int _ascent = -1;
-
- public int getAscent() {
- if (_ascent < 0) {
- return super.getAscent();
- }
- return _ascent;
- }
-
- /*package*/ void setAscent(int ascent) {
- _ascent = ascent;
- }
-
- /**
- * @return true if supports ascent
- */
- public boolean supportAscent() {
- return _ascent > 0;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRGroupLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRGroupLayout.java
deleted file mode 100644
index 0a3cd405d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRGroupLayout.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CSSTRGroupLayout extends CSSBlockFlowLayout {
-
- /**
- * @param cssfigure
- */
- public CSSTRGroupLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /**
- * @return the parent figure of TRGroup should be table figure. If so, return the
- * corresponding table layout.
- */
- public CSSTableLayout2 getTableLayoutContext() {
- IFigure parent = getCSSFigure().getParent();
- if (parent != null) {
- LayoutManager parentLayout = parent.getLayoutManager();
- if (parentLayout instanceof CSSTableLayout2) {
- return (CSSTableLayout2) parentLayout;
- }
- }
-
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#postValidate()
- */
- public void postValidate() {
- CSSTableLayout2 tableLayout = getTableLayoutContext();
- if (tableLayout == null) {
- super.postValidate();
- } else {
- Rectangle r = getTRGroupRect(tableLayout);
- if (r != null) {
- _blockBox.setXYWidthHeight(r);
- getCSSFigure().setBounds(r);
- List list = getCSSFigure().getChildren();
- for (int i = 0; i < list.size(); i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- } else {
- super.postValidate();
- }
- }
- }
-
- /**
- * @return
- */
- private Rectangle getTRGroupRect(CSSTableLayout2 tableLayout) {
- TableRowGroupInfo groupinfo = tableLayout.getGroupInfo(this
- .getCSSFigure());
- int rowIndex = groupinfo.getRowIndex();
- int rowCount = groupinfo.getRowCount();
- int y = (rowIndex + 1) * tableLayout.getVSpacing();
- for (int k = 0; k < rowIndex; k++) {
- y += tableLayout.getRowHeights()[k];
- }
- if (tableLayout.getCaptionInfo() != null
- && "top".equalsIgnoreCase(tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$
- {
- y += tableLayout.getCaptionSize().height;
- }
-
- int height = (rowCount - 1) * tableLayout.getVSpacing();
- for (int k = 0; k < rowCount; k++) {
- height += tableLayout.getRowHeights()[rowIndex + k];
- }
- //ICSSFigure figure = groupinfo.getFigure();
- return new Rectangle(tableLayout.getRowX(), y, tableLayout
- .getRowWidth(), height);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#useLocalCoordinates()
- */
- public boolean useLocalCoordinates() {
- // if is in table, we don't use local coordinates.
- return getTableLayoutContext() == null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#endBlock()
- */
- protected void endBlock() {
- if (getTableLayoutContext() == null) {
- super.endBlock();
- } else {
- layoutLines();
- }
- }
-
- // /* (non-Javadoc)
- // * @see
- // org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#layout()
- // */
- // protected void layout()
- // {
- // CSSTableLayout2 tableLayout = getTableLayoutContext();
- // if (tableLayout == null)
- // {
- // // we are not in table? treat as block.
- // super.layout();
- // }
- // else
- // {
- // // ok, we are in table. we need to layout our children.
- // TableRowGroupInfo groupInfo =
- // tableLayout.getGroupInfo(this.getCSSFigure());
- // int[] rowHeights = tableLayout.getRowHeights();
- // int vspacing = tableLayout.getVSpacing();
- // int rowwidth = getCSSFigure().getBounds().width;// XXX: get from table
- // layout?
- // int grouprowindex = groupInfo.getRowIndex();
- // List rows = groupInfo.getRowList();
- // for (int i=0, size=rows.size(); i<size; i++)
- // {
- // TableRowInfo rowinfo = (TableRowInfo) rows.get(i);
- // ICSSFigure figure = rowinfo.getFigure();
- //
- // int y = 0;
- // int rowindex = rowinfo.getRowIndex();
- // for (int row=grouprowindex; row<rowindex; row++)
- // {
- // y += rowHeights[row];
- // y += vspacing;
- // }
- // int height = rowHeights[rowindex];
- // Rectangle rect = new Rectangle(0, y, rowwidth, height);
- // figure.setBounds(rect);
- // }
- // }
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#handlingBorderForBlock()
- */
- public boolean handlingBorderForBlock() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRLayout.java
deleted file mode 100644
index 12590c12c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTRLayout.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CSSTRLayout extends CSSBlockFlowLayout {
- /**
- * @param cssfigure
- */
- public CSSTRLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /**
- * @return the parent figure of TRGroup should be table figure. If so, return the
- * corresponding table layout.
- */
- public CSSTableLayout2 getTableLayoutContext() {
- IFigure parent = getCSSFigure().getParent();
- if (parent != null) {
- LayoutManager parentLayout = parent.getLayoutManager();
- if (parentLayout instanceof CSSTableLayout2) {
- return (CSSTableLayout2) parentLayout;
- } else if (parentLayout instanceof CSSTRGroupLayout) {
- return ((CSSTRGroupLayout) parentLayout)
- .getTableLayoutContext();
- }
- }
-
- return null;
- }
-
- /**
- * @return the group layout or null
- */
- public CSSTRGroupLayout getTRGroupLayout() {
- IFigure parent = getCSSFigure().getParent();
- if (parent != null) {
- LayoutManager parentLayout = parent.getLayoutManager();
- if (parentLayout instanceof CSSTRGroupLayout) {
- return ((CSSTRGroupLayout) parentLayout);
- }
- }
-
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#postValidate()
- */
- public void postValidate() {
- CSSTableLayout2 tableLayout = getTableLayoutContext();
- if (tableLayout == null) {
- // we are not in table? treat as block.
- super.postValidate();
- } else {
- Rectangle r = getTRRect(tableLayout, getTRGroupLayout());
- if (r != null) {
- _blockBox.setXYWidthHeight(r);
- getCSSFigure().setBounds(r);
- List list = getCSSFigure().getChildren();
- for (int i = 0; i < list.size(); i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- } else {
- super.postValidate();
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#endBlock()
- */
- protected void endBlock() {
- if (this.getTableLayoutContext() == null) {
- super.endBlock();
- } else {
- layoutLines();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#useLocalCoordinates()
- */
- public boolean useLocalCoordinates() {
- return this.getTableLayoutContext() == null;
- }
-
- private Rectangle getTRRect(CSSTableLayout2 tableLayout,
- CSSTRGroupLayout groupLayout) {
- TableRowInfo rowinfo = tableLayout.getRowInfo(this.getCSSFigure());
- int rowIndex = rowinfo.getRowIndex();
- int y = (rowIndex + 1) * tableLayout.getVSpacing();
- for (int k = 0; k < rowIndex; k++) {
- y += tableLayout.getRowHeights()[k];
- }
- if (tableLayout.getCaptionInfo() != null
- && "top".equalsIgnoreCase(tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$
- {
- y += tableLayout.getCaptionSize().height;
- }
-
- int height = tableLayout.getRowHeights()[rowIndex];
- //ICSSFigure figure = rowinfo.getFigure();
- return new Rectangle(tableLayout.getRowX(), y, tableLayout
- .getRowWidth(), height);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#handlingBorderForBlock()
- */
- public boolean handlingBorderForBlock() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCaptionLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCaptionLayout.java
deleted file mode 100644
index 3d42a5071..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCaptionLayout.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CSSTableCaptionLayout extends CachedTableCellLayout {
- private CSSTableLayout2 _tableLayout;
-
- private TableCaptionInfo _caption;
-
- /**
- * @param cssfigure
- */
- public CSSTableCaptionLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#invalidate()
- */
- public void invalidate() {
- super.invalidate();
-
- _tableLayout = null;
- _caption = null;
- }
-
- public Rectangle getCellRect() {
- int x = 0;
-
- int[] rowHeights = _tableLayout.getRowHeights();
- int vspacing = _tableLayout.getVSpacing();
- int y = vspacing;
- if (_caption != null && "bottom".equalsIgnoreCase(_caption.getAlign())) //$NON-NLS-1$
- {
- for (int row = 0; row < rowHeights.length; row++) {
- y += rowHeights[row];
- y += vspacing;
- }
- }
-
- int height = 0;
- height = _tableLayout.getCaptionSize().height;
- int width = _tableLayout.getCaptionSize().width;
- Rectangle rect = new Rectangle(x, y, width, height);
- return rect;
- }
-
- /**
- * the parent figure of TRGroup should be table figure. If so, return the
- * corresponding table layout.
- *
- * @return the css table layout context or null if none.
- */
- public CSSTableLayout2 getTableLayoutContext() {
- IFigure parent = getCSSFigure().getParent();
- if (parent != null) {
- LayoutManager parentLayout = parent.getLayoutManager();
- if (parentLayout instanceof CSSTableLayout2) {
- return (CSSTableLayout2) parentLayout;
- }
- }
- return null;
- }
-
- /**
- * @return true if the table has a caption
- */
- public boolean initializeTableInfo() {
- _caption = null;
- _tableLayout = getTableLayoutContext();
- if (_tableLayout != null) {
- _caption = _tableLayout.getCaptionInfo();
- return _caption != null;
- }
- return false;
- }
-
- /**
- * @return the table layout
- */
- public CSSTableLayout2 getTableLayout() {
- return _tableLayout;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSLayout#isCalculatingMaxWidth()
- */
- public boolean isCalculatingMaxWidth() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java
deleted file mode 100644
index 1eb62e80d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-import org.eclipse.jst.pagedesigner.css2.layout.LineBox;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.VerticalAlignMeta;
-
-/**
- * This layout is for those thigns that it's parent will decide its size. Such
- * as table cell.
- *
- * @author mengbo
- * @version 1.5
- */
-public class CSSTableCellLayout extends CachedTableCellLayout {
- private CSSTableLayout2 _tableLayout;
-
- private TableRowInfo _rowinfo;
-
- private TableCellInfo _cellinfo;
-
- /**
- * @param cssfigure
- */
- public CSSTableCellLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#invalidate()
- */
- public void invalidate() {
- super.invalidate();
-
- _tableLayout = null;
- _rowinfo = null;
- _cellinfo = null;
- }
-
- protected void endBlock() {
- if (isTable()) {
- verticalLayoutLines();
- layoutLines();
- } else {
- super.endBlock();
- }
- }
-
- /**
- * process the vertical layout lines
- */
- protected void verticalLayoutLines() {
- List lines = _blockBox.getFragments();
-
- String verticalStyle = getVerticalAlign();
- int linesHeight = 0;
-
- if (lines != null && !lines.isEmpty()) {
- FlowBox bottomBox = ((FlowBox) lines.get(lines.size() - 1));
- FlowBox topBox = ((FlowBox) lines.get(0));
- linesHeight = bottomBox.getY() + bottomBox.getHeight() - topBox.getY();
- }
- int movement = 0;
- if (VerticalAlignMeta.BOTTOM.equals(verticalStyle)) {
- movement = _blockBox.getHeight() - linesHeight
- - _blockBox.getBorderPaddingHeight() / 2;
- } else if (VerticalAlignMeta.TOP.equals(verticalStyle)) {
- movement = 0;
- }
- // else if (VerticalAlignMeta.BASELINE.equals(verticalStyle))
- // {
- // movement = _blockBox.getHeight() - linesHeight;
- // }
- else // if (VerticalAlignMeta.MIDDLE.equals(verticalStyle))
- {
- movement = (_blockBox.getHeight() - linesHeight - _blockBox
- .getBorderPaddingHeight()) / 2;
- }
- // VerticalAlignMeta.TOP, ICSSPropertyID.VAL_AUTO and others
- // else
- // {
- // movement = 0;
- // }
- if (lines != null) {
- for (int i = 0, n = lines.size(); i < n; i++) {
- if (lines.get(i) instanceof LineBox) {
- LineBox lineBox = (LineBox) lines.get(i);
- int LineMovement = Math.max(lineBox.getMarginInsets()
- .getHeight(), movement);
- lineBox.setY(lineBox.getY() + LineMovement
- - lineBox.getMarginInsets().getHeight());
- }
- }
- }
- }
-
- private String getVerticalAlign() {
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- return style.getStyleProperty(ICSSPropertyID.ATTR_VERTICAL_ALIGN)
- .toString();
- }
- return VerticalAlignMeta.MIDDLE;
- }
-
- public Rectangle getCellRect() {
- int columnIndex = _cellinfo.getColumnIndex();
- int rowIndex = _cellinfo.getRowIndex();
- int[] columnWidths = _tableLayout.getColumnWidths();
- int hspacing = _tableLayout.getHSpacing();
- int x = hspacing;
- for (int col = 0; col < columnIndex; col++) {
- x += columnWidths[col];
- x += hspacing;
- }
-
- int[] rowHeights = _tableLayout.getRowHeights();
- int vspacing = _tableLayout.getVSpacing();
- int y = vspacing;
- for (int row = 0; row < rowIndex; row++) {
- y += rowHeights[row];
- y += vspacing;
- }
- if (_tableLayout.getCaptionInfo() != null
- && "top".equalsIgnoreCase(_tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$
- {
- y += _tableLayout.getCaptionSize().height;
- }
-
- int width = _tableLayout.getCellWidth(_cellinfo, columnWidths);
- int height = _tableLayout.getCellHeight(_cellinfo, rowHeights);
-
- Rectangle rect = new Rectangle(x, y, width, height);
- return rect;
- }
-
- /**
- * the parent figure of TRGroup should be table figure. If so, return the
- * corresponding table layout.
- *
- * @return the table layout context
- */
- public CSSTableLayout2 getTableLayoutContext() {
- IFigure parent = getCSSFigure().getParent();
- if (parent != null) {
- LayoutManager parentLayout = parent.getLayoutManager();
- if (parentLayout instanceof CSSTRLayout) {
- return ((CSSTRLayout) parentLayout).getTableLayoutContext();
- }
- }
-
- return null;
- }
-
- /**
- * @return true if the table layout has cell info
- */
- public boolean initializeTableInfo() {
- _rowinfo = null;
- _cellinfo = null;
- _tableLayout = getTableLayoutContext();
- if (_tableLayout != null) {
- _rowinfo = _tableLayout.getRowInfo((CSSFigure) this.getCSSFigure()
- .getParent());
- if (_rowinfo != null) {
- _cellinfo = _rowinfo.getCellInfo(this.getCSSFigure());
- if (_cellinfo != null) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * @return the table layout or nul if none
- */
- public CSSTableLayout2 getTableLayout() {
- return _tableLayout;
- }
-
- /**
- * @return the table cell info or null
- */
- public TableCellInfo getTableCellInfo() {
- return _cellinfo;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableLayout2.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableLayout2.java
deleted file mode 100644
index 77a387754..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableLayout2.java
+++ /dev/null
@@ -1,707 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-import org.eclipse.swt.SWT;
-
-/**
- * see also http://www.w3.org/TR/REC-CSS2/tables.html
- *
- * @author mengbo
- * @version 1.5
- */
-public class CSSTableLayout2 extends CSSBlockFlowLayout implements ICSSPainter {
- static Logger _log = PDPlugin.getLogger(CSSTableLayout2.class);
-
- int _hspacing;
-
- int _vspacing;
-
- int[] _columnWidths;
-
- int[] _rowHeights;
-
- Dimension _captionSize;
-
- // _tableInfo will be initialized in preLayout
- TableInfo _tableInfo;
-
- private int _internalTableWidth;
-
- private int _internalTableHeight;
-
- private int _rowx;
-
- private int _rowwidth;
-
- /**
- * @param flowfigure
- */
- public CSSTableLayout2(CSSFigure flowfigure) {
- super(flowfigure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#preLayout()
- */
- protected void preLayout() {
- // super.preLayout will setup the block box.
- super.preLayout();
-
- ICSSStyle style = this.getCSSStyle();
-
- _hspacing = _vspacing = 3; // default value
-
- if (style != null) {
- Object borderspacing = style
- .getStyleProperty(ICSSPropertyID.ATTR_BORDER_SPACING);
- if (borderspacing instanceof int[]) {
- int[] intvalues = (int[]) borderspacing;
- _hspacing = intvalues[0];
- _vspacing = intvalues[1];
- } else {
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null && info.needTableDecorator()) {
- // default decorating value. to make things look more
- // separated.
- if (_hspacing < 5) {
- _hspacing = 5;
- }
- if (_vspacing < 5) {
- _vspacing = 5;
- }
- }
- }
- }
-
- // TODO: support caption
- _tableInfo = new TableInfo(getCSSFigure());
-
- // construct the table structure.
- _tableInfo.constructTable();
-
- // calculate the user specified width/height for table and cells.
- // contentWidth is the user specified content width. If <= 0 means no
- // user
- // specification.
- int contentWidth = this._blockBox.getContentWidth();
- int availableWidth = this._blockBox.getRecommendedContentWidth();
- int contentHeight = this._blockBox.getContentHeight();
-
- _tableInfo.calculateWidth(contentWidth, availableWidth);
- _tableInfo.calculateHeight(contentHeight);
-
- int columnCount = _tableInfo.getColumnCount();
-
- int columnMinWidths[] = new int[columnCount];
- int columnMaxWidths[] = new int[columnCount];
-
- // For each column, determine a maximum and minimum column width from
- // the cells that span only that column. The minimum is that required by
- // the cell with the largest minimum cell width (or the column 'width',
- // whichever is larger). The maximum is that required by the cell with
- // the
- // largest maximum cell width (or the column 'width', whichever is
- // larger).
- List cells = _tableInfo.getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- if (cellinfo.getColSpan() == 1) {
- int column = cellinfo.getColumnIndex();
- Dimension mincw = cellinfo.getMinCWDimension();
- Dimension maxcw = cellinfo.getMaxCWDimension();
- if (maxcw.width < mincw.width) {
- maxcw.width = mincw.width;
- }
- if (mincw.width > columnMinWidths[column]) {
- columnMinWidths[column] = mincw.width;
- }
- if (maxcw.width > columnMaxWidths[column]) {
- columnMaxWidths[column] = maxcw.width;
- }
- }
- }
- // For caption, determine a maximum and minimum width from it.
- int captionWidth = 0;
- if (_tableInfo.getCaption() != null) {
- captionWidth = _tableInfo.getCaption().getDimension().width;
- }
-
- // For each cell that spans more than one column, increase the
- // minimum widths of the columns it spans so that together, they
- // are at least as wide as the cell. Do the same for the maximum
- // widths. If possible, widen all spanned columns by approximately
- // the same amount.
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- int colspan = cellinfo.getColSpan();
- if (colspan > 1) {
- int column = cellinfo.getColumnIndex();
- Dimension mincw = cellinfo.getMinCWDimension();
- Dimension maxcw = cellinfo.getMaxCWDimension();
-
- adjustWidth(column, colspan, mincw.width, columnMinWidths);
- adjustWidth(column, colspan, maxcw.width, columnMaxWidths);
- }
- }
-
- int sigmaMinWidth = 0;
- int sigmaMaxWidth = 0;
- for (int i = 0; i < columnMinWidths.length; i++) {
- sigmaMinWidth += columnMinWidths[i];
- if (columnMaxWidths[i] == Integer.MAX_VALUE) {
- sigmaMaxWidth = Integer.MAX_VALUE;
- } else if (sigmaMaxWidth != Integer.MAX_VALUE) {
- sigmaMaxWidth += columnMaxWidths[i];
- if (sigmaMaxWidth < 0) {
- sigmaMaxWidth = Integer.MAX_VALUE;
- }
- }
- }
- int spacingall = (columnMinWidths.length + 1) * _hspacing;
- sigmaMinWidth += spacingall;
- if (sigmaMaxWidth != Integer.MAX_VALUE) {
- sigmaMaxWidth += spacingall;
- if (sigmaMaxWidth < 0) {
- sigmaMaxWidth = Integer.MAX_VALUE;
- }
- }
-
- int tableWidth = _tableInfo.getTableWidth();
- if (tableWidth > 0) {
- // If the 'table' or 'inline-table' element's 'width' property has a
- // specified value (W) other than 'auto', the property's computed
- // value
- // is the greater of W and the minimum width required by all the
- // columns
- // plus cell spacing or borders (MIN). If W is greater than MIN, the
- // extra
- // width should be distributed over the columns.
- int maxMin = Math.max(captionWidth, sigmaMinWidth);
- if (maxMin >= tableWidth) {
- tableWidth = maxMin;
- }
- distribute(tableWidth - sigmaMinWidth, columnMinWidths,
- columnMaxWidths);
- } else {
- // If the 'table' or 'inline-table' element has 'width: auto', the
- // computed
- // table width is the greater of the table's containing block width
- // and MIN.
- // However, if the maximum width required by the columns plus cell
- // spacing or
- // borders (MAX) is less than that of the containing block, use MAX.
- // int availableWidth = this.getCurrentLine().getAvailableWidth();
- int maxMin = Math.max(captionWidth, sigmaMaxWidth);
- if (maxMin <= availableWidth) {
- // TODO: if _tableInfo.hasWidthPercentage, then we need take
- // that into consideration
- // to distribute the column width. Left to next version.
- tableWidth = maxMin;
- // columnMinWidths = columnMaxWidths;
- } else {
- tableWidth = availableWidth;
- }
- distribute(tableWidth - sigmaMinWidth, columnMinWidths,
- columnMaxWidths);
- }
-
- // now columnMinWidths contains width for each column
- _columnWidths = columnMinWidths;
-
- // ok, we have finished calculating column width.
- // next we need to find out row heights.
- _rowHeights = new int[_tableInfo.getRowCount()];
-
- // first find out those TR that has height settings and use them.
- List rows = _tableInfo.getRows();
- for (int i = 0, size = rows.size(); i < size && i < _rowHeights.length; i++) {
- TableRowInfo rowInfo = (TableRowInfo) rows.get(i);
- if (rowInfo.getSpecifiedRowHeight() > 0) {
- _rowHeights[i] = rowInfo.getSpecifiedRowHeight();
- }
- }
-
- // First the cells don't span multiple rows.
- cells = _tableInfo.getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- IFigure figure = cellinfo.getFigure();
- int rowspan = cellinfo.getRowSpan();
- if (rowspan == 1) {
- int cellWidth = getCellWidth(cellinfo, _columnWidths);
- Dimension d = figure.getPreferredSize(cellWidth, cellinfo
- .getHeight());
- if (d.height > _rowHeights[cellinfo.getRowIndex()]) {
- _rowHeights[cellinfo.getRowIndex()] = d.height;
- }
- }
- }
-
- // Next those cells span multiple rows.
- cells = _tableInfo.getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- IFigure figure = cellinfo.getFigure();
- int rowspan = cellinfo.getRowSpan();
- if (rowspan > 1) {
- int cellWidth = getCellWidth(cellinfo, _columnWidths);
- Dimension d = figure.getPreferredSize(cellWidth, cellinfo
- .getHeight());
- if (d.height > getCellHeight(cellinfo, _rowHeights)) {
- adjustHeight(cellinfo.getRowIndex(), rowspan, d.height,
- _rowHeights);
- }
- }
- }
-
- // Next we may need distribute height.
- int sigmaHeight = (_tableInfo.getRowCount() + 1) * _vspacing;
- for (int i = 0; i < _rowHeights.length; i++) {
- sigmaHeight += _rowHeights[i];
- }
- if (sigmaHeight < contentHeight) {
- distributeHeights(contentHeight - sigmaHeight, _rowHeights);
- }
-
- // now we have calculated the width and height of all cells.
- // FIXME: border?
- Insets insets = (style == null ? new Insets() : style.getBorderInsets()
- .getAdded(style.getPaddingInsets()));
- _internalTableWidth = (_tableInfo.getColumnCount() + 1) * _hspacing;
- for (int i = 0; i < _columnWidths.length; i++) {
- _internalTableWidth += _columnWidths[i];
- }
- int minWidth = getLengthValue(style, ICSSPropertyID.ATTR_MIN_WIDTH);
- _internalTableWidth = _internalTableWidth > minWidth ? _internalTableWidth
- : minWidth;
-
- _blockBox.setWidth(_internalTableWidth + insets.getWidth());
- _internalTableHeight = (_tableInfo.getRowCount() + 1) * _vspacing;
- for (int i = 0; i < _rowHeights.length; i++) {
- _internalTableHeight += _rowHeights[i];
- }
- int minHeight = getLengthValue(style, ICSSPropertyID.ATTR_MIN_HEIGHT);
- _internalTableHeight = _internalTableHeight > minHeight ? _internalTableHeight
- : minHeight;
-
- int captionHeight = 0;
- if (_tableInfo.getCaption() != null) {
- _captionSize = _tableInfo.getCaption().getFigure().getPreferredSize(
- _internalTableWidth, SWT.DEFAULT);
- captionHeight = _captionSize.height;
- } else {
- _captionSize = null;
- }
- _internalTableHeight += captionHeight;
-
- _blockBox.setHeight(_internalTableHeight + insets.getHeight());
-
- _rowwidth = _internalTableWidth - 2 * _hspacing;
- _rowx = _hspacing; // XXX: table border width left?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#endBlock()
- */
- protected void endBlock() {
- _blockBox.setWidth(_internalTableWidth
- + _blockBox.getBorderPaddingWidth());
- _blockBox.setHeight(_internalTableHeight
- + _blockBox.getBorderPaddingHeight());
- super.endBlock();
- }
-
- //
- // /**
- // * when some of the column has percentage width, and sigmaMax smaller than
- // container,
- // * @param containerWidth
- // * @param columnMinWidths
- // * @param columnMaxWidths
- // * @return
- // */
- // private int distribute2(int containerWidth, int[] columnMinWidths, int[]
- // columnMaxWidths)
- // {
- //
- // }
- //
- /**
- * Distribute the additional width to columnMinWidths, using max width as a
- * possible reference on how to distribute.
- *
- * @param toDistribute
- * @param columnMinWidths
- * @param columnMaxWidths
- */
- private void distribute(int toDistribute, int[] columnMinWidths,
- int[] columnMaxWidths) {
- if (toDistribute <= 0)
- return;
- if (columnMinWidths.length == 0)
- return;
-
- int[] delta = new int[columnMinWidths.length];
- int sigmaDelta = 0;
- for (int i = 0; i < columnMinWidths.length; i++) {
- if (_tableInfo.getWidthSpecified()[i]) {
- delta[i] = 0;
- } else {
- delta[i] = columnMaxWidths[i] - columnMinWidths[i];
- if (delta[i] <= 0) {
- delta[i] = 0;
- }
- sigmaDelta += delta[i];
- }
- }
-
- // re-calculate the width of columns that use a percentage
- int[] widthPercentages = _tableInfo.getWidthPercentages();
- int[] calculatedWidths = new int[columnMaxWidths.length];
- int percentageWidthsTotal = 0;
- for (int i=0; i < widthPercentages.length; i++) {
- if (widthPercentages[i] > 0) {
- // add the widths of the percent width columns
- // back into the available pool
- toDistribute += columnMinWidths[i];
- }
- }
-
- for (int i=0; i < widthPercentages.length; i++) {
- if (widthPercentages[i] > 0) {
- double val = toDistribute * (widthPercentages[i] / 100.0);
- calculatedWidths[i] = (int) val;
- if (calculatedWidths[i] < columnMinWidths[i]) {
- // percent width is too small, so use
- // the columnMinWidth instead
- calculatedWidths[i] = columnMinWidths[i];
- }
- percentageWidthsTotal += calculatedWidths[i];
- } else {
- calculatedWidths[i] = 0;
- }
- }
-
- if (percentageWidthsTotal > toDistribute) {
- // calculated width is too large, so shrink the columns
- // to fit the available space
- int widthColumnCount = 0;
- for (int i=0; i < widthPercentages.length; i++) {
- if (widthPercentages[i] > 0) {
- widthColumnCount++;
- }
- }
-
- int extraSpace = percentageWidthsTotal - toDistribute;
- int shrinkBy = (int)
- Math.ceil((double) extraSpace / (double) widthColumnCount);
-
- for (int i=0; i < calculatedWidths.length; i++) {
- if (calculatedWidths[i] > 0) {
- calculatedWidths[i] -= shrinkBy;
- }
- }
- }
-
- // adjust the columnMinWidth values to compensate for the
- // calculated percentages
- for (int i=0; i < calculatedWidths.length; i++) {
- // if column size was calculated, then re-calculate the delta
- if (calculatedWidths[i] > 0) {
- // remove the previous calculation from the sigmaDelta
- int len = columnMaxWidths[i] - columnMinWidths[i];
- delta[i] = 0;
- if (len <= 0) {
- len = 0;
- }
- sigmaDelta -= len;
-
- // change the minSize to the calculated size
- columnMinWidths[i] = calculatedWidths[i];
- toDistribute -= columnMinWidths[i];
- }
- }
-
- if (sigmaDelta == 0) {
- // may happen with percent width column calculations.
- // find out how much space is left and distribute it
- // equally to all columns that are not fixed-width.
- int extraSpace = toDistribute;
- for (int i=0; i < columnMinWidths.length; i++) {
- extraSpace -= columnMinWidths[i];
- }
-
- averageDeltaToCell(columnMinWidths, extraSpace);
- } else {
- int left = toDistribute;
- for (int i = 0; i < columnMinWidths.length - 1; i++) {
- if (delta[i] > 0) {
- int add = delta[i] * toDistribute / sigmaDelta;
- left -= add;
- columnMinWidths[i] += add;
- }
- }
- columnMinWidths[columnMinWidths.length - 1] += left;
- }
- }
-
- private void averageDeltaToCell(int[] columnMinWidths, int toDistribute) {
-
- if (toDistribute <= 0) {
- return;
- }
- ArrayList list = new ArrayList();
- for (int i = 0; i < columnMinWidths.length; i++) {
- if (!_tableInfo.getWidthSpecified()[i]) {
- list.add(new Integer(i));
- }
- }
- if (list.size() == 0) {
- for (int i = 0; i < columnMinWidths.length; i++) {
- list.add(new Integer(i));
- }
- }
- int padding = toDistribute / list.size();
- int left = toDistribute % list.size();
- for (int i = 0, n = list.size(); i < n; i++) {
- columnMinWidths[((Integer) list.get(i)).intValue()] += padding;
- }
- if (left > 0) {
- for (int i = 0; i < left; i++) {
- columnMinWidths[((Integer) list.get(i)).intValue()] += 1;
- }
- }
- }
-
- /**
- * @param i
- * @param heights
- */
- private void distributeHeights(int toDistribute, int[] heights) {
- if (heights.length == 0)
- return;
- int eachDelta = toDistribute / heights.length;
- for (int i = 0; i < heights.length - 1; i++) {
- heights[i] += eachDelta;
- }
- heights[heights.length - 1] += toDistribute - (heights.length - 1)
- * eachDelta;
- }
-
- /**
- * @param cellinfo
- * @param heights
- * @return the cell height
- */
- public int getCellHeight(TableCellInfo cellinfo, int[] heights) {
- int rowIndex = cellinfo.getRowIndex();
- int rowspan = cellinfo.getRowSpan();
- int h = 0;
- for (int i = 0; i < rowspan; i++) {
- h += heights[rowIndex + i];
- }
- h += (rowspan - 1) * _vspacing;
- return h;
- }
-
- /**
- * @param cellinfo
- * @param widths
- * @return the cell width
- */
- public int getCellWidth(TableCellInfo cellinfo, int[] widths) {
- int columnIndex = cellinfo.getColumnIndex();
- int colspan = cellinfo.getColSpan();
- int w = 0;
- for (int i = 0; i < colspan; i++) {
- w += widths[columnIndex + i];
- }
- w += (colspan - 1) * _hspacing;
- return w;
- }
-
- /**
- * @param column
- * the start column
- * @param colspan
- * number of columns
- * @param width
- * desired width
- * @param columnWidths
- * current columns widths. After the adjust, need make sure the
- * columnWidths to be bigger than desired width
- */
- private void adjustWidth(int column, int colspan, int width,
- int[] columnWidths) {
- adjustSpan(column, colspan, width, columnWidths, _hspacing);
- }
-
- /**
- * @see #adjustWidth(int, int, int, int[])
- */
- private void adjustHeight(int rowIndex, int rowspan, int height,
- int[] heights) {
- adjustSpan(rowIndex, rowspan, height, heights, _vspacing);
- }
-
- static private void adjustSpan(int column, int colspan, int width,
- int[] columnWidths, int spacing) {
- int spanwidth = 0;
- for (int i = 0; i < colspan; i++) {
- spanwidth += columnWidths[column + i];
- }
- // XXX: vspacing here?
- spanwidth += (colspan - 1) * spacing;
-
- if (spanwidth >= width) {
- return;
- }
- int delta = width - spanwidth;
- int deltaeach = delta / colspan;
- for (int i = 0; i < colspan - 1; i++) {
- columnWidths[column + i] += deltaeach;
- }
- columnWidths[column + colspan - 1] += (delta - (colspan - 1)
- * deltaeach);
- }
-
- /**
- * @return the row heights
- */
- public int[] getRowHeights() {
- return _rowHeights;
- }
-
- /**
- * @return the column widths
- */
- public int[] getColumnWidths() {
- return _columnWidths;
- }
-
- /**
- * @return the vertical spacing value
- */
- public int getVSpacing() {
- return _vspacing;
- }
-
- /**
- * @return the horizontal spacing value
- */
- public int getHSpacing() {
- return _hspacing;
- }
-
- /**
- * @param figure
- * @return the table row info for the figure
- */
- public TableRowInfo getRowInfo(CSSFigure figure) {
- return _tableInfo.findRowInfo(figure);
- }
-
- /**
- * @return the table caption info
- */
- public TableCaptionInfo getCaptionInfo() {
- return _tableInfo.getCaption();
- }
-
- /**
- * @param figure
- * @return the table row group info for the figure
- */
- public TableRowGroupInfo getGroupInfo(CSSFigure figure) {
- return _tableInfo.findGroupInfo(figure);
- }
-
- /**
- * @return the row's x
- */
- public int getRowX() {
- return _rowx;
- }
-
- /**
- * @return the row's width
- */
- public int getRowWidth() {
- return _rowwidth;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#shouldExpand()
- */
- public boolean shouldExpand() {
- return false;
- }
-
- /**
- * @return the rendered dimensions of the table caption
- */
- public Dimension getCaptionSize() {
- return _captionSize;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter#paintFigure(org.eclipse.draw2d.Graphics)
- */
- public void paintFigure(Graphics g) {
- ICSSStyle style = this.getCSSStyle();
- if (style != null) {
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null && info.needTableDecorator()) {
- List cells = _tableInfo.getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellInfo = (TableCellInfo) cells.get(i);
- IFigure cellfigure = cellInfo.getFigure();
- Rectangle rect = cellfigure.getBounds().getCopy();
- rect = rect.expand(1, 1);
- g.setLineStyle(Graphics.LINE_SOLID);
- g.setLineWidth(1);
- g.setForegroundColor(ColorConstants.lightGray);
- g.drawRectangle(rect);
- }
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CachedTableCellLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CachedTableCellLayout.java
deleted file mode 100644
index 24e2be817..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CachedTableCellLayout.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.layout.BoxUtil;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class CachedTableCellLayout extends CSSBlockFlowLayout
-{
- private Dimension _pageSize = new Dimension();
-
- private boolean _calculatingSize = false;
-
- private int _pageSizeCacheKeys[] = new int[4];
-
- private Dimension _pageSizeCacheValues[] = new Dimension[4];
-
- private int _recommendedWidth;
-
- private Dimension _cacheMaxWidthSize = null;
-
- private boolean _isTable;
-
- /**
- * @param cssfigure
- */
- public CachedTableCellLayout(CSSFigure cssfigure) {
- super(cssfigure);
- }
-
- /**
- * when figure revalidated, means some child or itself get changed somehow,
- * so clear the cache information here.
- */
- public void figureRevalidate() {
- super.figureRevalidate();
- _pageSizeCacheKeys = new int[4];
- _pageSizeCacheValues = new Dimension[4];
- _pageSize = new Dimension();
- _recommendedWidth = 0;
- _cacheMaxWidthSize = null;
- _isTable = false;
- }
-
- /**
- * TODO: This method is not being called.
- */
- public void postValidate() {
- if (_isTable) {
- if (_calculatingSize) {
- _pageSize.width = _blockBox.getWidth();
- _pageSize.height = _blockBox.getHeight();
- } else {
- if (_isTable) {
- Rectangle rect = getCellRect();
- _blockBox.setXYWidthHeight(rect);
- this.getCSSFigure().setBounds(rect);
- }
- }
- List list = getCSSFigure().getChildren();
- for (int i = 0, n = list.size(); i < n; i++) {
- ((FlowFigure) list.get(i)).postValidate();
- }
- } else {
- super.postValidate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.layout.CSSBlockFlowLayout#preLayout()
- */
- protected void preLayout() {
- _isTable = initializeTableInfo();
- if (_isTable) {
- if (!_calculatingSize) {
- // XXX: I don't know why need to call setValid(false) here, if I
- // don't call
- // it, the layout will be wrong.
- getCSSFigure().setValid(false);
- }
- }
- super.preLayout();
- }
-
- /**
- * @return the cell rectangle
- */
- protected abstract Rectangle getCellRect();
-
- /**
- * @return true if initialized
- */
- protected abstract boolean initializeTableInfo();
-
- protected void setupBlock() {
- if (_isTable) {
- // Remove all current Fragments
- _blockBox.clear();
-
- if (_calculatingSize) {
- // we are not in the real layout
- // Setup the one fragment for this Block with the correct X and
- // available width
- int recommendedWidth = getRecommendedWidth();
- _blockBox.setRecommendedWidth(recommendedWidth);
-
- if (recommendedWidth > 0
- && recommendedWidth != Integer.MAX_VALUE) {
- _blockBox.setWidth(recommendedWidth);
- }
- } else {
- Rectangle rect = getCellRect();
- _blockBox.setWidth(rect.width);
- _blockBox.setRecommendedWidth(rect.width);
- _blockBox.setHeight(rect.height);
- _blockBox.setRecommendedHeight(rect.height);
- }
-
- BoxUtil.setupBorderPaddingMargin(_blockBox, getCSSStyle());
- } else {
- super.setupBlock();
- }
- }
-
- /**
- * @see org.eclipse.draw2d.Figure#getPreferredSize(int, int)
- */
- public Dimension getPreferredSize(IFigure container, int width, int h) {
- if (this.isCalculatingMaxWidth()) {
- return getMaxContentWidthSize(container, width, h);
- }
- try {
- _calculatingSize = true;
- // if (width >= 0)
- // {
- // width = Math.max(0, width - container.getInsets().getWidth());
- // }
-
- for (int i = 0; i < 4; i++) {
- if (_pageSizeCacheKeys[i] == width
- && _pageSizeCacheValues[i] != null) {
- if (h > _pageSizeCacheValues[i].height) {
- return new Dimension(_pageSizeCacheValues[i].width, h);
- }
- return _pageSizeCacheValues[i];
- }
- }
-
- _pageSizeCacheKeys[3] = _pageSizeCacheKeys[2];
- _pageSizeCacheKeys[2] = _pageSizeCacheKeys[1];
- _pageSizeCacheKeys[1] = _pageSizeCacheKeys[0];
- _pageSizeCacheKeys[0] = width;
-
- _pageSizeCacheValues[3] = _pageSizeCacheValues[2];
- _pageSizeCacheValues[2] = _pageSizeCacheValues[1];
- _pageSizeCacheValues[1] = _pageSizeCacheValues[0];
-
- // Flowpage must temporarily layout to determine its preferred size
- int oldWidth = getRecommendedWidth();
- setRecommendedWidth(width);
- ((CSSFigure) container).setValid(false);
- container.validate();
- ((CSSFigure) container).postValidate();
- _pageSizeCacheValues[0] = new Dimension(_pageSize);
-
- if (width != oldWidth) {
- setRecommendedWidth(oldWidth);
- // container.getUpdateManager().addInvalidFigure(container);
- }
- if (h > _pageSizeCacheValues[0].height) {
- return new Dimension(_pageSizeCacheValues[0].width, h);
- }
- return _pageSizeCacheValues[0];
- } finally {
- _calculatingSize = false;
- }
- }
-
- private int getRecommendedWidth() {
- return _recommendedWidth;
- }
-
- private void setRecommendedWidth(int width) {
- if (_recommendedWidth == width) {
- return;
- }
- _recommendedWidth = width;
- }
-
- /**
- * @param container
- * @param width
- * @param height
- * @return max width size
- */
- public Dimension getMaxContentWidthSize(IFigure container, int width,
- int height) {
- try {
- _calculatingSize = true;
-
- if (this._cacheMaxWidthSize == null) {
- boolean b = getCalcuatingMaxWidth();
- setCalculatingMaxWidth(true);
-
- // Flowpage must temporarily layout to determine its preferred
- // size
- int oldWidth = getRecommendedWidth();
- if (width <= 0) {
- setRecommendedWidth(Integer.MAX_VALUE);
- } else {
- setRecommendedWidth(width);
- }
- ((CSSFigure) container).setValid(false);
- container.validate();
-
- ((CSSFigure) container).postValidate();
- _cacheMaxWidthSize = new Dimension(_pageSize);
- if (height > _pageSize.height) {
- _cacheMaxWidthSize.height = height;
- }
-
- if (0 != oldWidth) {
- setRecommendedWidth(oldWidth);
- // container.getUpdateManager().addInvalidFigure(container);
- }
-
- setCalculatingMaxWidth(b);
- }
- return _cacheMaxWidthSize;
- } finally {
- _calculatingSize = false;
- }
- }
-
- /**
- * @return Returns the _isTable.
- */
- protected boolean isTable() {
- return _isTable;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCaptionInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCaptionInfo.java
deleted file mode 100644
index 010cbc539..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCaptionInfo.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.swt.SWT;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableCaptionInfo extends TableItemInfo {
- String _align;
-
- /**
- * @param figure
- */
- public TableCaptionInfo(ICSSFigure figure) {
- super(figure);
- ICSSStyle style = figure.getCSSStyle();
- if (style != null) {
- _align = style.getStyleProperty(
- ICSSPropertyID.ATTR_HORIZONTAL_ALIGN).toString();
- }
- }
-
- /**
- * @param width
- * @param height
- * @return the preferred dimension of the figure
- */
- public Dimension getDimension(int width, int height) {
- return getFigure().getPreferredSize(width, height);
- }
-
- /**
- * @return getDimension(width, height)
- */
- public Dimension getDimension() {
- return getDimension(SWT.DEFAULT, SWT.DEFAULT);
- }
-
- /**
- * @return Returns the align.
- */
- public String getAlign() {
- // TODO:We do not support left/right align of caption currently. so we
- // treat them as top.
- if ("bottom".equalsIgnoreCase(_align)) //$NON-NLS-1$
- {
- return _align;
- }
- return "top"; //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCellInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCellInfo.java
deleted file mode 100644
index 286462a35..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableCellInfo.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.utils.IntFlexArray;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableCellInfo extends TableItemInfo {
- int _rowSpan = 1;
-
- int _colSpan = 1;
-
- int _colIndex;
-
- int _rowIndex;
-
- int _cellWidth = 0;
-
- int _cellHeight = 0;
-
- /**
- * @param childfigure
- */
- public TableCellInfo(ICSSFigure childfigure) {
- super(childfigure);
- }
-
- /**
- * @return column span
- */
- public int getColSpan() {
- return _colSpan;
- }
-
- /**
- * @return row span
- */
- public int getRowSpan() {
- return _rowSpan;
- }
-
- /**
- * @return the row index
- */
- public int getRowIndex() {
- return _rowIndex;
- }
-
- /**
- * @return the column index
- */
- public int getColumnIndex() {
- return _colIndex;
- }
-
- /**
- * @return the minimum cell dimensions
- */
- public Dimension getMinCWDimension() {
- return getFigure().getPreferredSize(_cellWidth, _cellHeight);
- }
-
- /**
- * @return the max cell dimensions
- */
- public Dimension getMaxCWDimension() {
- ICSSFigure figure = getFigure();
- LayoutManager layout = figure.getLayoutManager();
- if (layout instanceof CSSTableCellLayout) {
- Dimension d = ((CSSTableCellLayout) layout).getMaxContentWidthSize(
- figure, _cellWidth, _cellHeight);
- return d;
- }
-
- // should not happen
- return getMinCWDimension();
- }
-
- /**
- * @param context
- */
- public void calculateCellInfo(TableInfoContext context) {
- ICSSStyle style = this.getStyle();
- _rowSpan = style.getRowSpan();
- _colSpan = style.getColSpan();
-
- // FIXME: we don't support rowspan and colspan to be 0.
- // by spec, 0 means span from current col/row to end.
- if (_rowSpan <= 0) {
- _rowSpan = 1;
- }
- if (_colSpan <= 0) {
- _colSpan = 1;
- }
-
- _rowIndex = context.getCurrentRow();
-
- IntFlexArray array = context.getIntFlexArray();
- int currentCol = context.getCurrentCol();
-
- // find a cell that is not occupied by cells in previous rows.
- while (array.getAt(currentCol) > 0) {
- currentCol++;
- }
-
- // ok, now array.getAt(currentCol) == 0
- _colIndex = currentCol;
-
- for (int i = 0; i < _colSpan; i++, currentCol++) {
- array.setAt(currentCol, _rowSpan);
- }
- context.setCurrentCol(currentCol);
- }
-
- /**
- * @param tableInfo
- * @param tablewidth
- * table width
- */
- public void calculateWidth(TableInfo tableInfo, int tablewidth) {
- ICSSStyle style = this.getFigure().getCSSStyle();
- if (style == null) {
- _cellWidth = -1;
- } else {
- Object width = style.getStyleProperty(ICSSPropertyID.ATTR_WIDTH);
- Length recommendedWidth = (width instanceof Length) ? (Length) width
- : null;
-
- int rw = 0;
- if (recommendedWidth == null || recommendedWidth.getValue() <= 0) {
- rw = 0;
- } else {
- if (recommendedWidth.isPercentage()) {
- // percentage width is used for remaining width
- // distribution, so not used here.
- int colspan = this.getColSpan();
- for (int i = 0; i < colspan; i++) {
- tableInfo.setWidthPercentage(this.getColumnIndex() + i,
- recommendedWidth.getValue() / colspan);
- }
- } else {
- rw = recommendedWidth.getValue();
- if (!style.isSizeIncludeBorderPadding()) {
- rw += style.getBorderInsets().getWidth()
- + style.getPaddingInsets().getWidth();
- }
- if (this.getColSpan() == 1) {
- tableInfo.getWidthSpecified()[this.getColumnIndex()] = true;
- }
- }
-
- }
- _cellWidth = rw;
- }
-
- }
-
- /**
- * @param tableInfo
- * @param tableheight
- */
- public void calculateHeight(TableInfo tableInfo, int tableheight) {
- ICSSStyle style = this.getFigure().getCSSStyle();
- if (style == null) {
- _cellHeight = -1;
- } else {
- Object height = style.getStyleProperty(ICSSPropertyID.ATTR_HEIGHT);
- Length recommendedHeight = (height instanceof Length) ? (Length) height
- : null;
-
- int rh = 0;
- if (recommendedHeight == null || recommendedHeight.getValue() <= 0) {
- rh = 0;
- } else {
- if (recommendedHeight.isPercentage()) {
- int rowspan = this.getRowSpan();
- for (int i = 0; i < rowspan; i++) {
- tableInfo.setHeightPercentage(this.getRowIndex() + i,
- recommendedHeight.getValue() / rowspan);
- }
- } else {
- rh = recommendedHeight.getValue();
- }
- if (!style.isSizeIncludeBorderPadding()) {
- rh += style.getBorderInsets().getHeight()
- + style.getPaddingInsets().getHeight();
- }
- }
- _cellHeight = rh;
- }
-
- }
-
- /**
- * @return the height
- */
- public int getHeight() {
- return _cellHeight;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfo.java
deleted file mode 100644
index 06e135c6e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfo.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableInfo extends TableItemInfo {
- private List _tableHeaderGroups = new ArrayList();
-
- private List _tableTRandTRGs = new ArrayList();
-
- private List _tableFooterGroups = new ArrayList();
-
- private TableCaptionInfo _caption;
-
- private int _columnCount;
-
- private int _rowCount;
-
- private List _cells = null;
-
- private List _rows = null;
-
- private int _tableWidth; // calculated table width, valid after calling to
-
- // calculateTableWidth
-
- private int _tableHeight;
-
- private int[] _widthPercentage;
-
- private int[] _heightPercentage;
-
- private boolean[] _widthSpecified;
-
- /**
- * @param figure
- */
- public TableInfo(ICSSFigure figure) {
- super(figure);
- }
-
-
- /**
- * @return the column count
- */
- public int getColumnCount() {
- return _columnCount;
- }
-
- /**
- * @return the row count
- */
- public int getRowCount() {
- return _rowCount;
- }
-
- final TableCaptionInfo getCaption() {
- return _caption;
- }
-
-
- /**
- * @return width specified
- */
- final boolean[] getWidthSpecified() {
- return _widthSpecified;
- }
-
-
- void constructTable() {
- List child = getFigure().getChildren();
- for (int i = 0, size = child.size(); i < size; i++) {
- IFigure childfigure = (IFigure) child.get(i);
- if (childfigure instanceof ICSSFigure) {
- ICSSStyle style = ((ICSSFigure) childfigure).getCSSStyle();
- if (style != null) {
- String display = style.getDisplay();
- if ("table-caption".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- _caption = new TableCaptionInfo(
- (ICSSFigure) childfigure);
- } else if ("table-row".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- TableRowInfo rowInfo = new TableRowInfo(
- (ICSSFigure) childfigure);
- _tableTRandTRGs.add(rowInfo);
- } else if ("table-row-group".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- TableRowGroupInfo groupInfo = new TableRowGroupInfo(
- (ICSSFigure) childfigure);
- _tableTRandTRGs.add(groupInfo);
- } else if ("table-header-group".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- TableRowGroupInfo groupInfo = new TableRowGroupInfo(
- (ICSSFigure) childfigure);
- _tableHeaderGroups.add(groupInfo);
- } else if ("table-footer-group".equalsIgnoreCase(display)) //$NON-NLS-1$
- {
- TableRowGroupInfo groupInfo = new TableRowGroupInfo(
- (ICSSFigure) childfigure);
- _tableFooterGroups.add(groupInfo);
- } else {
- // something unexpected inside table
- }
- } else {
- // something unexpected inside table
- }
- } else {
- // something unexpected inside table
- }
- }
-
- TableInfoContext context = new TableInfoContext();
- // now we have the rows ordered, need to calculate row details now.
- for (int i = 0, size = _tableHeaderGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableHeaderGroups
- .get(i);
- groupInfo.calculateRowGroup(context);
- }
- for (int i = 0, size = _tableTRandTRGs.size(); i < size; i++) {
- Object obj = _tableTRandTRGs.get(i);
- if (obj instanceof TableRowGroupInfo) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) obj;
- groupInfo.calculateRowGroup(context);
- } else {
- TableRowInfo rowInfo = (TableRowInfo) obj;
- rowInfo.calculateRow(context);
- }
- }
- for (int i = 0, size = _tableFooterGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableFooterGroups
- .get(i);
- groupInfo.calculateRowGroup(context);
- }
- context.finishTable();
-
- _columnCount = context.getColumnCount();
- _rowCount = context.getRowCount();
-
- this._widthPercentage = new int[_columnCount];
- this._heightPercentage = new int[_rowCount];
-
- this._widthSpecified = new boolean[_columnCount];
- for (int i = 0; i < _columnCount; i++) {
- this._widthSpecified[i] = false;
- }
- }
-
- /**
- * @param columnIndex
- * @param percentageValue
- */
- void setWidthPercentage(int columnIndex, int percentageValue) {
- if (percentageValue > this._widthPercentage[columnIndex]) {
- this._widthPercentage[columnIndex] = percentageValue;
- }
- }
-
- void setHeightPercentage(int rowIndex, int percentageValue) {
- if (percentageValue > this._heightPercentage[rowIndex]) {
- this._heightPercentage[rowIndex] = percentageValue;
- }
- }
-
- /**
- * width percentage will be used to calculate remaining width distribution.
- *
- * @return the width percentages
- */
- public int[] getWidthPercentages() {
- return this._widthPercentage;
- }
-
- int[] getHeightPercentages() {
- return this._heightPercentage;
- }
-
- List getRows() {
- if (_rows == null) {
- this._rows = new ArrayList();
-
- for (int i = 0, size = _tableHeaderGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableHeaderGroups
- .get(i);
- _rows.addAll(groupInfo.getRowList());
- }
- for (int i = 0, size = _tableTRandTRGs.size(); i < size; i++) {
- Object obj = _tableTRandTRGs.get(i);
- if (obj instanceof TableRowGroupInfo) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) obj;
- _rows.addAll(groupInfo.getRowList());
- } else {
- TableRowInfo rowInfo = (TableRowInfo) obj;
- _rows.add(rowInfo);
- }
- }
- for (int i = 0, size = _tableFooterGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableFooterGroups
- .get(i);
- _rows.addAll(groupInfo.getRowList());
- }
- }
- return _rows;
- }
-
- List getCells() {
- if (_cells == null) {
- _cells = new ArrayList();
-
- for (int i = 0, size = _tableHeaderGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableHeaderGroups
- .get(i);
- groupInfo.getCells(_cells);
- }
- for (int i = 0, size = _tableTRandTRGs.size(); i < size; i++) {
- Object obj = _tableTRandTRGs.get(i);
- if (obj instanceof TableRowGroupInfo) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) obj;
- groupInfo.getCells(_cells);
- } else {
- TableRowInfo rowInfo = (TableRowInfo) obj;
- rowInfo.getCells(_cells);
- }
- }
- for (int i = 0, size = _tableFooterGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableFooterGroups
- .get(i);
- groupInfo.getCells(_cells);
- }
- }
- return _cells;
- }
-
- /**
- * @param contentWidth
- * if the width specification is percentage, then will use
- * container width.
- * @param availableWidth
- */
- public void calculateWidth(int contentWidth, int availableWidth) {
- _tableWidth = contentWidth;
- //_availableWidth = availableWidth;
-
- // next calculate cell width
- List cells = getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- cellinfo.calculateWidth(this, _tableWidth);
- }
- }
-
- void calculateHeight(int contentHeight) {
- _tableHeight = contentHeight;
-
- List rows = getRows();
- for (int i = 0, size = rows.size(); i < size; i++) {
- TableRowInfo rowinfo = (TableRowInfo) rows.get(i);
- rowinfo.calculateHeight(this, _tableHeight);
- }
-
- // next calculate cell width
- List cells = getCells();
- for (int i = 0, size = cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) cells.get(i);
- cellinfo.calculateHeight(this, _tableHeight);
- }
- }
-
- /**
- * @return table width
- */
- public int getTableWidth() {
- return _tableWidth;
- }
-
- /**
- * @param figure
- * @return find the group info
- */
- public TableRowGroupInfo findGroupInfo(CSSFigure figure) {
- for (int i = 0, size = _tableHeaderGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableHeaderGroups
- .get(i);
- if (figure == groupInfo.getFigure()) {
- return groupInfo;
- }
- }
- for (int i = 0, size = _tableTRandTRGs.size(); i < size; i++) {
- Object obj = _tableTRandTRGs.get(i);
- if (obj instanceof TableRowGroupInfo) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) obj;
- if (figure == groupInfo.getFigure()) {
- return groupInfo;
- }
-
- }
- }
- for (int i = 0, size = _tableFooterGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableFooterGroups
- .get(i);
- if (figure == groupInfo.getFigure()) {
- return groupInfo;
- }
- }
- return null; // should not happen.
- }
-
- /**
- * @param figure
- * @return the row info
- */
- public TableRowInfo findRowInfo(CSSFigure figure) {
- for (int i = 0, size = _tableHeaderGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableHeaderGroups
- .get(i);
- TableRowInfo rowinfo = groupInfo.findRowInfo(figure);
- if (rowinfo != null) {
- return rowinfo;
- }
- }
- for (int i = 0, size = _tableTRandTRGs.size(); i < size; i++) {
- Object obj = _tableTRandTRGs.get(i);
- if (obj instanceof TableRowGroupInfo) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) obj;
- TableRowInfo rowinfo = groupInfo.findRowInfo(figure);
- if (rowinfo != null) {
- return rowinfo;
- }
- } else if (obj instanceof TableRowInfo) {
- TableRowInfo info = (TableRowInfo) obj;
- if (figure == info.getFigure()) {
- return info;
- }
- }
- }
- for (int i = 0, size = _tableFooterGroups.size(); i < size; i++) {
- TableRowGroupInfo groupInfo = (TableRowGroupInfo) _tableFooterGroups
- .get(i);
- TableRowInfo rowinfo = groupInfo.findRowInfo(figure);
- if (rowinfo != null) {
- return rowinfo;
- }
- }
- return null; // should not happen.
- }
-
- /**
- *
- * @return the width percentage
- */
- public boolean hasWidthPercentage() {
- for (int i = 0; i < this._widthPercentage.length; i++) {
- if (this._widthPercentage[i] > 0) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfoContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfoContext.java
deleted file mode 100644
index f28d3e051..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableInfoContext.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.IntFlexArray;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableInfoContext {
- static Logger _log = PDPlugin.getLogger(TableInfoContext.class);
-
- int _currentCol = 0;
-
- int _currentRow = 0;
-
- IntFlexArray _array = new IntFlexArray();
-
- int _colCount = 0;
-
- int _rowCount = 0;
-
- /**
- *
- */
- public TableInfoContext() {
- // do nothing
- }
-
- /**
- * @return the flex array
- */
- public IntFlexArray getIntFlexArray() {
- return _array;
- }
-
- /**
- * @return the current column
- */
- public int getCurrentCol() {
- return _currentCol;
- }
-
- /**
- * @param currentcol
- */
- public void setCurrentCol(int currentcol) {
- _currentCol = currentcol;
- }
-
- /**
- * @return the current row
- */
- public int getCurrentRow() {
- return _currentRow;
- }
-
- /**
- * @return the column count
- */
- public int getColumnCount() {
- return _colCount;
- }
-
- /**
- *
- */
- public void finishRow() {
- if (_currentCol > _colCount) {
- _colCount = _currentCol;
- }
- _currentCol = 0;
- _currentRow++;
- for (int i = 0; i < _colCount; i++) {
- if (_array.getAt(i) > 0) {
- _array.setAt(i, _array.getAt(i) - 1);
- }
- }
- }
-
- /**
- *
- */
- public void finishTable() {
- // do some checking here.
- int additionalRow = 0;
- for (int i = 0; i < _colCount; i++) {
- if (_array.getAt(i) > additionalRow) {
- additionalRow = _array.getAt(i);
- }
- }
- _rowCount = _currentRow + additionalRow;
- }
-
- /**
- *
- */
- public void finishRowGroup() {
- // TODO: does nothing; only called in one places
- }
-
- /**
- * @return the row count
- */
- public int getRowCount() {
- return _rowCount;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableItemInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableItemInfo.java
deleted file mode 100644
index 9f3906413..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableItemInfo.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableItemInfo
-{
- private ICSSFigure _figure;
-
- /**
- * @param figure
- */
- public TableItemInfo(ICSSFigure figure) {
- _figure = figure;
- }
-
- /**
- * @return the figure
- */
- public ICSSFigure getFigure() {
- return _figure;
- }
-
- /**
- * @return the style
- */
- public ICSSStyle getStyle() {
- return _figure.getCSSStyle();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowGroupInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowGroupInfo.java
deleted file mode 100644
index 98a9c1bdf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowGroupInfo.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableRowGroupInfo extends TableItemInfo {
- List _rowList = new ArrayList();
-
- private int _rowIndex;
-
- private int _rowCount;
-
- /**
- * @param figure
- */
- public TableRowGroupInfo(ICSSFigure figure) {
- super(figure);
- }
-
- List getRowList() {
- return _rowList;
- }
-
- int getRowIndex() {
- return _rowIndex;
- }
-
- int getRowCount() {
- return this._rowCount;
- }
-
- /**
- * @param context
- */
- public void calculateRowGroup(TableInfoContext context) {
- this._rowIndex = context.getCurrentRow();
- List children = getFigure().getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- IFigure childfigure = (IFigure) children.get(i);
- if (childfigure instanceof ICSSFigure) {
- ICSSStyle childstyle = ((ICSSFigure) childfigure).getCSSStyle();
- if (childstyle != null
- && "table-row" //$NON-NLS-1$
- .equalsIgnoreCase(childstyle.getDisplay())) {
- TableRowInfo rowInfo = new TableRowInfo(
- (ICSSFigure) childfigure);
- _rowList.add(rowInfo);
- rowInfo.calculateRow(context);
- } else {
- // skip
- }
- } else {
- // skip
- }
- }
- context.finishRowGroup();
- this._rowCount = context.getCurrentRow() - this._rowIndex;
- }
-
- /**
- * @param _cells
- */
- public void getCells(List _cells) {
- for (int i = 0, size = _rowList.size(); i < size; i++) {
- TableRowInfo rowInfo = (TableRowInfo) _rowList.get(i);
- rowInfo.getCells(_cells);
- }
- }
-
- /**
- * @param figure
- * @return the table row info
- */
- public TableRowInfo findRowInfo(CSSFigure figure) {
- for (int i = 0, size = _rowList.size(); i < size; i++) {
- TableRowInfo rowInfo = (TableRowInfo) _rowList.get(i);
- if (figure == rowInfo.getFigure()) {
- return rowInfo;
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowInfo.java
deleted file mode 100644
index 8083cf8f6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/TableRowInfo.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.layout.table;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TableRowInfo extends TableItemInfo {
- List _cells = new ArrayList();
-
- int _rowIndex;
-
- private int _rowHeight;
-
- /**
- * @param figure
- */
- public TableRowInfo(ICSSFigure figure) {
- super(figure);
- }
-
- List getCells() {
- return _cells;
- }
-
- int getRowIndex() {
- return _rowIndex;
- }
-
- int getSpecifiedRowHeight() {
- return _rowHeight;
- }
-
- /**
- * @param context
- */
- public void calculateRow(TableInfoContext context) {
- this._rowIndex = context.getCurrentRow();
-
- List children = getFigure().getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- IFigure childfigure = (IFigure) children.get(i);
- if (childfigure instanceof ICSSFigure) {
- ICSSStyle childstyle = ((ICSSFigure) childfigure).getCSSStyle();
- if (childstyle != null) {
- String display = childstyle.getDisplay();
- if ("table-cell".equalsIgnoreCase(display)) { //$NON-NLS-1$
- TableCellInfo cellInfo = new TableCellInfo(
- (ICSSFigure) childfigure);
- cellInfo.calculateCellInfo(context);
- _cells.add(cellInfo);
- } else {
- // skip
- }
- }
- } else {
- // skip
- }
- }
- // ok, we have finished a row
- context.finishRow();
- }
-
- /**
- * @param cells
- */
- public void getCells(List cells) {
- cells.addAll(this._cells);
- }
-
- /**
- * @param figure
- * @return the table cell info
- */
- public TableCellInfo getCellInfo(CSSFigure figure) {
- for (int i = 0, size = _cells.size(); i < size; i++) {
- TableCellInfo cellinfo = (TableCellInfo) _cells.get(i);
- if (cellinfo.getFigure() == figure) {
- return cellinfo;
- }
- }
- return null;
- }
-
- /**
- * @param info
- * @param tableHeight
- */
- public void calculateHeight(TableInfo info, int tableHeight) {
- ICSSStyle style = this.getFigure().getCSSStyle();
- if (style == null) {
- this._rowHeight = -1;
- } else {
- Object height = style.getStyleProperty(ICSSPropertyID.ATTR_HEIGHT);
- Length recommendedHeight = (height instanceof Length) ? (Length) height
- : null;
-
- int rh = 0;
- if (recommendedHeight == null || recommendedHeight.getValue() <= 0) {
- rh = 0;
- } else {
- if (recommendedHeight.isPercentage()) {
- // not supported.
- } else {
- rh = recommendedHeight.getValue();
- }
- if (rh > 0 && !style.isSizeIncludeBorderPadding()) {
- rh += style.getBorderInsets().getHeight()
- + style.getPaddingInsets().getHeight();
- }
- }
- this._rowHeight = rh;
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSHtmlListStyleData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSHtmlListStyleData.java
deleted file mode 100644
index e5594336f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSHtmlListStyleData.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author mengbo
- */
-public class CSSHtmlListStyleData {
- /**
- * Image
- */
- public final static int LIST_T_IMAGE = 0;
-
- /**
- * Disc
- */
- public final static int LIST_T_DISC = 1;
-
- /**
- * Circle
- */
- public final static int LIST_T_CIRCLE = 2;
-
- /**
- * Square
- */
- public final static int LIST_T_SQUARE = 3;
-
- /**
- * Decimal
- */
- public final static int LIST_T_DECIMAL = 0x11;
-
- /**
- * Decimial w/ leading zero
- */
- public final static int LIST_T_DECIMAL_LEADING_ZERO = 0x12;
-
- /**
- * Lower alpha
- */
- public final static int LIST_T_LOWER_ALPHA = 0x13;
-
- /**
- * Lower Roman
- */
- public final static int LIST_T_LOWER_ROMAN = 0x14;
-
- /**
- * Upper alpha
- */
- public final static int LIST_T_UPPER_ALPHA = 0x15;
-
- /**
- * Upper Roman
- */
- public final static int LIST_T_UPPER_ROMAN = 0x16;
-
- //private CSSMarkerStyleData _markerStyleData;
-
- private Image _markerImage;
-
- private int _type;
-
- /**
- * @return if is a default picture type
- */
- public boolean isDefaultPicture() {
- return (_type & 0xf) != 0;
- }
-
- private String getResolvedURL() {
- //String textValue = _markerStyleData.getTextContent();
- // TODO: when I found this, resolver was not being set and would either
- // have thrown NPE or returned "".. so I've "improved it :)
- //URIResolver resolver = null;// FIXME: this is not implemented yet.
- // DesignerPropertyTool.getModel().getResolver();
- //if (textValue != null && textValue.length() > 0) {
- // return resolver.getLocationByURI(textValue);
- //}
- return ""; //$NON-NLS-1$
- }
-
- /**
- * @return Returns the markerImage.
- */
- public Image getMarkerImage() {
- if (!this.isImage()) {
- return null;
- }
- if (_markerImage == null) {
- String uri = this.getResolvedURL();
- _markerImage = new Image(null, uri);
- }
- return _markerImage;
- }
-
- /**
- * @return Returns the type.
- */
- public int getType() {
- return _type;
- }
-
- /**
- * @param type
- */
- public void setType(String type) {
-
- this._type = toTypeInt(type);
- }
-
- /**
- * @param index
- * @return Returns the markerString.
- */
- public String getTextValue(int index) {
- if (!this.isText()) {
- return null;
- }
- // ICounter counter = CounterFactory.getInstance().getCounter(_type);
- return ""; //$NON-NLS-1$
-
- }
-
- /**
- * @return true if is a text type
- */
- public boolean isText() {
- return (_type & 0xf0) != 0;
- }
-
- /**
- * @return true if is an image type
- */
- public boolean isImage() {
- return (_type == LIST_T_IMAGE);
- }
-
- /**
- * @param type
- * @return convert the 'type' String to one of LIST_T_*
- */
- public static int toTypeInt(String type) {
- if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL)) {
- return LIST_T_DECIMAL;
- } else if (type
- .equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL_LEADING_ZERO)) {
- return LIST_T_DECIMAL_LEADING_ZERO;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DISC)) {
- return LIST_T_DISC;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_CIRCLE)) {
- return LIST_T_CIRCLE;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_SQUARE)) {
- return LIST_T_SQUARE;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_IMAGE)) {
- return LIST_T_IMAGE;
- }
-
- return 0;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSMarkerStyleData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSMarkerStyleData.java
deleted file mode 100644
index 0383b5259..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CSSMarkerStyleData.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-import java.util.Vector;
-
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-
-/**
- * @author mengbo
- */
-public class CSSMarkerStyleData {
- private Vector _content;
-
- private String _textContent;
-
- private int _Offset;
-
- private boolean _isOutside;
-
- /**
- * @return Returns the isBefore.
- */
- public boolean isOutside() {
- return _isOutside;
- }
-
- /**
- * @param position
- * The isBefore to set.
- */
- public void setPosition(String position) {
- if (position == ICSSPropertyID.VAL_INSIDE) {
- _isOutside = false;
- } else if (position == ICSSPropertyID.VAL_OUTSIDE) {
- _isOutside = true;
- }
- }
-
- /**
- * @return Returns the _Offset.
- */
- public int getOffset() {
- return _Offset;
- }
-
- /**
- * @param offset
- * The _Offset to set.
- */
- public void setOffset(int offset) {
- _Offset = offset;
- }
-
- /**
- * @return Returns the _textValue.
- */
- public String getTextContent() {
- return _textContent;
- }
-
- /**
- * @param value
- * The _textValue to set.
- */
- public void setTextContent(String value) {
- _textContent = value;
- }
-
- /**
- * @return the next element. removes it from the content vector. Returns
- * null if the content is empty
- */
- public Object getNextElement() {
- if (_content == null || _content.size() == 0) {
- return null;
- }
- return _content.remove(0);
- }
-
- /**
- * @param content
- */
- public void setContent(Vector content) {
- _content = content;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ContentObject.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ContentObject.java
deleted file mode 100644
index ad32149a8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ContentObject.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * A simple template objec, when we resole content in detail, we will create
- * more complicated object reference structure.
- *
- * @author mengbo
- */
-public class ContentObject {
- private ICounterValueGenerator _counter;
-
- /**
- * @return Returns the _counter.
- */
- public ICounterValueGenerator getCounter() {
- return _counter;
- }
-
- /**
- * @param counter
- * The _counter to set.
- */
- public void setCounter(ICounterValueGenerator counter) {
- this._counter = counter;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterHelper.java
deleted file mode 100644
index b6913d77e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterHelper.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-/**
- * @author mengbo
- */
-public final class CounterHelper {
- /**
- * Image
- */
- public final static int LIST_T_IMAGE = 0;
-
- /**
- * Disc
- */
- public final static int LIST_T_DISC = 1;
-
- /**
- * Circle
- */
- public final static int LIST_T_CIRCLE = 2;
-
- /**
- * Square
- */
- public final static int LIST_T_SQUARE = 3;
-
- /**
- * Decimal
- */
- public final static int LIST_T_DECIMAL = 0x11;
-
- /**
- * Leading-zero decimal
- */
- public final static int LIST_T_DECIMAL_LEADING_ZERO = 0x12;
-
- /**
- * Lower alpha
- */
- public final static int LIST_T_LOWER_ALPHA = 0x13;
-
- /**
- * Lower roman
- */
- public final static int LIST_T_LOWER_ROMAN = 0x14;
-
- /**
- * Upper alpha
- */
- public final static int LIST_T_UPPER_ALPHA = 0x15;
-
- /**
- * Upper roman
- */
- public final static int LIST_T_UPPER_ROMAN = 0x16;
-
- /**
- * Lower greek
- */
- public final static int LIST_T_LOWER_GREEK = 0x21;
-
- /**
- * Armenian
- */
- public final static int LIST_T_ARMENIAN = 0x22;
-
- /**
- * Georgian
- */
- public final static int LIST_T_GEORGIAN = 0x23;
-
- /**
- * None
- */
- public final static int LIST_T_NONE = 0x24;
- /**
- * @param style
- * @param counters
- */
- public static void processCounterReset(ICSSStyle style, HashMap counters) {
- Assert.isTrue(style != null && counters != null);
- // counter-reset will create new one.
- Object counterResets = style
- .getStyleProperty(ICSSPropertyID.ATTR_COUNTER_RESET);
- if ((counterResets) != null
- && counterResets != ICSSPropertyMeta.NOT_SPECIFIED) {
- if (counterResets instanceof List) {
- List crList = (List) counterResets;
- for (int i = 0, n = crList.size(); i < n; i++) {
- ResetObject rObject = (ResetObject) crList.get(i);
- String name = rObject.getCounterName();
- Object counter = null;
- if (counters.size() > 0 && counters.containsKey(name)) {
- // Already resolved
- counter = counters.get(name);
- }
- if (counter != null) {
- if (rObject.getInitial() != null) {
- ((ICounterValueGenerator) counter)
- .resetCount(rObject.getInitial().intValue());
- } else {
- counter = ((ICounterValueGenerator) counter)
- .resetCount();
- }
- counters.put(((ICounterValueGenerator) counter)
- .getIdentifier(), counter);
- } else {
- // create new one
- Object listStyle = style
- .getStyleProperty(ICSSPropertyID.ATTR_LIST_STYLE_TYPE);
- if (listStyle instanceof String) {
- counter = new CounterValueGenerator(name,
- (String) listStyle, null, style);
- if (rObject.getInitial() != null) {
- ((ICounterValueGenerator) counter)
- .resetCount(rObject.getInitial()
- .intValue());
- } else {
- counter = ((ICounterValueGenerator) counter)
- .resetCount();
- }
- }
- counters.put(((ICounterValueGenerator) counter)
- .getIdentifier(), counter);
- }
- }
- }
- }
- }
-
- /**
- * @param style
- */
- public static void processCounterIncrement(ICSSStyle style) {
- Object counterIncrements = style
- .getStyleProperty(ICSSPropertyID.ATTR_COUNTER_INCREMENT);
- if (counterIncrements != null
- && counterIncrements != ICSSPropertyMeta.NOT_SPECIFIED) {
- if (counterIncrements instanceof List) {
- List crList = (List) counterIncrements;
- for (int i = 0, n = crList.size(); i < n; i++) {
- IncrementObject rObject = (IncrementObject) crList.get(i);
- String name = rObject.getCounterName();
- Object counter = null;
- counter = style.findCounter(name, true);
- if (counter != null) {
- if (HTMLListInfoHelper.getValueInt(style) == null) {
- if (rObject.getIncrement() != null) {
- ((ICounterValueGenerator) counter)
- .increase(rObject.getIncrement()
- .intValue());
- } else {
- ((ICounterValueGenerator) counter).increase();
- }
- } else {
- ((ICounterValueGenerator) counter)
- .setCount(HTMLListInfoHelper
- .getValueInt(style));
- }
- }
- }
- }
- }
- }
-
- /**
- * @param style
- * @return true if the style is a text style
- */
- public static boolean isText(ICSSStyle style) {
- String display = style.getDisplay();
- Object styleType = style
- .getStyleProperty(ICSSPropertyID.ATTR_LIST_STYLE_TYPE);
- return (display
- .equalsIgnoreCase(ICSSPropertyID.VAL_LIST_ITEM) //
- && styleType instanceof String //
- && !CounterValueGenerator.NON_STRING_TYPES.contains(styleType));
- }
-
- /**
- * @param style
- * @return the type of the style. One of the LIST_T_* values, or -1 if the
- * style is unknown
- */
- public static int getType(ICSSStyle style) {
- Object type = style
- .getStyleProperty(ICSSPropertyID.ATTR_LIST_STYLE_TYPE);
- if (type instanceof String) {
- return toTypeInt((String) type);
- }
- return -1;
- }
-
- /**
- * @param type
- * @return the type enumeration for the type string
- */
- public static int toTypeInt(String type) {
-
- if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL)) {
- return LIST_T_DECIMAL;
- } else if (type
- .equalsIgnoreCase(ICSSPropertyID.VAL_DECIMAL_LEADING_ZERO)) {
- return LIST_T_DECIMAL_LEADING_ZERO;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_DISC)) {
- return LIST_T_DISC;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_CIRCLE)) {
- return LIST_T_CIRCLE;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_SQUARE)) {
- return LIST_T_SQUARE;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_IMAGE)) {
- return LIST_T_IMAGE;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_UPPER_LATIN)) {
- return LIST_T_UPPER_ALPHA;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_UPPER_ALPHA)) {
- return LIST_T_UPPER_ALPHA;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_LOWER_LATIN)) {
- return LIST_T_LOWER_ALPHA;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_LOWER_ALPHA)) {
- return LIST_T_LOWER_ALPHA;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_UPPER_ROMAN)) {
- return LIST_T_UPPER_ROMAN;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_LOWER_ROMAN)) {
- return LIST_T_LOWER_ROMAN;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_LOWER_GREEK)) {
- return LIST_T_LOWER_GREEK;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_ARMENIAN)) {
- return LIST_T_ARMENIAN;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_GEORGIAN)) {
- return LIST_T_GEORGIAN;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_NONE)) {
- return LIST_T_NONE;
- }
- return 0;
- }
-
- /**
- * @param cssValue
- * @return true if the cssValue is an IDENT
- */
- public static boolean isIdentifier(Object cssValue) {
- return (cssValue instanceof ICSSPrimitiveValue)
- && ((ICSSPrimitiveValue) cssValue).getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT;
- }
-
- /**
- * @param cssValue
- * @return true if the css value is a number
- */
- public static boolean isNumber(Object cssValue) {
- return cssValue instanceof ICSSPrimitiveValue
- && ((ICSSPrimitiveValue) cssValue).getPrimitiveType() == ICSSPrimitiveValue.CSS_INTEGER;
- }
-
- private CounterHelper()
- {
- // util class; no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterValueGenerator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterValueGenerator.java
deleted file mode 100644
index 326b1880f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/CounterValueGenerator.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-
-/**
- * The counter is used to generate automatic conters and numbering for list
- * item. XXX: what do we deal with psedo? and we need to refer to web tools
- * content to consult for style content.
- *
- * @author mengbo
- */
-public class CounterValueGenerator implements ICounterValueGenerator {
- private final static int DEFAULT_INITIAL_VALUE = 0;
-
- private static final Set STRING_TYPES = new HashSet();
-
- static final Set NON_STRING_TYPES = new HashSet();
- static {
- NON_STRING_TYPES.add("disc"); //$NON-NLS-1$
- NON_STRING_TYPES.add("circle"); //$NON-NLS-1$
- NON_STRING_TYPES.add("square"); //$NON-NLS-1$
- STRING_TYPES.add("decimal"); //$NON-NLS-1$
- STRING_TYPES.add("decimal-leading-zero"); //$NON-NLS-1$
- STRING_TYPES.add("lower-roman"); //$NON-NLS-1$
- STRING_TYPES.add("upper-roman"); //$NON-NLS-1$
- STRING_TYPES.add("lower-greek"); //$NON-NLS-1$
- STRING_TYPES.add("lower-alpha"); //$NON-NLS-1$
- STRING_TYPES.add("lower-latin"); //$NON-NLS-1$
- STRING_TYPES.add("upper-alpha"); //$NON-NLS-1$
- STRING_TYPES.add("upper-latin"); //$NON-NLS-1$
- STRING_TYPES.add("hebrew"); //$NON-NLS-1$
- STRING_TYPES.add("armenian"); //$NON-NLS-1$
- STRING_TYPES.add("georgian"); //$NON-NLS-1$
- STRING_TYPES.add("cjk-ideographic"); //$NON-NLS-1$
- STRING_TYPES.add("hiragana"); //$NON-NLS-1$
- STRING_TYPES.add("katakana"); //$NON-NLS-1$
- STRING_TYPES.add("hiragana-iroha"); //$NON-NLS-1$
- STRING_TYPES.add("katakana-iroha"); //$NON-NLS-1$
- }
-
- private final static int DEFAULT_INCREMENT = 1;
-
- private boolean _first = true;
-
- private Integer _initial;
-
- private List _visitors;
-
- private int _count;
-
- private String _identifier;
-
- private String _styleType;
-
- private String _seperator;
-
- private ICSSStyle _style;
-
- /**
- * @param identifier
- * @param styleType
- * @param seperator
- * @param style
- */
- public CounterValueGenerator(String identifier, String styleType,
- String seperator, ICSSStyle style) {
- _identifier = identifier;
- _styleType = styleType;
- _seperator = seperator;
- _style = style;
- if (HTMLListInfoHelper.getStartInt(style) != null) {
- _count = HTMLListInfoHelper.getStartInt(style).intValue();
- } else {
- _count = DEFAULT_INITIAL_VALUE;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.w3c.dom.css.Counter#getIdentifier()
- */
- public String getIdentifier() {
- return _identifier;
- }
-
- /**
- * @return the style type
- * @see org.w3c.dom.css.Counter#getListStyle()
- */
- public String getListStyle() {
- return _styleType;
- }
-
- /**
- * @return the separator
- *
- * @see org.w3c.dom.css.Counter#getSeparator()
- */
- public String getSeparator() {
- return _seperator;
- }
-
- // /**
- // * @return Returns the type.
- // */
- // public String getType()
- // {
- // return _styleType;
- // }
-
- // /**
- // * @return Returns the markerString.
- // */
- // public String getTextValue()
- // {
- // Assert.isTrue(this.isText());
- // _index = getDeclaredIndex();
- // Node container = findParentComtainer();
- // if (container == null)
- // {
- // // what condition?
- // return "";
- // }
- // String exp = "";
- // int startIndex = getStartIndex(container);
- // int maxLength = calculateMaxlength(container, 0) + startIndex - 1;
- // Assert.isTrue(maxLength > 0);
- // if (_index == -1)
- // {
- // // no declared value
- // calculateIndex(container);
- // Assert.isTrue(_index > -1);
- // exp = Integer.toString(_index + startIndex);
- // }
- // else
- // {
- // exp = Integer.toString(_index);
- // }
- // if (getType() == CounterHelper.LIST_T_DECIMAL)
- // {
- // exp = appendSuffix(exp, Integer.toString(maxLength).length() -
- // exp.length());
- // }
- // else if (getType() == CounterHelper.LIST_T_DECIMAL_LEADING_ZERO)
- // {
- // exp = addPrefix(exp, maxLength - exp.length());
- // }
- // return exp + ".";
- //
- // }
-
- // private String addPrefix(String exp, int length)
- // {
- // while (length > 0)
- // {
- // exp = "0" + exp;
- // length--;
- // }
- // return exp;
- // }
- //
- // private String appendSuffix(String exp, int length)
- // {
- // while (length > 0)
- // {
- // exp = exp + " ";
- // length--;
- // }
- // return exp;
- // }
-
- // private boolean calculateIndex(Node node)
- // {
- // if (node == _node)
- // {
- // _index++;
- // return true;
- // }
- // String name = node.getNodeName();
- // if (name != null && name.equalsIgnoreCase("li"))
- // {
- // _index++;
- // }
- // if (!node.hasChildNodes())
- // {
- // return false;
- // }
- // node = node.getFirstChild();
- // while (node != null)
- // {
- // name = node.getNodeName();
- // if (name != null && !(name.equalsIgnoreCase("ul") ||
- // name.equalsIgnoreCase("ol")))
- // {
- // if (calculateIndex(node))
- // {
- // return true;
- // }
- // }
- // node = node.getNextSibling();
- // }
- // return false;
- // }
-
- // This method may be refered for the zero-leading calculation.
- // private int calculateMaxlength(Node node, int index)
- // {
- // String name = node.getNodeName();
- // if (name != null && name.equalsIgnoreCase("li"))
- // {
- // index++;
- // }
- // if (!node.hasChildNodes())
- // {
- // return index;
- // }
- // node = node.getFirstChild();
- // while (node != null)
- // {
- // name = node.getNodeName();
- // if (name != null && !(name.equalsIgnoreCase("ul") ||
- // name.equalsIgnoreCase("ol")))
- // {
- // index = calculateMaxlength(node, index);
- // }
- // node = node.getNextSibling();
- // }
- // return index;
- // }
- //
-
- // private int getStartIndex(Node container)
- // {
- // String value = ((Element) container).getAttribute("start");
- // try
- // {
- // int index = Integer.parseInt(value);
- // if (index < 0)
- // {
- // return 1;
- // }
- // return index;
- // }
- // catch (Exception e)
- // {
- // return 1;
- // }
- // }
-
- // private boolean isStringTyped(ICSSStyle style)
- // {
- // style.getStyleProperty("list-style-type");
- // return true;
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#clone()
- */
- protected Object clone() throws CloneNotSupportedException {
- CounterValueGenerator newInstance = new CounterValueGenerator(
- _identifier, _styleType, _seperator, _style);
- return newInstance;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.Counter2#increase()
- */
- public void increase(int increment) {
- if (!_first || HTMLListInfoHelper.getStartInt(_style) == null) {
- _count += increment;
- }
- _first = false;
- }
-
- public void increase() {
- increase(DEFAULT_INCREMENT);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.Counter2#setCount()
- */
- public ICounterValueGenerator resetCount() {
- try {
- ICounterValueGenerator counter = (ICounterValueGenerator) this
- .clone();
- _initial = null;
- _count = HTMLListInfoHelper.getStartInt(_style) != null ? HTMLListInfoHelper
- .getStartInt(_style).intValue()
- : DEFAULT_INITIAL_VALUE;
- return counter;
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * @return Returns the _initial.
- */
- public int getInitial() {
- if (HTMLListInfoHelper.getStartInt(_style) != null) {
- return HTMLListInfoHelper.getStartInt(_style).intValue();
- }
- return _initial != null ? _initial.intValue()
- : DEFAULT_INITIAL_VALUE;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.Counter2#setCount()
- */
- public ICounterValueGenerator resetCount(int initial) {
- try {
- CounterValueGenerator counter = (CounterValueGenerator) this
- .clone();
- _initial = new Integer(initial);
- _count = initial;
- return counter;
- } catch (CloneNotSupportedException e) {
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator#setCount(org.eclipse.jst.pagedesigner.css2.list.HTMLListInfo)
- */
- public void setCount(Integer value) {
- if (value != null) {
- _count = value.intValue();
- _first = false;
- }
- }
-
- // /**
- // * The clients of this counter need to regist them.
- // *
- // * @see
- // org.eclipse.jst.pagedesigner.css2.list.Counter2#regist(java.lang.Object)
- // */
- // public void regist(Object caller)
- // {
- // Assert.isTrue(caller instanceof ICSSStyle);
- // if (_visitors == null)
- // {
- // _visitors = new LinkedList();
- // }
- // if (!_visitors.contains(caller))
- // {
- // _visitors.add(caller);
- // }
- // }
- //
- // /**
- // * (non-Javadoc)
- // *
- // * @see
- // org.eclipse.jst.pagedesigner.css2.list.Counter2#unregist(java.lang.Object)
- // */
- // public void unregist(Object caller)
- // {
- // if (_visitors.contains(caller))
- // {
- // _visitors.remove(caller);
- // }
- // }
-
- /**
- * Return the int value.
- *
- * @author mengbo
- */
- public int getCurrentCount() {
- return _count;
- }
-
- /**
- * Currently we recalculate the count, to enhance the performance, we may
- * use _count, but this requires delicate synchronization when the
- * calculation is looped.
- */
- public Integer getCount(Object oCaller) {
- Assert.isTrue(oCaller instanceof ICSSStyle && _visitors != null
- && _visitors.size() > 0);
- ICSSStyle caller = (ICSSStyle) oCaller;
- if (!_visitors.contains(caller)) {
- return null;
- }
- int result = getInitial();
-
- for (int i = 0, n = _visitors.size(); i < n; i++) {
- ICSSStyle style = (ICSSStyle) _visitors.get(i);
- // get the count;
- Object counterIncrements = style
- .getStyleProperty(ICSSPropertyID.ATTR_COUNTER_INCREMENT);
- if (counterIncrements != null
- && counterIncrements != ICSSPropertyMeta.NOT_SPECIFIED) {
- if (counterIncrements instanceof List) {
- List crList = (List) counterIncrements;
- for (int j = 0, nn = crList.size(); j < nn; j++) {
- IncrementObject rObject = (IncrementObject) crList
- .get(j);
- String name = rObject.getCounterName();
- if (getIdentifier().equalsIgnoreCase(name)) {
- if (rObject.getIncrement() != null) {
- result += rObject.getIncrement().intValue();
- } else {
- result += DEFAULT_INCREMENT;
- }
- }
- }
- }
- }
- if (style == caller) {
- return new Integer(result);
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/HTMLListInfoHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/HTMLListInfoHelper.java
deleted file mode 100644
index c352f966d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/HTMLListInfoHelper.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.style.AbstractStyle;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Resolve the attrbites 'start' on 'ol' and 'value' on 'li'.
- *
- * @author mengbo
- */
-/*package*/ final class HTMLListInfoHelper {
- /**
- * @return Returns the start.
- */
- private static String getStart(ICSSStyle _style) {
- if (_style instanceof AbstractStyle) {
- Element element = ((AbstractStyle) _style).getElement();
- Node parent = null;
- if ((parent = EditModelQuery.getParent(IHTMLConstants.TAG_OL,
- element, true)) != null) {
- return ((Element) parent)
- .getAttribute(IHTMLConstants.ATTR_START);
- }
- }
- return null;
- }
-
- /**
- * @param style
- * @return the start int
- */
- public static Integer getStartInt(ICSSStyle style) {
- try {
- return new Integer(getStart(style));
- } catch (Exception e) {
- return null;
- }
- }
-
- /**
- * @return Returns the value.
- */
- private static String getValue(ICSSStyle _style) {
- if (_style instanceof AbstractStyle) {
- Element element = ((AbstractStyle) _style).getElement();
- if (element != null) {
- return element.getAttribute(IHTMLConstants.ATTR_VALUE);
- }
- }
- return null;
- }
-
- /**
- * @param style
- * @return the Integer value or null if not parsable
- */
- public static Integer getValueInt(ICSSStyle style) {
- try {
- return Integer.valueOf(getValue(style));
- } catch (NumberFormatException ex) {
- return null;
- }
- }
-
- private HTMLListInfoHelper()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ICounterValueGenerator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ICounterValueGenerator.java
deleted file mode 100644
index 67d0197f0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ICounterValueGenerator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * @author mengbo
- */
-public interface ICounterValueGenerator {
- /**
- * @return the identifier
- */
- public String getIdentifier();
-
- /**
- * @param initial
- * @return the reset count
- */
- public ICounterValueGenerator resetCount(int initial);
-
- /**
- * @return the generator
- */
- public ICounterValueGenerator resetCount();
-
- /**
- * Set the counter based on value.
- * @param value
- */
- public void setCount(Integer value);
-
- // public void regist(Object caller);
- // public void unregist(Object caller);
-
- /**
- * Increase counter based on declared increment number
- * @param increment
- */
- public void increase(int increment);
-
- /**
- * Increase counter with default increment number(1)
- */
- public void increase();
-
- /**
- * @param caller
- * @return the count
- */
- public Integer getCount(Object caller);
-
- /**
- * @return the current count
- */
- public int getCurrentCount();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IIndexConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IIndexConverter.java
deleted file mode 100644
index 5e220a15d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IIndexConverter.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * @author mengbo
- */
-public interface IIndexConverter {
- /**
- * @param index
- * @return the string at index
- */
- String getString(int index);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IncrementObject.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IncrementObject.java
deleted file mode 100644
index 71c9140d0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/IncrementObject.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * @author mengbo
- */
-public class IncrementObject {
- private String _counterName;
-
- private Integer _increment;
-
- /**
- * @param name
- * @param increment
- */
- public IncrementObject(String name, Integer increment) {
- _counterName = name;
- _increment = increment;
- }
-
- /**
- * @return Returns the _counterName.
- */
- public String getCounterName() {
- return _counterName;
- }
-
- /**
- * @param name
- * The _counterName to set.
- */
- public void setCounterName(String name) {
- _counterName = name;
- }
-
- /**
- * @return Returns the _increment.
- */
- public Integer getIncrement() {
- return _increment;
- }
-
- /**
- * @param _increment
- * The _increment to set.
- */
- public void setIncrement(Integer _increment) {
- this._increment = _increment;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ListStyleUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ListStyleUtil.java
deleted file mode 100644
index ccab58f3b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ListStyleUtil.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * @author mengbo
- */
-/*package*/ final class ListStyleUtil {
- /**
- * @param type
- * @param index
- * @return the type as a string
- */
- public static String convertTypeToString(int type, int index) {
- if (type == CSSHtmlListStyleData.LIST_T_LOWER_ROMAN
- || type == CSSHtmlListStyleData.LIST_T_UPPER_ROMAN) {
- // TODO: to implement roman.
- // return decimalToRoman(index);
- } else if (type == CSSHtmlListStyleData.LIST_T_DECIMAL
- || type == CSSHtmlListStyleData.LIST_T_DECIMAL_LEADING_ZERO) {
- return Integer.toString(index);
- }
- return null;
- }
-
- private ListStyleUtil()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ResetObject.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ResetObject.java
deleted file mode 100644
index 0cc113835..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/list/ResetObject.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.list;
-
-/**
- * @author mengbo
- */
-public class ResetObject {
- private String _counterName;
-
- private Integer _initial;
-
- /**
- * @param name
- * @param initial
- */
- public ResetObject(String name, Integer initial) {
- _counterName = name;
- _initial = initial;
- }
-
- /**
- * @return Returns the _counterName.
- */
- public String getCounterName() {
- return _counterName;
- }
-
- /**
- * @param name
- * The _counterName to set.
- */
- public void setCounterName(String name) {
- _counterName = name;
- }
-
- /**
- * @return Returns the _increment.
- */
- public Integer getInitial() {
- return _initial;
- }
-
- /**
- * @param _initial
- * The _increment to set.
- */
- public void setInitial(Integer _initial) {
- this._initial = _initial;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterFactory.java
deleted file mode 100644
index 32dec8476..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.eclipse.jst.pagedesigner.css2.list.CSSHtmlListStyleData;
-
-/**
- * @author mengbo
- */
-public class CounterFactory {
- private static DecimalCounter _decimalCounterInstance;
-
- private static RomanCounter _romanCounterInstance;
-
- private static CounterFactory _instance;
-
- /**
- * @return the factory singelton
- */
- public static CounterFactory getInstance() {
- if (_instance == null) {
- _instance = new CounterFactory();
- }
- return _instance;
- }
-
- /**
- * @param type
- * @return the counter for type
- */
- public ICounter getCounter(int type) {
- switch (type) {
- case CSSHtmlListStyleData.LIST_T_DECIMAL:
- case CSSHtmlListStyleData.LIST_T_DECIMAL_LEADING_ZERO:
- if (_decimalCounterInstance == null) {
- _decimalCounterInstance = new DecimalCounter();
- }
- return _decimalCounterInstance;
- case CSSHtmlListStyleData.LIST_T_LOWER_ROMAN:
- case CSSHtmlListStyleData.LIST_T_UPPER_ROMAN:
- if (_romanCounterInstance == null) {
- _romanCounterInstance = new RomanCounter();
- }
- return _romanCounterInstance;
- default:
- return null;
-
- }
- }
-
- private CounterFactory()
- {
- // singleton, no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterUtil.java
deleted file mode 100644
index f22f17ff5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/CounterUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.eclipse.jst.pagedesigner.css2.list.CounterHelper;
-
-/**
- * @author mengbo
- */
-public final class CounterUtil {
- /**
- * @param count
- * @param type
- * @return the converter count
- */
- public static String convertCount(int count, int type) {
- // XXX: currently we only support style that IE supported.for type that
- // does not
- // support we return an empty String.
- StringBuffer buffer = new StringBuffer();
- switch (type) {
- case CounterHelper.LIST_T_DECIMAL:
- buffer.append(count);
- buffer.append('.');
- break;
- case CounterHelper.LIST_T_UPPER_ALPHA:
- case CounterHelper.LIST_T_LOWER_ALPHA:
- char charA = 'a';
- if (type == CounterHelper.LIST_T_UPPER_ALPHA) {
- charA = 'A';
- }
- int index = count;
- while (index > 0 && index > 26) {
- buffer.append((char) (charA + (index / 26) - 1));
- index = index % 26;
- }
- buffer.append((char) (charA + (index - 1)));
- buffer.append("."); //$NON-NLS-1$
- break;
- case CounterHelper.LIST_T_UPPER_ROMAN:
- case CounterHelper.LIST_T_LOWER_ROMAN:
- String string = new RomanCounter().getString(count);
- if (type == CounterHelper.LIST_T_LOWER_ROMAN) {
- buffer.append(string.toLowerCase());
- } else {
- buffer.append(string);
- }
- buffer.append("."); //$NON-NLS-1$
- break;
- case CounterHelper.LIST_T_ARMENIAN:
- break;
- case CounterHelper.LIST_T_DECIMAL_LEADING_ZERO:
- break;
- case CounterHelper.LIST_T_LOWER_GREEK:
- break;
- case CounterHelper.LIST_T_GEORGIAN:
- break;
- default:
- break;
- }
- return buffer.toString();
- }
-
- private CounterUtil()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/DecimalCounter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/DecimalCounter.java
deleted file mode 100644
index ddce6903f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/DecimalCounter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.eclipse.jst.pagedesigner.css2.list.CSSHtmlListStyleData;
-
-/**
- * @author mengbo
- */
-/*package*/ class DecimalCounter extends EnumerableCounter
-{
-
- DecimalCounter()
- {
- // do nothing; only nee
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.EnumerableCounter#getString(int)
- */
- public String getNextString(int index, int type) {
- //String result;
- switch (type) {
- case CSSHtmlListStyleData.LIST_T_DECIMAL:
- return Integer.toString(index);
-
- case CSSHtmlListStyleData.LIST_T_DECIMAL_LEADING_ZERO:
- StringBuffer sb = new StringBuffer();
- int count = 1;
- for (int i = sb.length(); i < count; i++) {
- sb.append('0');
- }
- sb.append(Integer.toString(index));
- return sb.toString();
- default:
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/EnumerableCounter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/EnumerableCounter.java
deleted file mode 100644
index 3dfbef8e2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/EnumerableCounter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- */
-public abstract class EnumerableCounter implements ICounter {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.ICounter#getNextObject(org.w3c.dom.Element,
- * java.lang.String)
- */
- public final Object getNextObject(Element element, int type) {
- int index = calculateIndex(element);
- return getNextString(index, type);
- }
-
- /**
- * @param element
- * @return the index of the element in its parent
- */
- public final int calculateIndex(Element element) {
- final String tag = element.getLocalName();
- final Node parent = element.getParentNode();
- final NodeList children = parent.getChildNodes();
- int index = 1;
- for (int i = 0; i < children.getLength(); i++) {
- final Node child = children.item(i);
- if (child == element) {
- break;
- }
- if (child.getLocalName().equalsIgnoreCase(tag)) {
- index++;
- }
- }
- return index;
- }
-
- /**
- * @param index
- * @param type
- * @return the string for the next index
- */
- public abstract String getNextString(int index, int type);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/ICounter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/ICounter.java
deleted file mode 100644
index cc06af394..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/ICounter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public interface ICounter {
- /**
- * @param element
- * @param type
- * @return the next object for element, type
- */
- public Object getNextObject(Element element, int type);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/RomanCounter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/RomanCounter.java
deleted file mode 100644
index f8a91bd85..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/marker/RomanCounter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.marker;
-
-import org.eclipse.jst.pagedesigner.css2.list.CSSHtmlListStyleData;
-
-/**
- * @author mengbo
- */
-/*package*/ class RomanCounter extends EnumerableCounter {
- RomanCounter()
- {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.EnumerableCounter#getString(int,
- * boolean)
- */
- public String getNextString(int index, int type) {
- switch (type) {
- case CSSHtmlListStyleData.LIST_T_LOWER_ROMAN:
- return getString(index).toLowerCase();
- case CSSHtmlListStyleData.LIST_T_UPPER_ROMAN:
- return getString(index);
- default:
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.list.NumberCounter#getString(int)
- */
- /*package*/ String getString(int index) {
- // FIXME: Need to enhance more.
- StringBuffer roman = new StringBuffer();
- int a, b, c, d;
- a = (index / 1000) * 1000;
- b = ((index / 100) % 10) * 100;
- c = ((index / 10) % 10) * 10;
- d = ((index / 1) % 10) * 1;
-
- if (a == 1000)
- roman.append("M"); //$NON-NLS-1$
- else if (a == 2000)
- roman.append("MM"); //$NON-NLS-1$
- else if (a == 3000)
- roman.append("MMM"); //$NON-NLS-1$
-
- if (b == 100)
- roman.append("C"); //$NON-NLS-1$
- else if (b == 200)
- roman.append("CC"); //$NON-NLS-1$
- else if (b == 300)
- roman.append("CCC"); //$NON-NLS-1$
- else if (b == 400)
- roman.append("CD"); //$NON-NLS-1$
- else if (b == 500)
- roman.append("D"); //$NON-NLS-1$
- else if (b == 600)
- roman.append("DC"); //$NON-NLS-1$
- else if (b == 700)
- roman.append("DCC"); //$NON-NLS-1$
- else if (b == 800)
- roman.append("DCCC"); //$NON-NLS-1$
- else if (b == 900)
- roman.append("CM"); //$NON-NLS-1$
-
- if (c == 10)
- roman.append("X"); //$NON-NLS-1$
- else if (c == 20)
- roman.append("XX"); //$NON-NLS-1$
- else if (c == 30)
- roman.append("XXX"); //$NON-NLS-1$
- else if (c == 40)
- roman.append("XL"); //$NON-NLS-1$
- else if (c == 50)
- roman.append("L"); //$NON-NLS-1$
- else if (c == 60)
- roman.append("LX"); //$NON-NLS-1$
- else if (c == 70)
- roman.append("LXX"); //$NON-NLS-1$
- else if (c == 80)
- roman.append("LXXX"); //$NON-NLS-1$
- else if (c == 90)
- roman.append("XC"); //$NON-NLS-1$
-
- if (d == 1)
- roman.append("I"); //$NON-NLS-1$
- else if (d == 2)
- roman.append("II"); //$NON-NLS-1$
- else if (d == 3)
- roman.append("III"); //$NON-NLS-1$
- else if (d == 4)
- roman.append("IV"); //$NON-NLS-1$
- else if (d == 5)
- roman.append("V"); //$NON-NLS-1$
- else if (d == 6)
- roman.append("VI"); //$NON-NLS-1$
- else if (d == 7)
- roman.append("VII"); //$NON-NLS-1$
- else if (d == 8)
- roman.append("VIII"); //$NON-NLS-1$
- else if (d == 9)
- roman.append("IX"); //$NON-NLS-1$
-
- return roman.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundColorMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundColorMeta.java
deleted file mode 100644
index f738c472f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundColorMeta.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.color.CSSColorManager;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class BackgroundColorMeta extends CSSPropertyMeta {
- private static final String[] _keywords = new String[] { ICSSPropertyID.VAL_TRANSPARENT };
-
- /**
- */
- public BackgroundColorMeta() {
- super(false, ICSSPropertyID.VAL_TRANSPARENT);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String text = value.getCssText();
- Object result = CSSColorManager.getInstance().getColor(text);
- if (result != null) {
- return result;
- }
- return getInitialValue(propertyName, style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return _keywords;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- Object result;
- String colorAttr = null;
- if (ICSSPropertyID.ATTR_BACKGROUND_COLOR.equalsIgnoreCase(propertyName)) {
- colorAttr = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_BGCOLOR);
- }
- if (colorAttr != null && colorAttr.trim().length() != 0) {
- colorAttr = colorAttr.trim();
- result = CSSColorManager.getInstance().getColor(colorAttr);
- return result;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundImageMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundImageMeta.java
deleted file mode 100644
index ac1acacfb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BackgroundImageMeta.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * Provides metadata for the "background-image" CSS property.
- *
- * @author Ian Trimble - Oracle
- */
-public class BackgroundImageMeta extends CSSPropertyMeta {
-
- private static final String[] _keywords = {ICSSPropertyID.VAL_NONE};
-
- /**
- * Construct an instance.
- */
- public BackgroundImageMeta() {
- super(false, ICSSPropertyID.VAL_NONE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue, java.lang.String, org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- @Override
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- Object ret = null;
- String valueText = value.getCssText();
- if (valueText != null && valueText.length() > 0) {
- valueText = stripURLSyntax(valueText);
- ret = getImage(valueText, null);
- }
- if (ret == null) {
- ret = getInitialValue(propertyName, style);
- }
- return ret;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element, java.lang.String, java.lang.String, org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- @Override
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- Image image = null;
- if (
- element != null &&
- element.getNodeName() != null &&
- element.getNodeName().equalsIgnoreCase(IHTMLConstants.TAG_BODY)) {
- if (ICSSPropertyID.ATTR_BACKGROUND_IMAGE.equalsIgnoreCase(propertyName)) {
- String attrValue = DOMUtil.getAttributeIgnoreCase(element, IHTMLConstants.ATTR_BACKGROUND);
- if (attrValue != null && attrValue.trim().length() > 0) {
- image = getImage(attrValue.trim(), element);
- }
- }
- }
- return image;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- @Override
- protected String[] getKeywordValues() {
- return _keywords;
- }
-
- private String stripURLSyntax(String input) {
- String output = null;
- if (input != null) {
- //strip "url(...)"
- int startPos = input.indexOf("url(") + 4; //$NON-NLS-1$
- if (startPos > -1 && startPos < input.length() - 1) {
- int endPos = input.indexOf(')', startPos);
- if (endPos > startPos) {
- String insideURL = input.substring(startPos, endPos).trim();
- //strip double-quotes
- if (insideURL.startsWith("\"") && insideURL.endsWith("\"")) { //$NON-NLS-1$ //$NON-NLS-2$
- output = insideURL.substring(1, insideURL.length() - 1);
- //strip single-quotes
- } else if (insideURL.startsWith("'") && insideURL.endsWith("'")) { //$NON-NLS-1$ //$NON-NLS-2$
- output = insideURL.substring(1, insideURL.length() - 1);
- } else {
- output = insideURL;
- }
- }
- }
- }
- return output != null ? output : input;
- }
-
- /* Image instances returned from this method should not be disposed because
- * they are cached in the plug-in's ImageRegistry and will be disposed of
- * by the registry.
- */
- private Image getImage(String imagePath, Element element) {
- Image image = null;
- if (imagePath != null && imagePath.length() > 0) {
- ImageRegistry registry = PDPlugin.getDefault().getImageRegistry();
- image = registry.get(imagePath);
- if (image == null) {
- try {
- URL imageURL = new URL(imagePath);
- ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(imageURL);
- image = imageDescriptor.createImage();
- if (image != null) {
- registry.put(imagePath, image);
- }
- } catch(MalformedURLException mue) {
- //attempt to resolve as relative to document
- if (element instanceof IDOMNode) {
- IDOMModel model = ((IDOMNode)element).getModel();
- if (model != null) {
- String baseLocation = model.getBaseLocation();
- if (baseLocation != null && baseLocation.length() > 0) {
- IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
- if (wsRoot != null) {
- IResource jspRes = wsRoot.findMember(baseLocation);
- if (jspRes != null) {
- IContainer jspFolder = jspRes.getParent();
- if (jspFolder != null) {
- IResource imageRes = jspFolder.findMember(imagePath);
- if (imageRes != null) {
- URI imageURI = imageRes.getLocationURI();
- if (imageURI != null) {
- try {
- URL imageURL = imageURI.toURL();
- ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(imageURL);
- image = imageDescriptor.createImage();
- if (image != null) {
- registry.put(imagePath, image);
- }
- } catch(MalformedURLException mue2) {
- //ignore - what else can be done?
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else if (image.isDisposed()) {
- //shouldn't be able to get here from there, but...just in case
- registry.remove(imagePath);
- image = getImage(imagePath, element);
- }
- }
- return image;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderCollapseMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderCollapseMeta.java
deleted file mode 100644
index f2cbe1d15..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderCollapseMeta.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public class BorderCollapseMeta extends CSSPropertyMeta {
- static String[] keywords = new String[] { ICSSPropertyID.VAL_COLLAPSE,
- ICSSPropertyID.VAL_SEPARATE };
-
- /**
- */
- public BorderCollapseMeta() {
- // XXX: the spec says COLLAPSE is initial value, but seemed that IE
- // is using separate as default
- super(true, ICSSPropertyID.VAL_SEPARATE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return keywords;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderColorMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderColorMeta.java
deleted file mode 100644
index d493a7143..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderColorMeta.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.color.CSSColorManager;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class BorderColorMeta extends CSSPropertyMeta {
-
- private static final String[] _keywords = new String[] { ICSSPropertyID.VAL_TRANSPARENT };
-
- /**
- */
- public BorderColorMeta() {
- super(false, ICSSPropertyID.VAL_TRANSPARENT);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String text = value.getCssText();
- Object result = CSSColorManager.getInstance().getColor(text);
- if (result != null) {
- return result;
- }
- return getInitialValue(propertyName, style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return _keywords;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- Object result;
- String colorAttr = null;
- if (IHTMLConstants.TAG_HR.equalsIgnoreCase(htmltag)) {
- colorAttr = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_COLOR);
- } else if (ICSSPropertyID.ATTR_BACKGROUND_COLOR
- .equalsIgnoreCase(propertyName)) {
- colorAttr = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_BGCOLOR);
- }
- if (colorAttr != null && colorAttr.trim().length() != 0) {
- colorAttr = colorAttr.trim();
- result = CSSColorManager.getInstance().getColor(colorAttr);
- return result;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderSpacingMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderSpacingMeta.java
deleted file mode 100644
index 22313c396..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderSpacingMeta.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-import org.w3c.dom.css.CSSValueList;
-
-/**
- * The value will always be of type int[2]
- *
- * @author mengbo
- */
-public class BorderSpacingMeta extends CSSPropertyMeta {
- private static final int[] INITIAL_SPACING = new int[] { 3, 3 };
-
- /**
- */
- public BorderSpacingMeta() {
- // the specification says "border-spacing" is inherited. But seemed
- // browse is not treating it as inherited. So we treat is as not
- // inherited.
- super(false, INITIAL_SPACING);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return EMPTY_KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- if (value == null || value.getCssValueType() == CSSValue.CSS_CUSTOM) {
- return INITIAL_SPACING;
- }
- if (value.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) {
- int intvalue = toIntValue(value.getCssText(), style);
- if (intvalue >= 0) {
- return new int[] { intvalue, intvalue };
- }
- return INITIAL_SPACING;
- } else if (value.getCssValueType() == CSSValue.CSS_VALUE_LIST) {
- CSSValueList list = (CSSValueList) value;
- if (list.getLength() >= 2) {
- int i1 = toIntValue(list.item(0).getCssText(), style);
- int i2 = toIntValue(list.item(1).getCssText(), style);
- if (i1 < 0) {
- i1 = 0;
- }
- if (i2 < 0) {
- i2 = 0;
- }
- return new int[] { i1, i2 };
- }
- return INITIAL_SPACING;
- } else {
- return INITIAL_SPACING;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(htmltag)) {
- String spacing = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_CELLSPACING);
- if (spacing != null) {
- int intvalue = toIntValue(spacing, style);
- if (intvalue >= 0) {
- return new int[] { intvalue, intvalue };
- }
- }
- }
-
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-
- /**
- * @param valuetext
- * @param style
- * @return the integer value for value text
- */
- protected int toIntValue(String valuetext, ICSSStyle style) {
- Object length = LengthMeta.toLength(valuetext, style, PERCENTAGE_NONE,
- style.getCSSFont());
- if (length instanceof Length && !((Length) length).isPercentage()) {
- return ((Length) length).getValue();
- }
- return Integer.MIN_VALUE;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderStyleMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderStyleMeta.java
deleted file mode 100644
index 399863472..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderStyleMeta.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class BorderStyleMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_NONE,
- ICSSPropertyID.VAL_HIDDEN, ICSSPropertyID.VAL_DOTTED,
- ICSSPropertyID.VAL_DASHED, ICSSPropertyID.VAL_SOLID,
- ICSSPropertyID.VAL_DOUBLE, ICSSPropertyID.VAL_GROOVE,
- ICSSPropertyID.VAL_RIDGE, ICSSPropertyID.VAL_INSET,
- ICSSPropertyID.VAL_OUTSET };
-
- /**
- */
- public BorderStyleMeta() {
- super(false, ICSSPropertyID.VAL_NONE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(htmltag)) {
- return calculateTableOverride(element, propertyName);
- } else if (IHTMLConstants.TAG_TD.equalsIgnoreCase(htmltag)
- || IHTMLConstants.TAG_TH.equalsIgnoreCase(htmltag)) {
- return calculateTDOverride(element, propertyName, style);
- } else if (IHTMLConstants.TAG_IMG.equalsIgnoreCase(htmltag)) {
- String border = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_BORDER);
- if (border != null) {
- return ICSSPropertyID.VAL_SOLID;
- }
- }
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-
- /**
- * @param element
- * @param propertyName
- * @return
- */
- private Object calculateTDOverride(Element element, String propertyName,
- ICSSStyle style) {
- // if element is empty, and "empty-cells" property is hide, then we
- // don't display border.
- Object obj = style.getStyleProperty(ICSSPropertyID.ATTR_EMPTY_CELLS);
- if (EmptyCellsMeta.HIDE.equals(obj) && TableUtil.isEmptyCell(element)) {
- return ICSSPropertyID.VAL_NONE;
- }
-
- // find containing table first
- Node parent = element;
- Element tableEle = null;
- while ((parent = parent.getParentNode()) != null
- && parent instanceof Element) {
- if (((Element) parent).getTagName().equalsIgnoreCase(
- IHTMLConstants.TAG_TABLE)) {
- tableEle = (Element) parent;
- break;
- }
-
- }
- if (tableEle != null) {
- String rules = DOMUtil.getAttributeIgnoreCase(tableEle,
- IHTMLConstants.ATTR_RULES);
- String borderstr = DOMUtil.getAttributeIgnoreCase(tableEle,
- IHTMLConstants.ATTR_BORDER);
- if (rules == null || rules.length() == 0) {
- if (borderstr == null || "0".equals(borderstr.trim())) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_NONE;
- }
- return ICSSPropertyID.VAL_TDBORDERSTYLE;
- }
- // ok, we got a value for rules
- if (TableUtil.matchRules(extractEdge(propertyName), rules)) {
- return ICSSPropertyID.VAL_TDBORDERSTYLE;
- }
- return ICSSPropertyID.VAL_NONE;
- }
- return null;
- }
-
- /**
- * @param element
- * @param propertyName
- * @return
- */
- private Object calculateTableOverride(Element element, String propertyName) {
- String frame = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_FRAME);
- String borderstr = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_BORDER);
- // border="0" implies frame="void"
- if ("0".equals(borderstr)) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_NONE;
- }
- if (frame == null || frame.length() == 0) {
- if (borderstr == null) {
- return ICSSPropertyID.VAL_NONE;
- } else if (borderstr.trim().length() == 0) {
- frame = IHTMLConstants.ATTR_BORDER;
- } else {
- try {
- Integer.parseInt(borderstr);
- frame = IHTMLConstants.ATTR_BORDER;
- } catch (Exception ex) {
- frame = borderstr;
- }
- }
- }
- // ok, we got a value for frame.
- if (TableUtil.matchFrame(extractEdge(propertyName), frame)) {
- return ICSSPropertyID.VAL_OUTSET;
- }
- return ICSSPropertyID.VAL_NONE;
- }
-
- static String extractEdge(String propertyName) {
- if (ICSSPropertyID.ATTR_BORDER_BOTTOM_STYLE
- .equalsIgnoreCase(propertyName)) {
- return "bottom"; //$NON-NLS-1$
- } else if (ICSSPropertyID.ATTR_BORDER_LEFT_STYLE
- .equalsIgnoreCase(propertyName)) {
- return "left"; //$NON-NLS-1$
- } else if (ICSSPropertyID.ATTR_BORDER_RIGHT_STYLE
- .equalsIgnoreCase(propertyName)) {
- return "right"; //$NON-NLS-1$
- } else {
- return "top"; //$NON-NLS-1$
- }
- }
-
- /**
- * @param propertyName
- * @return true if property name is a border style
- */
- public static boolean isBorderStyle(String propertyName) {
- return ICSSPropertyID.ATTR_BORDER_BOTTOM_STYLE
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_LEFT_STYLE
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_RIGHT_STYLE
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_TOP_STYLE
- .equalsIgnoreCase(propertyName);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderWidthMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderWidthMeta.java
deleted file mode 100644
index d7316997a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/BorderWidthMeta.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.CSSValue;
-
-/**
- *
- * @author mengbo
- */
-// FIXME: when the border-style is none, how should we treat border-width?
-public class BorderWidthMeta extends LengthMeta {
-
- private static final Length LENGTH_4 = new Length(4, false);
-
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_AUTO,
- ICSSPropertyID.VAL_THIN, ICSSPropertyID.VAL_MEDIUM,
- ICSSPropertyID.VAL_THICK };
-
- /**
- */
- public BorderWidthMeta() {
- super(false, LENGTH_4); // medium length.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.LengthMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getPercentageType()
- */
- public int getPercentageType() {
- return PERCENTAGE_NONE;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.LengthMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- // Computed value: absolute length; '0' if the border style is 'none' or
- // 'hidden'
- Object stylevalue = style.getStyleProperty("border-" //$NON-NLS-1$
- + extractEdge(propertyName) + "-style"); //$NON-NLS-1$
- if (ICSSPropertyID.VAL_NONE.equals(stylevalue)
- || ICSSPropertyID.VAL_HIDDEN.equals(stylevalue)) {
- return Length.LENGTH_0;
- }
-
- Object obj = super.calculateCSSValueResult(value, propertyName, style);
- if (ICSSPropertyID.VAL_THIN.equals(obj)) {
- return Length.LENGTH_1;
- } else if (ICSSPropertyID.VAL_MEDIUM.equals(obj)) {
- return Length.LENGTH_3;
- } else if (ICSSPropertyID.VAL_THICK.equals(obj)) {
- return Length.LENGTH_8;
- }
- return obj;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if ("table".equalsIgnoreCase(htmltag)) { //$NON-NLS-1$
- return calculateTableOverride(element, propertyName);
- } else if ("td".equalsIgnoreCase(htmltag) //$NON-NLS-1$
- || "th".equalsIgnoreCase(htmltag)) { //$NON-NLS-1$
- return calculateTDOverride(element, propertyName);
- } else if ("img".equalsIgnoreCase(htmltag)) { //$NON-NLS-1$
- String border = DOMUtil.getAttributeIgnoreCase(element, "border");// ICSSPropertyID.ATTR_BORDERSIZE); //$NON-NLS-1$
- if (border != null) {
- try {
- return new Length(Integer.parseInt(border), false);
- } catch (Exception ex) {
- // Integer processing, no need to report.
- }
- }
- }
-
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-
- /**
- * @param element
- * @param propertyName
- * @return
- */
- private Object calculateTDOverride(Element element, String propertyName) {
- // find containing table first
- Node parent = element;
- Element tableEle = null;
- while ((parent = parent.getParentNode()) != null
- && parent instanceof Element) {
- if (((Element) parent).getTagName().equalsIgnoreCase("table")) { //$NON-NLS-1$
- tableEle = (Element) parent;
- break;
- }
-
- }
- if (tableEle != null) {
- String rules = DOMUtil.getAttributeIgnoreCase(tableEle, "rules"); //$NON-NLS-1$
- String borderstr = DOMUtil.getAttributeIgnoreCase(tableEle,
- "border"); //$NON-NLS-1$
- if (rules == null || rules.length() == 0) {
- if (borderstr == null || "0".equals(borderstr.trim())) { //$NON-NLS-1$
- return null;
- }
- return Length.LENGTH_1;
- }
- // ok, we got a value for rules
- if (TableUtil.matchRules(extractEdge(propertyName), rules)) {
- return Length.LENGTH_1;
- }
- return Length.LENGTH_0;
- }
- return Length.LENGTH_0;
- }
-
- /**
- * @param element
- * @param propertyName
- * @return
- */
- private Object calculateTableOverride(Element element, String propertyName) {
- String frame = DOMUtil.getAttributeIgnoreCase(element, "frame"); //$NON-NLS-1$
- String borderstr = DOMUtil.getAttributeIgnoreCase(element, "border"); //$NON-NLS-1$
- // border="0" implies frame="void"
- if ("0".equals(borderstr)) { //$NON-NLS-1$
- return Length.LENGTH_0;
- }
- if (frame == null || frame.length() == 0) {
- if (borderstr == null) {
- return null;
- } else if (borderstr.trim().length() == 0) {
- return Length.LENGTH_1;
- } else {
- try {
- return new Length(Integer.parseInt(borderstr), false);
- } catch (Exception ex) {
- frame = borderstr;
- }
- }
- }
- // ok, we got a value for frame.
- if (TableUtil.matchFrame(extractEdge(propertyName), frame)) {
- if (borderstr != null) {
- try {
- return new Length(Integer.parseInt(borderstr), false);
- } catch (Exception ex) {
- // ignore. pass through to return length_1
- }
- }
- return Length.LENGTH_1;
- }
- return Length.LENGTH_0;
- }
-
- static String extractEdge(String propertyName) {
- if (ICSSPropertyID.ATTR_BORDER_BOTTOM_WIDTH
- .equalsIgnoreCase(propertyName)) {
- return "bottom"; //$NON-NLS-1$
- } else if (ICSSPropertyID.ATTR_BORDER_LEFT_WIDTH
- .equalsIgnoreCase(propertyName)) {
- return "left"; //$NON-NLS-1$
- } else if (ICSSPropertyID.ATTR_BORDER_RIGHT_WIDTH
- .equalsIgnoreCase(propertyName)) {
- return "right"; //$NON-NLS-1$
- } else {
- return "top"; //$NON-NLS-1$
- }
- }
-
- /**
- * @param propertyName
- * @return true if property name is a border width
- */
- public static boolean isBorderWidth(String propertyName) {
- return ICSSPropertyID.ATTR_BORDER_BOTTOM_WIDTH
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_LEFT_WIDTH
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_RIGHT_WIDTH
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_BORDER_TOP_WIDTH
- .equalsIgnoreCase(propertyName);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getInitialValue(java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object getInitialValue(String propertyName, ICSSStyle style) {
- // Computed value: absolute length; '0' if the border style is 'none' or
- // 'hidden'
- Object stylevalue = style.getStyleProperty("border-" //$NON-NLS-1$
- + extractEdge(propertyName) + "-style"); //$NON-NLS-1$
- if (ICSSPropertyID.VAL_NONE.equals(stylevalue)
- || ICSSPropertyID.VAL_HIDDEN.equals(stylevalue)) {
- return Length.LENGTH_0;
- }
- return super.getInitialValue(propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSMetaRegistry.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSMetaRegistry.java
deleted file mode 100644
index da55ec578..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSMetaRegistry.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-
-/**
- * @author mengbo
- */
-public class CSSMetaRegistry {
- Map _map = new HashMap();
-
- private static CSSMetaRegistry _instance;
-
- private CSSMetaRegistry() {
- initialize();
- }
-
- /**
- * class initializer
- */
- private void initialize()
- {
- final PDPreferences prefs = new PDPreferences();
- _map.put(ICSSPropertyID.ATTR_DISPLAY, new DisplayMeta());
- _map.put(ICSSPropertyID.ATTR_TEXTALIGN, new TextAlignMeta());
- _map.put(ICSSPropertyID.ATTR_HORIZONTAL_ALIGN, new HorizontalAlignMeta());
- _map.put(ICSSPropertyID.ATTR_TEXTDECORATION, new TextDecorationMeta());
- _map.put(ICSSPropertyID.ATTR_WHITESPACE, new WhiteSpaceMeta());
- _map.put(ICSSPropertyID.ATTR_WIDTH, new WidthMeta());
- _map.put(ICSSPropertyID.ATTR_MIN_WIDTH, new WidthMeta());
- _map.put(ICSSPropertyID.ATTR_HEIGHT, new HeightMeta());
- _map.put(ICSSPropertyID.ATTR_MIN_HEIGHT, new HeightMeta());
-
- _map.put(ICSSPropertyID.ATTR_BORDER_LEFT_WIDTH, new BorderWidthMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_WIDTH, new BorderWidthMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_WIDTH, new BorderWidthMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_TOP_WIDTH, new BorderWidthMeta());
-
- _map.put(ICSSPropertyID.ATTR_BORDER_LEFT_STYLE, new BorderStyleMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_STYLE, new BorderStyleMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_STYLE, new BorderStyleMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_TOP_STYLE, new BorderStyleMeta());
-
- _map.put(ICSSPropertyID.ATTR_BORDER_LEFT_COLOR, new BorderColorMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_RIGHT_COLOR, new BorderColorMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_BOTTOM_COLOR, new BorderColorMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_TOP_COLOR, new BorderColorMeta());
-
- _map.put(ICSSPropertyID.ATTR_PADDING_LEFT, new PaddingWidthMeta(prefs));
- _map.put(ICSSPropertyID.ATTR_PADDING_RIGHT, new PaddingWidthMeta(prefs));
- _map.put(ICSSPropertyID.ATTR_PADDING_BOTTOM, new PaddingWidthMeta(prefs));
- _map.put(ICSSPropertyID.ATTR_PADDING_TOP, new PaddingWidthMeta(prefs));
-
- _map.put(ICSSPropertyID.ATTR_MARGIN_LEFT, new MarginWidthMeta());
- _map.put(ICSSPropertyID.ATTR_MARGIN_RIGHT, new MarginWidthMeta());
- _map.put(ICSSPropertyID.ATTR_MARGIN_BOTTOM, new MarginWidthMeta());
- _map.put(ICSSPropertyID.ATTR_MARGIN_TOP, new MarginWidthMeta());
-
- _map.put(ICSSPropertyID.ATTR_FONT_FAMILY, new FontFamilyMeta());
- _map.put(ICSSPropertyID.ATTR_FONT_SIZE, new FontSizeMeta());
- _map.put(ICSSPropertyID.ATTR_FONT_STYLE, new FontStyleMeta());
- _map.put(ICSSPropertyID.ATTR_FONT_WEIGHT, new FontWeightMeta());
-
- _map.put(ICSSPropertyID.ATTR_BACKGROUND_COLOR, new BackgroundColorMeta());
- _map.put(ICSSPropertyID.ATTR_BACKGROUND_IMAGE, new BackgroundImageMeta());
- _map.put(ICSSPropertyID.ATTR_COLOR, new ColorPropertyMeta());
- _map.put(ICSSPropertyID.ATTR_TEXTCOLOR, new ColorPropertyMeta());
-
- _map.put(ICSSPropertyID.ATTR_BORDER_COLLAPSE, new BorderCollapseMeta());
- _map.put(ICSSPropertyID.ATTR_BORDER_SPACING, new BorderSpacingMeta());
-
- _map.put(ICSSPropertyID.ATTR_LIST_STYLE_TYPE, new ListStyleTypeMeta());
- _map.put(ICSSPropertyID.ATTR_LIST_STYLE_IMAGE, new ListStyleImageMeta());
- _map.put(ICSSPropertyID.ATTR_LIST_STYLE_POSITION, new ListStylePositionMeta());
- _map.put(ICSSPropertyID.ATTR_COUNTER_RESET, new CounterResetMeta());
- _map.put(ICSSPropertyID.ATTR_COUNTER_INCREMENT, new CounterIncrementMeta());
-
- _map.put(ICSSPropertyID.ATTR_TOP, new PositionOffsetMeta());
- _map.put(ICSSPropertyID.ATTR_RIGHT, new PositionOffsetMeta());
- _map.put(ICSSPropertyID.ATTR_BOTTOM, new PositionOffsetMeta());
- _map.put(ICSSPropertyID.ATTR_LEFT, new PositionOffsetMeta());
- _map.put(ICSSPropertyID.ATTR_POSITION, new PositionMeta());
-
- _map.put(ICSSPropertyID.ATTR_EMPTY_CELLS, new EmptyCellsMeta());
- _map.put(ICSSPropertyID.ATTR_VISIBILITY, new VisibilityMeta());
- _map.put(ICSSPropertyID.ATTR_VERTICAL_ALIGN, new VerticalAlignMeta());
-
- _map.put(ICSSPropertyID.ATTR_OVERFLOW, new OverflowMeta());
- }
-
- /**
- * @param property
- * @return the meta
- */
- public ICSSPropertyMeta getMeta(String property) {
- return (ICSSPropertyMeta) _map.get(property);
- }
-
- /**
- * @return the singleton instance
- */
- public static final CSSMetaRegistry getInstance() {
- if (_instance == null) {
- _instance = new CSSMetaRegistry();
- }
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSPropertyMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSPropertyMeta.java
deleted file mode 100644
index ad426a427..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CSSPropertyMeta.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public abstract class CSSPropertyMeta implements ICSSPropertyMeta {
- static final String[] EMPTY_KEYWORDS = new String[0];
-
- boolean _inherited;
-
- Object _initialValue;
-
- /**
- * @param inherit
- * @param initvalue
- */
- public CSSPropertyMeta(boolean inherit, Object initvalue) {
- this._inherited = inherit;
- this._initialValue = initvalue;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#isInherited()
- */
- public boolean isInherited() {
- return _inherited;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#getHTMLElementInitialValue(org.w3c.dom.Element,
- * java.lang.String, java.lang.String)
- */
- public Object getHTMLElementInitialValue(Element element, String htmltag,
- String propertyName) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#getInitialValue()
- */
- public Object getInitialValue(String propertyName, ICSSStyle style) {
- return _initialValue;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#getPercentageType()
- */
- public int getPercentageType() {
- return PERCENTAGE_NONE;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- // child class should override this method!!!
- return null;
- }
-
- /**
- * for many properties, they have a set of keyword property values.
- *
- * @return the keyword values
- */
- protected abstract String[] getKeywordValues();
-
- /**
- * @param value
- * @return null if is not a keyword.
- */
- protected String checkKeywordValues(String value) {
- if (value == null)
- return null;
- String[] keywords = getKeywordValues();
- if (keywords != null) {
- for (int i = 0; i < keywords.length; i++) {
- if (keywords[i].equalsIgnoreCase(value)) {
- return keywords[i];
- }
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String s = checkKeywordValues(value.getCssText());
- if (s != null) {
- return s;
- }
- return this.getInitialValue(propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ColorPropertyMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ColorPropertyMeta.java
deleted file mode 100644
index 856228858..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ColorPropertyMeta.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.Arrays;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.color.CSSColorManager;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * "color" will be in this type
- *
- * @author mengbo
- */
-public class ColorPropertyMeta extends CSSPropertyMeta {
- private static final Object DEFAULT_COLOR = ColorConstants.black;
-
- private static final String[] KEYWORDS = new String[] {};
-
- private final static String[] NOTSUPPORT_TAG = { IHTMLConstants.TAG_H1,
- IHTMLConstants.TAG_H2, IHTMLConstants.TAG_H3,
- IHTMLConstants.TAG_H4, IHTMLConstants.TAG_H5, IHTMLConstants.TAG_H6 };
-
- /**
- */
- public ColorPropertyMeta() {
- super(true, DEFAULT_COLOR);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
-
- String text = value.getCssText();
- Object result = CSSColorManager.getInstance().getColor(text);
- if (result != null) {
- return result;
- }
- return this.getInitialValue(propertyName, style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (Arrays.asList(NOTSUPPORT_TAG).contains(htmltag.toLowerCase())) {
- return null;
- }
- Object result;
- String colorAttr = null;
- // There are some conditions need to be dealt with hyperlink and text
- // properties.
- if (ICSSPropertyID.ATTR_COLOR.equalsIgnoreCase(propertyName)) {
- colorAttr = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_COLOR);
- if (colorAttr == null
- && element.getLocalName().equalsIgnoreCase(
- IHTMLConstants.TAG_BODY)) {
- colorAttr = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_TEXT);
- }
- }
- if (colorAttr != null) {
- colorAttr = colorAttr.trim();
- result = CSSColorManager.getInstance().getColor(colorAttr);
- return result;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ContentMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ContentMeta.java
deleted file mode 100644
index 0b190e9c3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ContentMeta.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public class ContentMeta extends CSSPropertyMeta {
- /**
- */
- public ContentMeta() {
- // why inherit this??
- super(false, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterIncrementMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterIncrementMeta.java
deleted file mode 100644
index 660c822ac..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterIncrementMeta.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.list.CounterHelper;
-import org.eclipse.jst.pagedesigner.css2.list.IncrementObject;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * For CounterIncrementMeta, the valid value could be the following: 1. NULL 2.
- * NOT_SPECIFIED 3. a List of IncrementObject.
- *
- * @author mengbo
- */
-public class CounterIncrementMeta extends CSSPropertyMeta {
- /**
- *
- */
- public CounterIncrementMeta() {
- super(false, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- return getCounter(value);
- }
-
- /**
- * @param value
- * @return the counter
- */
- public List getCounter(CSSValue value) {
- if (value == null) {
- return null;
- }
- List result = new ArrayList();
- IncrementObject incrementObject = null;
- String identifier = null;
- Integer increment = null;
- ICSSNode cssValue = (ICSSNode) value;
- while (cssValue != null) {
- // find next idetifier.
- while (cssValue != null && !CounterHelper.isIdentifier(cssValue)) {
- cssValue = cssValue.getNextSibling();
- }
- if (cssValue == null) {
- return null;
- }
- // identifier:
- identifier = ((ICSSPrimitiveValue) value).getStringValue();
- cssValue = cssValue.getNextSibling();
- // value:
- if (CounterHelper.isNumber(cssValue)) {
- increment = new Integer((int) ((ICSSPrimitiveValue) value)
- .getFloatValue(ICSSPrimitiveValue.CSS_INTEGER));
- }
-
- if (identifier != null) {
- incrementObject = new IncrementObject(identifier, increment);
- result.add(incrementObject);
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterResetMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterResetMeta.java
deleted file mode 100644
index ac5124950..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/CounterResetMeta.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.list.CounterHelper;
-import org.eclipse.jst.pagedesigner.css2.list.ResetObject;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class CounterResetMeta extends CSSPropertyMeta {
- /**
- *
- */
- public CounterResetMeta() {
- super(false, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- return getCounter(value);
- }
-
- /**
- * @param value
- * @return the counter
- */
- public List getCounter(CSSValue value) {
- if (value == null) {
- return null;
- }
- List result = new ArrayList();
- ResetObject resetObject = null;
- String identifier = null;
- Integer initial = null;
- ICSSNode cssValue = (ICSSNode) value;
- while (cssValue != null) {
- // find next idetifier.
- while (cssValue != null && !CounterHelper.isIdentifier(cssValue)) {
- cssValue = cssValue.getNextSibling();
- }
- if (cssValue == null) {
- return null;
- }
- // identifier:
- identifier = ((ICSSPrimitiveValue) value).getStringValue();
- cssValue = cssValue.getNextSibling();
- // value:
- if (CounterHelper.isNumber(cssValue)) {
- initial = new Integer((int) ((ICSSPrimitiveValue) value)
- .getFloatValue(ICSSPrimitiveValue.CSS_INTEGER));
- }
-
- if (identifier != null) {
- resetObject = new ResetObject(identifier, initial);
- result.add(resetObject);
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/DisplayMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/DisplayMeta.java
deleted file mode 100644
index 899712979..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/DisplayMeta.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class DisplayMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_INLINE,
- ICSSPropertyID.VAL_BLOCK, ICSSPropertyID.VAL_INLINE_BLOCK,
- ICSSPropertyID.VAL_LIST_ITEM, ICSSPropertyID.VAL_RUN_IN,
- ICSSPropertyID.VAL_COMPACT, ICSSPropertyID.VAL_MARKER,
- ICSSPropertyID.VAL_TABLE, ICSSPropertyID.VAL_INLINE_TABLE,
- ICSSPropertyID.VAL_TABLE_ROW_GROUP,
- ICSSPropertyID.VAL_TABLE_HEADER_GROUP,
- ICSSPropertyID.VAL_TABLE_FOOTER_GROUP,
- ICSSPropertyID.VAL_TABLE_ROW,
- ICSSPropertyID.VAL_TABLE_COLUMN_GROUP,
- ICSSPropertyID.VAL_TABLE_COLUMN, ICSSPropertyID.VAL_TABLE_CELL,
- ICSSPropertyID.VAL_TABLE_CAPTION, ICSSPropertyID.VAL_NONE };
-
- /**
- */
- public DisplayMeta() {
- super(false, ICSSPropertyID.VAL_INLINE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String text = value.getCssText();
- if (text == null)
- return ICSSPropertyID.VAL_INLINE;
- String key = this.checkKeywordValues(text);
- if (key != null)
- return key;
- return ICSSPropertyID.VAL_INLINE;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/EmptyCellsMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/EmptyCellsMeta.java
deleted file mode 100644
index f56c78ffb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/EmptyCellsMeta.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class EmptyCellsMeta extends CSSPropertyMeta {
- private static final String SHOW = "show"; //$NON-NLS-1$
-
- static final String HIDE = "hide"; //$NON-NLS-1$
-
- private static final String[] _keywords = new String[] { SHOW, HIDE };
-
- /**
- */
- public EmptyCellsMeta() {
- // FIXME: on CSS spec, initial value should be "show".
- // but seemed IE's default is hide.
- super(true, HIDE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return _keywords;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FloatInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FloatInfo.java
deleted file mode 100644
index 92daafbf7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FloatInfo.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSPrimitiveValue;
-import org.w3c.dom.css.CSSPrimitiveValue;
-
-/**
- * copied from wtp's internal code.
- *
- * @author mengbo
- */
-public final class FloatInfo {
- /**
- * @param text
- */
- public FloatInfo(String text) {
- parse(text);
- }
-
- /**
- *
- */
- void parse(String text) {
- StringBuffer bufValue = new StringBuffer();
- StringBuffer bufIdent = new StringBuffer();
- boolean bNum = true;
- int len = text.length();
- for (int i = 0; i < len; i++) {
- char c = text.charAt(i);
- if (bNum) {
- if ('0' <= c && c <= '9' || c == '.' || c == '+' || c == '-') {
- bufValue.append(c);
- } else {
- bufIdent.append(c);
- bNum = false;
- }
- } else {
- bufIdent.append(c);
- }
- }
- String valueStr = bufValue.toString();
- _value = Float.valueOf(valueStr).floatValue();
- _identifier = bufIdent.toString();
- _type = getFloatValueType(valueStr, _identifier);
- }
-
- /**
- * @return the value
- *
- */
- public float getValue() {
- return _value;
- }
-
- /**
- *
- */
- String getIdentifier() {
- return _identifier;
- }
-
- /**
- * @return the value type
- */
- public short getValueType() {
- return _type;
- }
-
- /**
- *
- */
- static short getFloatValueType(String value, String ident) {
- ident = ident.toLowerCase();
- short valueType;
- if (ident.length() == 0) {
- if (0 <= value.indexOf('.')) {
- valueType = CSSPrimitiveValue.CSS_NUMBER;
- } else {
- valueType = ICSSPrimitiveValue.CSS_INTEGER;
- }
- } else if (ident.equals("%")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_PERCENTAGE;
- } else if (ident.equalsIgnoreCase("em")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_EMS;
- } else if (ident.equalsIgnoreCase("ex")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_EXS;
- } else if (ident.equalsIgnoreCase("px")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_PX;
- } else if (ident.equalsIgnoreCase("cm")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_CM;
- } else if (ident.equalsIgnoreCase("mm")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_MM;
- } else if (ident.equalsIgnoreCase("in")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_IN;
- } else if (ident.equalsIgnoreCase("pt")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_PT;
- } else if (ident.equalsIgnoreCase("pc")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_PC;
- } else if (ident.equalsIgnoreCase("deg")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_DEG;
- } else if (ident.equalsIgnoreCase("rad")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_RAD;
- } else if (ident.equalsIgnoreCase("grad")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_GRAD;
- } else if (ident.equalsIgnoreCase("ms")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_MS;
- } else if (ident.equalsIgnoreCase("s")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_S;
- } else if (ident.equalsIgnoreCase("hz")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_HZ;
- } else if (ident.equalsIgnoreCase("khz")) { //$NON-NLS-1$
- //$NON-NLS-1$
- valueType = CSSPrimitiveValue.CSS_KHZ;
- } else {
- valueType = CSSPrimitiveValue.CSS_DIMENSION;
- }
- return valueType;
- }
-
- private float _value = 0.0f;
-
- private String _identifier = null;
-
- private short _type = CSSPrimitiveValue.CSS_UNKNOWN;
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontFamilyMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontFamilyMeta.java
deleted file mode 100644
index 0589c416b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontFamilyMeta.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-import org.w3c.dom.css.CSSValueList;
-
-/**
- * @author mengbo
- */
-public class FontFamilyMeta extends CSSPropertyMeta {
- /**
- * the default font name
- */
- public static final String DEFAULT_FONT = "Times New Roman"; //$NON-NLS-1$
-
- private static FontData[] _FontData;
-
- private static FontData[] getFontData() {
- if (_FontData == null) {
- ArrayList list = new ArrayList();
- list.addAll(Arrays.asList(Display.getCurrent().getFontList(null,
- false)));
- list.addAll(Arrays.asList(Display.getCurrent().getFontList(null,
- true)));
- _FontData = (FontData[]) list.toArray(new FontData[list.size()]);
- }
- return _FontData;
- }
-
- /**
- */
- public FontFamilyMeta() {
- super(true, DEFAULT_FONT);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- if (value.getCssValueType() == CSSValue.CSS_VALUE_LIST) {
- CSSValueList valueList = (CSSValueList) value;
- for (int i = 0, count = valueList.getLength(); i < count; i++) {
- String name = valueList.item(i).getCssText();
- name = trimPadding(name);
- if (isSupportedFont(name)) {
- return name;
- }
- }
- }
- return trimPadding(value.getCssText());
- }
-
- private String trimPadding(String name) {
- String value = name;
- if (value != null) {
- value = value.replaceAll("\"", ""); //$NON-NLS-1$ //$NON-NLS-2$
- value = value.replaceAll("'", ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return value;
- }
-
- private boolean isSupportedFont(String name) {
- FontData[] fontData = getFontData();
- for (int i = 0; i < fontData.length; i++) {
- if (fontData[i].getName().equalsIgnoreCase(name)) {
- return true;
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if ("FONT".equalsIgnoreCase(htmltag) //$NON-NLS-1$
- || "BASEFONT".equalsIgnoreCase(htmltag)) { //$NON-NLS-1$
- String face = DOMUtil.getAttributeIgnoreCase(element, "face"); //$NON-NLS-1$
- if (face != null) {
- String[] names = getFontNameList(face);
- for (int i = 0; i < names.length; i++) {
- if (isSupportedFont(names[i])) {
- return names[i];
- }
- }
- } else {
- return null;
- }
- }
- return null;
- }
-
- private String[] getFontNameList(String face) {
- StringTokenizer tokenizer = new StringTokenizer(face, ","); //$NON-NLS-1$
- String[] names = new String[tokenizer.countTokens()];
- for (int i = 0; i < names.length; i++) {
- names[i] = trimPadding(tokenizer.nextToken());
- }
- return names;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontSizeMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontSizeMeta.java
deleted file mode 100644
index 498e52a00..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontSizeMeta.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * The result value should be Length object only.
- *
- * @author mengbo
- */
-// XXX: in the future, we may add "unit" into Length, the one unit will be
-// "MEDIUM"
-// and specific for font. Means the relative size to MEDIUM. Then it is possible
-// for
-// the caller to decide the actual font size based on the style specific MEDIUM
-// size.
-public class FontSizeMeta extends LengthMeta {
- private static final String[] KEYWORDS = { ICSSPropertyID.VAL_XX_SMALL,
- ICSSPropertyID.VAL_X_SMALL, ICSSPropertyID.VAL_SMALL,
- ICSSPropertyID.VAL_MEDIUM, ICSSPropertyID.VAL_LARGE,
- ICSSPropertyID.VAL_X_LARGE, ICSSPropertyID.VAL_XX_LARGE,
- ICSSPropertyID.VAL_LARGER, ICSSPropertyID.VAL_SMALLER };
-
- /**
- * font size
- */
- public static final double MEDIUM_VAL_INT = 16;
-
- private static final double SCALING_FACTOR = 1.2;
-
- private static final double FACTORS[] = { 0.6, 0.89, 1, 1.2, 1.5, 2.0, 3.0 };
-
- // The scaling factors in IE is different from CSS definition. Here we
- // follow IE.
- private static final double CSS_ABSOLUTE_FACTORS[] = { 0.63, 0.82, 1, 1.12,
- 1.5, 2.0, 3.0 };
-
- private static final int MIN_SIZE_FOR_SMALLER = 1;
-
- private static final int MIN_SIZE_FOR_LARGER = 9;
-
- /**
- * Default constructor
- */
- public FontSizeMeta() {
- super(true, new Length((int) MEDIUM_VAL_INT, false));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.LengthMeta#getBaseFont(org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- protected ICSSFont getBaseFont(ICSSStyle style) {
- return style.getParentStyle().getCSSFont();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getPercentageType()
- */
- public int getPercentageType() {
- return PERCENTAGE_FONT;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.LengthMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- Object obj = super.calculateCSSValueResult(value, propertyName, style);
- if (obj instanceof Length) {
- return obj;
- }
- // otherwise, it is keyword.
- return convertKeyword(obj, style);
- }
-
- /**
- * @param fontsizeobj
- * @param style
- * @return the length
- */
- protected Length convertKeyword(Object fontsizeobj, ICSSStyle style) {
- int fontsize;
- int parentfontsize = style.getParentStyle().getCSSFont().getFontSize();
- if (fontsizeobj instanceof Length) {
- fontsize = ((Length) fontsizeobj).getValue();
- } else if (ICSSPropertyID.VAL_XX_SMALL.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[0]);
- } else if (ICSSPropertyID.VAL_X_SMALL.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[1]);
- } else if (ICSSPropertyID.VAL_SMALL.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[2]);
- } else if (ICSSPropertyID.VAL_MEDIUM.equals(fontsizeobj)) {
- fontsize = (int) Math.round(MEDIUM_VAL_INT
- * CSS_ABSOLUTE_FACTORS[3]);
- } else if (ICSSPropertyID.VAL_LARGE.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[4]);
- } else if (ICSSPropertyID.VAL_X_LARGE.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[5]);
- } else if (ICSSPropertyID.VAL_XX_LARGE.equals(fontsizeobj)) {
- fontsize = (int) (MEDIUM_VAL_INT * CSS_ABSOLUTE_FACTORS[6]);
- } else if (ICSSPropertyID.VAL_SMALLER.equals(fontsizeobj)) {
- fontsize = (int) (parentfontsize / SCALING_FACTOR);
- if (fontsize < MIN_SIZE_FOR_SMALLER) {
- fontsize = MIN_SIZE_FOR_SMALLER;
- }
- } else if (ICSSPropertyID.VAL_LARGER.equals(fontsizeobj)) {
- fontsize = (int) (parentfontsize * SCALING_FACTOR);
- if (fontsize < MIN_SIZE_FOR_LARGER) {
- fontsize = MIN_SIZE_FOR_LARGER;
- }
- } else {
- fontsize = parentfontsize;
- }
-
- return new Length(fontsize, false);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (IHTMLConstants.TAG_FONT.equalsIgnoreCase(htmltag)
- || ICSSPropertyID.ATTR_BASEFONT.equalsIgnoreCase(htmltag)) {
- String size = DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_SIZE);
- if (size != null) {
- size = size.trim();
- try {
- int fontSize = 0;
- if (size.startsWith("+")) //$NON-NLS-1$
- {
- fontSize = Integer.parseInt(size.substring(1)) + 3;
- } else if (size.startsWith("-")) //$NON-NLS-1$
- {
- fontSize = 3 - Integer.parseInt(size.substring(1));
- } else {
- fontSize = Integer.parseInt(size);
- }
- if (fontSize < 1) {
- fontSize = 1;
- }
- if (fontSize > 7) {
- fontSize = 7;
- }
- return new Length((int) (Math.round(FACTORS[fontSize - 1]
- * MEDIUM_VAL_INT)), false);
- } catch (Exception ex) {
- // Error in tag font attr calculating.
- // _log.error("Error.FontSizeMeta.0", ex); //$NON-NLS-1$
- return null;
- }
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontStyleMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontStyleMeta.java
deleted file mode 100644
index 7d46ab28d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontStyleMeta.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public class FontStyleMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_NORMAL,
- ICSSPropertyID.VAL_ITALIC, ICSSPropertyID.VAL_OBLIQUE };
-
- /**
- * Default constructor
- */
- public FontStyleMeta() {
- super(true, ICSSPropertyID.VAL_NORMAL);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontWeightMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontWeightMeta.java
deleted file mode 100644
index 3b333e993..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/FontWeightMeta.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * The result value will always be integer, range 100-900 This class has already
- * translate things like "normal", "bold", "bolder", "lighter" into integer
- * value.
- *
- * @author mengbo
- */
-public class FontWeightMeta extends CSSPropertyMeta {
-
- /**
- * normal weight value
- */
- public static final Integer NORMAL_WEIGHT = new Integer(400);
-
- private static final Integer BOLD_WEIGHT = new Integer(700);
-
- private static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_NORMAL,
- ICSSPropertyID.VAL_BOLD, ICSSPropertyID.VAL_BOLDER,
- ICSSPropertyID.VAL_LIGHTER };
-
-
- /**
- * Default constructor
- */
- public FontWeightMeta() {
- super(true, NORMAL_WEIGHT);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String text = value.getCssText();
- String result = checkKeywordValues(text);
- if (result == null) {
- try {
- int i = Integer.parseInt(text);
- if (i < 100) {
- i = 100;
- }
- if (i > 900) {
- i = 900;
- }
- return new Integer(i);
- } catch (Exception ex) {
- // Error in integer processing
- return NORMAL_WEIGHT;
- }
- } else if (ICSSPropertyID.VAL_NORMAL.equals(result)) {
- return NORMAL_WEIGHT;
- } else if (ICSSPropertyID.VAL_BOLD.equals(result)) {
- return BOLD_WEIGHT;
- } else if (ICSSPropertyID.VAL_BOLDER.equals(result)) {
- // int i = style.getParentStyle().getCSSFont().getWeight() + 100;
- // if (i < 100)
- // i = 100;
- // if (i > 900)
- // i = 900;
- // return new Integer(i);
- return BOLD_WEIGHT;
- } else if (ICSSPropertyID.VAL_LIGHTER.equals(result)) {
- int i = style.getParentStyle().getCSSFont().getWeight() - 100;
- if (i < 100) {
- i = 100;
- }
- if (i > 900) {
- i = 900;
- }
- return new Integer(i);
- }
- return NORMAL_WEIGHT;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HeightMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HeightMeta.java
deleted file mode 100644
index fcc652714..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HeightMeta.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class HeightMeta extends LengthMeta {
- /**
- * Default constructor
- */
- public HeightMeta() {
- super(false, ICSSPropertyID.VAL_AUTO);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (!"input".equalsIgnoreCase(htmltag)) //$NON-NLS-1$
- {
- String attributeName = ICSSPropertyID.ATTR_HEIGHT;
- if ("hr".equalsIgnoreCase(htmltag)) { //$NON-NLS-1$
- attributeName = ICSSPropertyID.ATTR_SIZE;
- }
-
- String height = DOMUtil.getAttributeIgnoreCase(element,
- attributeName);
- if (height != null) {
- return LengthMeta.toLength(height, style, this
- .getPercentageType(), getBaseFont(style));
- }
- }
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HorizontalAlignMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HorizontalAlignMeta.java
deleted file mode 100644
index 6dd075c75..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/HorizontalAlignMeta.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.Arrays;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class HorizontalAlignMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_LEFT,
- "bottom", "top", //$NON-NLS-1$ //$NON-NLS-2$
- ICSSPropertyID.VAL_RIGHT, ICSSPropertyID.VAL_CENTER,
- ICSSPropertyID.VAL_JUSTIFY };
-
- private static final String[] HOR_SLIGN_HTMLTAGS = new String[] {
- "TABLE", "HR", "LEGEND", "APPLET", "IFRAME", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "IMG", "INPUT", "OBJECT", "CAPTION" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- };
-
- /**
- * default constructor
- */
- public HorizontalAlignMeta() {
- super(true, NOT_SPECIFIED);
- }
-
- /**
- * @param inherit
- * @param initvalue
- */
- public HorizontalAlignMeta(boolean inherit, Object initvalue) {
- super(inherit, initvalue);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
-
- if (Arrays.asList(HOR_SLIGN_HTMLTAGS).contains(htmltag.toUpperCase())) {
- String align = DOMUtil.getAttributeIgnoreCase(element, "align"); //$NON-NLS-1$
- return checkKeywordValues(align);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#getHTMLElementInitialValue(org.w3c.dom.Element,
- * java.lang.String, java.lang.String)
- */
- public Object getHTMLElementInitialValue(Element element, String htmltag,
- String propertyName) {
- if ("HR".equalsIgnoreCase(htmltag.toUpperCase())) //$NON-NLS-1$
- {
- return ICSSPropertyID.VAL_CENTER;
- } else if (Arrays.asList(HOR_SLIGN_HTMLTAGS).contains(
- htmltag.toUpperCase())) {
- return ICSSPropertyID.VAL_LEFT;
- }
-
- return super.getHTMLElementInitialValue(element, htmltag, propertyName);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyID.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyID.java
deleted file mode 100644
index 4930fabf1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyID.java
+++ /dev/null
@@ -1,927 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public interface ICSSPropertyID {
- /**
- * display attribute name
- */
- public static final String ATTR_DISPLAY = "display"; //$NON-NLS-1$
-
- /**
- * whitespace attribute name
- */
- public static final String ATTR_WHITESPACE = "white-space"; //$NON-NLS-1$
-
- /**
- * text decoration attribute name
- */
- public static final String ATTR_TEXTDECORATION = "text-decoration"; //$NON-NLS-1$
-
- /**
- * text align attribute name
- */
- public static final String ATTR_TEXTALIGN = "text-align"; //$NON-NLS-1$
-
- /**
- * width attribute name
- */
- public static final String ATTR_WIDTH = "width"; //$NON-NLS-1$
-
- /**
- * min-width attribute name
- */
- public static final String ATTR_MIN_WIDTH = "min-width"; //$NON-NLS-1$
-
- /**
- * height attribute name
- */
- public static final String ATTR_HEIGHT = "height"; //$NON-NLS-1$
-
- /**
- * min height attribute name
- */
- public static final String ATTR_MIN_HEIGHT = "min-height"; //$NON-NLS-1$
-
- /**
- * border-left-width attribute name
- */
- public static final String ATTR_BORDER_LEFT_WIDTH = "border-left-width"; //$NON-NLS-1$
-
- /**
- * border-right-width attribute name
- */
- public static final String ATTR_BORDER_RIGHT_WIDTH = "border-right-width"; //$NON-NLS-1$
-
- /**
- * border bottom width
- */
- public static final String ATTR_BORDER_BOTTOM_WIDTH = "border-bottom-width"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_TOP_WIDTH = "border-top-width"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_FONT_FAMILY = "font-family"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_FONT_SIZE = "font-size"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_FONT_STYLE = "font-style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_FONT_WEIGHT = "font-weight"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_LEFT_STYLE = "border-left-style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_RIGHT_STYLE = "border-right-style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_BOTTOM_STYLE = "border-bottom-style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_TOP_STYLE = "border-top-style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_LEFT_COLOR = "border-left-color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_RIGHT_COLOR = "border-right-color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_BOTTOM_COLOR = "border-bottom-color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_TOP_COLOR = "border-top-color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PADDING_RIGHT = "padding-right"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PADDING_BOTTOM = "padding-bottom"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PADDING_LEFT = "padding-left"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PADDING_TOP = "padding-top"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_MARGIN_RIGHT = "margin-right"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_MARGIN_BOTTOM = "margin-bottom"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_MARGIN_LEFT = "margin-left"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_MARGIN_TOP = "margin-top"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BACKGROUND_COLOR = "background-color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BACKGROUND_IMAGE = "background-image"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COLOR = "color"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TEXTCOLOR = "text"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_COLLAPSE = "border-collapse"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BORDER_SPACING = "border-spacing"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_LIST_STYLE_TYPE = "list-style-type"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_LIST_STYLE_POSITION = "list-style-position"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_LIST_STYLE_IMAGE = "list-style-image"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COUNTER_RESET = "counter-reset"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COUNTER_INCREMENT = "counter-increment"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_EMPTY_CELLS = "empty-cells"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_VISIBILITY = "visibility"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_VERTICAL_ALIGN = "vertical-align"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_HORIZONTAL_ALIGN = "horizontal-align"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_CONTENT = "content"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BGCOLOR = "bgcolor"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TEXT = "text"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public final static String ATTR_MULTIPLE = "multiple"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public final static String ATTR_ITEMLABEL = "itemLabel"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public final static String ATTR_BINDING = "binding"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public final static String ATTR_ITEMVALUE = "itemValue"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public final static String ATTR_VALUE = "value"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_URI = "uri"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PREFIX = "prefix"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_STYLECLASS = "styleClass"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_SIZE = "size"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BASEFONT = "basefont"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_ROWSPAN = "rowSpan"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COLSPAN = "colSpan"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TYPE = "type"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_URL = "url"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_SRC = "src"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TAGLIB_LOCATION = "taglib-location"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TAGLIB_URI = "taglib-uri"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_IMAGE = "image"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_RESET = "reset"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_FOOTER = "footer"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_HEADER = "header"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COLUMNS = "columns"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_COLUMNCLASSES = "columnClasses"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_STYLE = "style"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_PAGE = "page"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_HREF = "href"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_NAME = "name"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BASENAME = "basename"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_ACTION = "action"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TARGET = "target"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_TOP = "top"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_BOTTOM = "bottom"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_LEFT = "left"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_RIGHT = "right"; //$NON-NLS-1$
-
- /**
- * css style attribute
- */
- public static final String ATTR_POSITION = "position"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TRANSPARENT = "transparent"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_COLLAPSE = "collapse"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SEPARATE = "separate"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String ATTR_OVERFLOW = "overflow"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- // border style values
- public static final String VAL_HIDDEN = "hidden"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_DOTTED = "dotted"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_DASHED = "dashed"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SOLID = "solid"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_DOUBLE = "double"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_GROOVE = "groove"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_RIDGE = "ridge"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_INSET = "inset"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_OUTSET = "outset"; //$NON-NLS-1$
-
- // XXX: we introduce a new style for TD default border style, since it
- // seemed IE
- // is using none of the above style for td.
- /**
- * css style value
- */
- public static final String VAL_TDBORDERSTYLE = "__td_border_style__"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_THIN = "thin"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_THICK = "thick"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_INLINE = "inline"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_BLOCK = "block"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_INLINE_BLOCK = "inline-block"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LIST_ITEM = "list-item"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_RUN_IN = "run-in"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_COMPACT = "compact"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_MARKER = "marker"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE = "table"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_INLINE_TABLE = "inline-table"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_ROW_GROUP = "table-row-group"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_HEADER_GROUP = "table-header-group"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_FOOTER_GROUP = "table-footer-group"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_ROW = "table-row"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_COLUMN_GROUP = "table-column-group"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_COLUMN = "table-column"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_CELL = "table-cell"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TABLE_CAPTION = "table-caption"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_NONE = "none"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_XX_SMALL = "xx-small"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_X_SMALL = "x-small"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SMALL = "small"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_MEDIUM = "medium"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LARGE = "large"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_X_LARGE = "x-large"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_XX_LARGE = "xx-large"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LARGER = "larger"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SMALLER = "smaller"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_ITALIC = "italic"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_OBLIQUE = "oblique"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_NORMAL = "normal"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_BOLD = "bold"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_BOLDER = "bolder"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LIGHTER = "lighter"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_AUTO = "auto"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_OUTSIDE = "outside"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_INSIDE = "inside"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LEFT = "left"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_RIGHT = "right"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_CENTER = "center"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_JUSTIFY = "justify"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_UNDERLINE = "underline"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_OVERLINE = "overline"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_LINETHROUGH = "line-through"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_BLINK = "blink"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_PRE = "pre"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_NOWRAP = "nowrap"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_DISC = "disc"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_CIRCLE = "circle"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_DECIMAL = "decimal"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_CJK_IDEOGRAPHIC = "cjk-ideographic"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_DECIMAL_LEADING_ZERO = "decimal-leading-zero"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_ARMENIAN = "armenian"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_LOWER_ALPHA = "lower-alpha"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_LOWER_GREEK = "lower-greek"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_LOWER_LATIN = "lower-latin"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_LOWER_ROMAN = "lower-roman"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_UPPER_ALPHA = "upper-alpha"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_UPPER_LATIN = "upper-latin"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_UPPER_ROMAN = "upper-roman"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_HIRAGANA = "hiragana"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_HIRAGANA_IROHA = "hiragana-iroha"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_HEBREW = "hebrew"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_GEORGIAN = "georgian"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_KATAKANA = "katakana"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_KATAKANA_IROHA = "katakana-iroha"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_SQUARE = "square"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public final static String VAL_IMAGE = "image"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_MULTIPLE = "multiple"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_BUTTON = "button"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_CHECKBOX = "checkbox"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_RADIO = "radio"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_FILE = "file"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_RESET = "reset"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SUBMIT = "submit"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_PASSWORD = "password"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_TEXT = "text"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_VISIBLE = "visible"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String VAL_SCROLL = "scroll"; //$NON-NLS-1$
-
- /**
- * css style value
- */
- public static final String TAG_TAGLIB = "taglib"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyMeta.java
deleted file mode 100644
index 1ce1d125e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ICSSPropertyMeta.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public interface ICSSPropertyMeta {
- /**
- *
- */
- static final int PERCENTAGE_NONE = 0;
-
- /**
- *
- */
- static final int PERCENTAGE_BOXSIZE = 1;
-
- /**
- *
- */
- static final int PERCENTAGE_HEIGHT_CONTAININGBLOCK = 2;
-
- /**
- *
- */
- static final int PERCENTAGE_FONT = 3;
-
- /**
- *
- */
- static final int PERCENTAGE_WIDTH_CONTAININGBLOCK = 4;
-
- /**
- *
- */
- static final Object NOT_SPECIFIED = "NOT_SPECIFIED"; //$NON-NLS-1$
-
- /**
- * whether default inherit.
- *
- * @return true if is inherited
- */
- public boolean isInherited();
-
- /**
- * @param propertyName
- * @param style
- *
- * @return the initial value object
- */
- public Object getInitialValue(String propertyName, ICSSStyle style);
-
- /**
- * @param element
- * @param htmltag
- * @param propertyName
- * @return the initial value object
- */
- public Object getHTMLElementInitialValue(Element element, String htmltag,
- String propertyName);
-
- /**
- * what's percentage value based on.
- *
- * @return the percentage value
- */
- public int getPercentageType();
-
- /**
- * for many CSS property, there is corresponding HTML attribute can also
- * specify value for them. This method should check whether the element has
- * corresponding HTML attribute provide value.
- *
- * @param element
- * the element
- * @param htmltag
- * the html tag name. This is for in case element is jsp/jsf
- * element, and have non html tag name.
- * @param propertyName
- * the property name.
- * @param style
- * the style
- * @return null if no attribute override.
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style);
-
- /**
- * @param value
- * @param propertyName
- * @param style
- * @return the value result
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/LengthMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/LengthMeta.java
deleted file mode 100644
index ec9f9e522..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/LengthMeta.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.css.CSSPrimitiveValue;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class LengthMeta extends CSSPropertyMeta {
- private static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_AUTO };
-
- /**
- * @param inherit
- * @param initvalue
- */
- public LengthMeta(boolean inherit, Object initvalue) {
- super(inherit, initvalue);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- if (value == null || value.getCssValueType() == CSSValue.CSS_VALUE_LIST
- || value.getCssValueType() == CSSValue.CSS_CUSTOM) {
- return ICSSPropertyID.VAL_AUTO;
- }
- if (value.getCssValueType() == CSSValue.CSS_INHERIT) {
- return ICSSPropertyID.VAL_AUTO;
- }
- CSSPrimitiveValue primitive = (CSSPrimitiveValue) value;
- String key = checkKeywordValues(primitive.getCssText());
- if (key != null) {
- return key;
- }
- short unitType = primitive.getPrimitiveType();
- float fvalue;
- try {
- fvalue = primitive.getFloatValue(unitType);
- } catch (DOMException ex) {
-// Hide this info. Consider adding DEBUG option
-// _log.info("Get length failed, use auto value instead ("
-// + value.getCssText() + ")");
- return ICSSPropertyID.VAL_AUTO;
- }
- return toLength(fvalue, unitType, style, this.getPercentageType(),
- getBaseFont(style));
- }
-
- /**
- * @param lengthStr
- * @param style
- * @param percenttype
- * @param font
- * @return the object
- */
- public static Object toLength(String lengthStr, ICSSStyle style,
- int percenttype, ICSSFont font) {
- try {
- FloatInfo floatinfo = new FloatInfo(lengthStr);
- return toLength(floatinfo.getValue(), floatinfo.getValueType(),
- style, percenttype, font);
- } catch (Exception e) {
- return ICSSPropertyID.VAL_AUTO;
- }
- }
-
- /**
- * Will not calculate percentage value. Used for calculate the "width" and
- * "height" css property
- * @param result
- * @param unitType
- * @param style
- * @param percenttype
- * @param font
- * @return an object?
- */
- public static Object toLength(float result, short unitType,
- ICSSStyle style, int percenttype, ICSSFont font) {
- switch (unitType) {
- case CSSPrimitiveValue.CSS_PERCENTAGE:
- if (percenttype == PERCENTAGE_FONT) {
- result = (int) ((result * font.getFontSize()) / 100.0);
- break;
- }
- return new Length((int) result, true);
- case CSSPrimitiveValue.CSS_PX: // no more calculation needed
- case CSSPrimitiveValue.CSS_NUMBER:
- break;
- case CSSPrimitiveValue.CSS_EMS:
- result *= font.getFontSize();
- break;
- case CSSPrimitiveValue.CSS_EXS:
- result *= font.getXHeight();
- break;
- case CSSPrimitiveValue.CSS_CM:
- result = cmToPixel(result);
- break;
- case CSSPrimitiveValue.CSS_IN:
- result = inToPixel(result);
- break;
- case CSSPrimitiveValue.CSS_MM:
- result = mmToPixel(result);
- break;
- case CSSPrimitiveValue.CSS_PT:
- result = ptToPixel(result);
- break;
- case CSSPrimitiveValue.CSS_PC:
- result = pcToPixel(result);
- break;
- case CSSPrimitiveValue.CSS_STRING:
- return ICSSPropertyID.VAL_AUTO;
- // FIXME:every thing is delt with?
- }
- // ok, when reach here, means we get the float value "result"
- return new Length((int) result, false);
- }
-
- /**
- * child class can override this method. e.g: font-size style's base font is
- * parent style's font.
- *
- * @param style
- * @return the base font
- */
- protected ICSSFont getBaseFont(ICSSStyle style) {
- return style.getCSSFont();
- }
-
- private static float pcToPixel(float value) {
- return ptToPixel(12 * value);
- }
-
- /**
- * @param floatValue
- * @return
- */
- private static float ptToPixel(float floatValue) {
- // the points used by CSS 2.1 are equal to 1/72th of an inch.
- return inToPixel(floatValue / 72);
- }
-
- /**
- * @param floatValue
- * @return
- */
- private static float mmToPixel(float floatValue) {
- return cmToPixel(floatValue / 10);
- }
-
- /**
- * @param floatValue
- * @return
- */
- private static float inToPixel(float floatValue) {
- return getDPI() * floatValue;
- }
-
- /**
- * @param floatValue
- * @return
- */
- private static float cmToPixel(float floatValue) {
- // 1 inch is equal to 2.54 centimeters
- return inToPixel((float) (floatValue / 2.54));
- }
-
- /**
- * @return
- */
- private static float getDPI() {
- // XXX: cache the value?
- return Display.getCurrent().getDPI().x;
- }
-
- /**
- * @param result
- * @return true if is auto
- */
- public static boolean isAuto(Object result) {
- if (result == ICSSPropertyID.VAL_AUTO) {
- return true;
- }
- if (result instanceof Length && ((Length) result).getValue() <= 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleImageMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleImageMeta.java
deleted file mode 100644
index c2753408a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleImageMeta.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class ListStyleImageMeta extends CSSPropertyMeta {
- private static final String INITIAL_VALUE = ICSSPropertyID.VAL_NONE;
-
- /**
- * Default constructor
- */
- public ListStyleImageMeta() {
- super(true, INITIAL_VALUE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- return DOMUtil.getAttributeIgnoreCase(element,
- ICSSPropertyID.ATTR_LIST_STYLE_IMAGE);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStylePositionMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStylePositionMeta.java
deleted file mode 100644
index 355a17362..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStylePositionMeta.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public class ListStylePositionMeta extends CSSPropertyMeta {
- private static final String INITIAL_VALUE = ICSSPropertyID.VAL_OUTSIDE;
-
- /**
- * Default constructor
- */
- public ListStylePositionMeta() {
- super(true, INITIAL_VALUE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- // TODO Auto-generated method stub
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleTypeMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleTypeMeta.java
deleted file mode 100644
index 641bd39b8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/ListStyleTypeMeta.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class ListStyleTypeMeta extends CSSPropertyMeta {
- private static final String INITIAL_VALUE = ICSSPropertyID.VAL_DISC;
-
- /**
- * Default constructor
- */
- public ListStyleTypeMeta() {
- super(true, INITIAL_VALUE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.style.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- return value.getCssText();
- }
-
- // /*
- // * (non-Javadoc)
- // *
- // * @see
- // org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- // java.lang.String, java.lang.String,
- // org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- // */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- String listStyle = DOMUtil.getAttributeIgnoreCase(element, "type"); //$NON-NLS-1$
- if (listStyle == null && element != null
- && element.getParentNode() != null) {
- listStyle = DOMUtil.getAttributeIgnoreCase((Element) element
- .getParentNode(), "type"); //$NON-NLS-1$
- }
- if (listStyle != null) {
- listStyle = listStyle.trim();
- if (listStyle.equals("1")) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_DECIMAL;
- } else if (listStyle.equals("a")) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_LOWER_ALPHA;
- } else if (listStyle.equals("A")) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_UPPER_ALPHA;
- } else if (listStyle.equals("i")) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_LOWER_ROMAN;
- } else if (listStyle.equals("I")) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_UPPER_ROMAN;
- }
- return listStyle;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/MarginWidthMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/MarginWidthMeta.java
deleted file mode 100644
index fddf276d6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/MarginWidthMeta.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- */
-public class MarginWidthMeta extends LengthMeta {
-
- /**
- * Default constructor
- */
- public MarginWidthMeta() {
- super(false, ICSSPropertyID.VAL_AUTO);
- }
-
- /**
- * @param propertyName
- * @return true if the property is the margin width
- */
- public static boolean isMarginWidth(String propertyName) {
- return ICSSPropertyID.ATTR_MARGIN_BOTTOM.equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_MARGIN_TOP
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_MARGIN_LEFT
- .equalsIgnoreCase(propertyName)
- || ICSSPropertyID.ATTR_MARGIN_RIGHT
- .equalsIgnoreCase(propertyName);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/Messages.java
deleted file mode 100644
index 50dcc3963..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * String resource handler
- *
- */
-public class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.css2.property.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- /**
- * @param key
- * @return nls'ed string
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/OverflowMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/OverflowMeta.java
deleted file mode 100644
index 95712c53f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/OverflowMeta.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.css.CSSValue;
-
-/**
- *
- * @author mengbo
- * @version 1.5
- */
-public class OverflowMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_VISIBLE,
- ICSSPropertyID.VAL_HIDDEN, ICSSPropertyID.VAL_SCROLL,
- ICSSPropertyID.VAL_AUTO };
-
- /**
- * Default constructor
- */
- public OverflowMeta() {
- super(false, ICSSPropertyID.VAL_VISIBLE);
- }
-
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String display = style.getDisplay();
- // we only support overflow for "block". Which means we don't support it
- // for table/inline-block, etc.
- if (!"block".equalsIgnoreCase(display)) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_VISIBLE;
- }
- return super.calculateCSSValueResult(value, propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PaddingWidthMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PaddingWidthMeta.java
deleted file mode 100644
index aec17e4d7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PaddingWidthMeta.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class PaddingWidthMeta extends LengthMeta {
-
- private final PDPreferences _prefs;
-
- /**
- * Default constructor
- * @param prefs
- */
- public PaddingWidthMeta(final PDPreferences prefs)
- {
- super(false, ICSSPropertyID.VAL_AUTO);
- _prefs = prefs;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (IHTMLConstants.TAG_TD.equalsIgnoreCase(htmltag)
- || IHTMLConstants.TAG_TH.equalsIgnoreCase(htmltag)) {
- Node parent = element;
- Element tableEle = null;
- while ((parent = parent.getParentNode()) != null
- && parent instanceof Element) {
- if (((Element) parent).getTagName().equalsIgnoreCase(
- IHTMLConstants.TAG_TABLE)) {
- tableEle = (Element) parent;
- break;
- }
- }
- if (tableEle != null)
- {
- int artificialCellPadding = _prefs.getCssArtificialCellPadding();
- //TODO: Why is only cellpadding being checked? Why does this class even exist? What is difference with BorderWidthMeta?
- String padding = DOMUtil.getAttributeIgnoreCase(tableEle,
- "cellpadding");//$NON-NLS-1$
- if (padding != null && padding.trim().length() > 0) {//fix for 200592
- Object length = LengthMeta.toLength(padding, style, this
- .getPercentageType(), getBaseFont(style));
- if (length instanceof Length && ((Length)length).getValue() >= artificialCellPadding)
- return length;
-
- }
- return new Length(artificialCellPadding, false);
- }
- }
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionMeta.java
deleted file mode 100644
index 4f19af9b6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionMeta.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PositionMeta extends CSSPropertyMeta {
- /**
- * static keyword
- */
- public static final String STATIC = "static"; //$NON-NLS-1$
-
- /**
- * absolute keyword
- */
- public static final String ABSOLUTE = "absolute"; //$NON-NLS-1$
-
- private static final String RELATIVE = "relative"; //$NON-NLS-1$
-
- /**
- * fixed keyword
- */
- public static final String FIXED = "fixed"; //$NON-NLS-1$
-
- private static final String[] _keywords = new String[] { STATIC, ABSOLUTE,
- RELATIVE, FIXED };
-
- /**
- * Default constructor
- */
- public PositionMeta() {
- super(false, STATIC);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return _keywords;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionOffsetMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionOffsetMeta.java
deleted file mode 100644
index 81147ccc8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/PositionOffsetMeta.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PositionOffsetMeta extends LengthMeta {
- /**
- * Default constructor
- */
- public PositionOffsetMeta() {
- super(false, ICSSPropertyID.VAL_AUTO);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TableUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TableUtil.java
deleted file mode 100644
index a5705fc17..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TableUtil.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableUtil {
- static final String TOP = "top"; //$NON-NLS-1$
-
- static final String BOTTOM = "bottom"; //$NON-NLS-1$
-
- static final String LEFT = "left"; //$NON-NLS-1$
-
- static final String RIGHT = "right"; //$NON-NLS-1$
-
- /**
- * @param edge
- * @param frame
- * @return true if there is a match
- */
- public static boolean matchFrame(String edge, String frame) {
- if ("above".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return TOP.equalsIgnoreCase(edge);
- } else if ("below".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return BOTTOM.equalsIgnoreCase(edge);
- } else if ("hsides".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return TOP.equalsIgnoreCase(edge) || BOTTOM.equalsIgnoreCase(edge);
- } else if ("vsides".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return LEFT.equalsIgnoreCase(edge) || RIGHT.equalsIgnoreCase(edge);
- } else if ("lhs".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return LEFT.equalsIgnoreCase(edge);
- } else if ("rhs".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return RIGHT.equalsIgnoreCase(edge);
- } else if ("box".equalsIgnoreCase(frame) //$NON-NLS-1$
- || "border".equalsIgnoreCase(frame)) { //$NON-NLS-1$
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * @param edge
- * @param rules
- * @return true if rules match
- */
- public static boolean matchRules(String edge, String rules) {
- // TODO: "groups" not supported.
-
- if ("rows".equalsIgnoreCase(rules)) { //$NON-NLS-1$
- return TOP.equalsIgnoreCase(edge) || BOTTOM.equalsIgnoreCase(edge);
- } else if ("cols".equalsIgnoreCase(rules)) { //$NON-NLS-1$
- return LEFT.equalsIgnoreCase(edge) || RIGHT.equalsIgnoreCase(edge);
- } else if ("all".equalsIgnoreCase(rules)) { //$NON-NLS-1$
- return true;
- } else {
- return false;
- }
-
- }
-
- /**
- * @param element
- * @return true if cell is empty
- * see http://www.w3.org/TR/CSS21/tables.html#empty-cells
- */
- public static boolean isEmptyCell(Element element) {
- NodeList children = element.getChildNodes();
- if (children.getLength() == 0) {
- return true;
- }
- // we only do simple checking here. When the element has one child
- // and is text and is whitespace only, then we also treat as empty cell
- if (children.getLength() == 1) {
- Node child = children.item(0);
- if (child instanceof Text) {
- String text = child.getNodeValue();
- if (HTMLUtil.isHTMLWhitespaceString(text)) {
- return true;
- }
- }
- }
-
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextAlignMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextAlignMeta.java
deleted file mode 100644
index 5c3e8d5ed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextAlignMeta.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import java.util.Arrays;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class TextAlignMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_LEFT,
- ICSSPropertyID.VAL_RIGHT, ICSSPropertyID.VAL_CENTER,
- ICSSPropertyID.VAL_JUSTIFY };
-
- private static final String[] HOR_SLIGN_HTMLTAGS = new String[] {
- IHTMLConstants.TAG_TABLE, IHTMLConstants.TAG_HR,
- IHTMLConstants.TAG_LEGEND, IHTMLConstants.TAG_APPLET,
- IHTMLConstants.TAG_IFRAME, IHTMLConstants.TAG_IMG,
- IHTMLConstants.TAG_INPUT, IHTMLConstants.TAG_OBJECT,
- IHTMLConstants.TAG_CAPTION };
-
- /**
- * Default constructor
- */
- public TextAlignMeta() {
- super(true, NOT_SPECIFIED);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- // /for td, it may look for the attribute value up to tr, but must stop
- // at table.
- // so for table,set _inherited=false to stop it.
- if (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(htmltag)) {
- this._inherited = false;
- } else {
- this._inherited = true;
- }
- if (Arrays.asList(HOR_SLIGN_HTMLTAGS).contains(htmltag.toLowerCase())) {
- return null;
- }
-
- String align = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_ALIGN);
- String value = checkKeywordValues(align);
- if (value != null) {
- return value;
- }
- if ("middle".equalsIgnoreCase(align)) { //$NON-NLS-1$
- return ICSSPropertyID.VAL_CENTER;
- }
-
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextDecorationMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextDecorationMeta.java
deleted file mode 100644
index 781346360..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/TextDecorationMeta.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.w3c.dom.css.CSSValue;
-import org.w3c.dom.css.CSSValueList;
-
-/**
- * @author mengbo
- */
-public class TextDecorationMeta extends CSSPropertyMeta {
- private static final int NONE = 0;
-
- /**
- *
- */
- public static final int UNDERLINE = 1;
-
- /**
- *
- */
- public static final int OVERLINE = 1 << 1;
-
- /**
- *
- */
- public static final int LINETHROUGH = 1 << 2;
-
- private static final int BLINK = 1 << 3;
-
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_NONE,
- ICSSPropertyID.VAL_UNDERLINE, ICSSPropertyID.VAL_OVERLINE,
- ICSSPropertyID.VAL_LINETHROUGH, ICSSPropertyID.VAL_BLINK };
-
- /**
- * Default constructor
- */
- public TextDecorationMeta() {
- // the spec say text-decoration is not inherited. but the description
- // seemed to make use inherit easier.
- // It seems that the property is inherited in IE and Mozilla.
- super(true, new Integer(NONE));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateCSSValueResult(org.w3c.dom.css.CSSValue,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.property.AbstractStyle)
- */
- public Object calculateCSSValueResult(CSSValue value, String propertyName,
- ICSSStyle style) {
- String[] decorations = null;
- if (value.getCssValueType() == CSSValue.CSS_VALUE_LIST) {
- CSSValueList valueList = (CSSValueList) value;
- decorations = new String[valueList.getLength()];
- for (int i = 0; i < decorations.length; i++) {
- decorations[i] = valueList.item(i).getCssText();
- }
- } else {
- decorations = new String[1];
- decorations[0] = value.getCssText();
- }
-
- int intvalue = 0;
- for (int i = 0; i < decorations.length; i++) {
- String key = super.checkKeywordValues(decorations[i]);
- if (key == ICSSPropertyID.VAL_NONE) {
- intvalue = NONE;
- } else if (key == ICSSPropertyID.VAL_UNDERLINE) {
- intvalue |= UNDERLINE;
- } else if (key == ICSSPropertyID.VAL_OVERLINE) {
- intvalue |= OVERLINE;
- } else if (key == ICSSPropertyID.VAL_LINETHROUGH) {
- intvalue |= LINETHROUGH;
- } else if (key == ICSSPropertyID.VAL_BLINK) {
- intvalue |= BLINK;
- }
- }
-
- return new Integer(intvalue);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VerticalAlignMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VerticalAlignMeta.java
deleted file mode 100644
index d4bb5692e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VerticalAlignMeta.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class VerticalAlignMeta extends LengthMeta {
- /**
- * baseline keyword
- */
- public static final String BASELINE = "baseline"; //$NON-NLS-1$
-
- /**
- * middle keyword
- */
- public static final String MIDDLE = "middle"; //$NON-NLS-1$
-
- /**
- * sub keyword
- */
- public static final String SUB = "sub"; //$NON-NLS-1$
-
- /**
- * super keyword
- */
- public static final String SUPER = "super"; //$NON-NLS-1$
-
- /**
- * text-top keyword
- */
- public static final String TEXT_TOP = "text-top"; //$NON-NLS-1$
-
- /**
- * text-bottom keyword
- */
- public static final String TEXT_BOTTOM = "text-bottom"; //$NON-NLS-1$
-
- /**
- * top keyword
- */
- public static final String TOP = "top"; //$NON-NLS-1$
-
- /**
- * bottom keyword
- */
- public static final String BOTTOM = "bottom"; //$NON-NLS-1$
-
- /**
- * center keyword
- */
- public static final String CENTER = "center"; //$NON-NLS-1$
-
- /**
- * default vertical align
- */
- public static final String DEFAULT_VERTICAL_ALIGN = BASELINE;
-
- private static final String[] KEYWORDS = new String[] { BASELINE, MIDDLE,
- SUB, SUPER, TEXT_TOP, TEXT_BOTTOM, TOP, BOTTOM };
-
- private static final String[] htmlAttributes = new String[] { IHTMLConstants.ATTR_VALIGN };
-
- /**
- * Default constructor
- */
- public VerticalAlignMeta() {
- super(true, DEFAULT_VERTICAL_ALIGN);
- }
-
- /**
- * @param inherit
- * @param initvalue
- */
- public VerticalAlignMeta(boolean inherit, Object initvalue) {
- super(inherit, initvalue);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- for (int i = 0; i < htmlAttributes.length; i++) {
- String align = DOMUtil.getAttributeIgnoreCase(element,
- htmlAttributes[i]);
- if (TOP.equalsIgnoreCase(align)) {
- return TOP;
- }
- if (MIDDLE.equalsIgnoreCase(align)) {
- return MIDDLE;
- }
- if (BOTTOM.equalsIgnoreCase(align)) {
- return BOTTOM;
- }
- if (BASELINE.equalsIgnoreCase(align)) {
- return BASELINE;
- }
- if (CENTER.equalsIgnoreCase(align)) {
- return MIDDLE;
- }
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VisibilityMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VisibilityMeta.java
deleted file mode 100644
index e6f3ae5e9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/VisibilityMeta.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class VisibilityMeta extends CSSPropertyMeta {
- /**
- * visible keyword
- */
- public static final String VISIBLE = "visible"; //$NON-NLS-1$
-
- /**
- * hidden keyword
- */
- public static final String HIDDEN = "hidden"; //$NON-NLS-1$
-
- /**
- * collapse keyword
- */
- public static final String COLLAPSE = "collapse"; //$NON-NLS-1$
-
- private static final String[] KEYWORDS = new String[] { VISIBLE, HIDDEN,
- COLLAPSE };
-
- /**
- * Default constructor
- */
- public VisibilityMeta() {
- super(true, VISIBLE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WhiteSpaceMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WhiteSpaceMeta.java
deleted file mode 100644
index c94481fef..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WhiteSpaceMeta.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class WhiteSpaceMeta extends CSSPropertyMeta {
- static final String[] KEYWORDS = new String[] { ICSSPropertyID.VAL_NORMAL,
- ICSSPropertyID.VAL_PRE, ICSSPropertyID.VAL_NOWRAP };
-
- /**
- * Default constructor
- */
- public WhiteSpaceMeta() {
- super(true, ICSSPropertyID.VAL_NORMAL);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#getKeywordValues()
- */
- protected String[] getKeywordValues() {
- return KEYWORDS;
- }
-
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (IHTMLConstants.TAG_TD.equalsIgnoreCase(htmltag)
- || IHTMLConstants.TAG_TH.equalsIgnoreCase(htmltag)) {
- String noWrap = DOMUtil.getAttributeIgnoreCase(element,
- IHTMLConstants.ATTR_NOWRAP);
- if (Boolean.TRUE.toString().equalsIgnoreCase(noWrap)) {
- return ICSSPropertyID.VAL_NOWRAP;
- }
- }
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WidthMeta.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WidthMeta.java
deleted file mode 100644
index f38e765b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/property/WidthMeta.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.property;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class WidthMeta extends LengthMeta {
- /**
- * Default constructor
- */
- public WidthMeta() {
- super(false, ICSSPropertyID.VAL_AUTO);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.property.CSSPropertyMeta#calculateHTMLAttributeOverride(org.w3c.dom.Element,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.css2.ICSSStyle)
- */
- public Object calculateHTMLAttributeOverride(Element element,
- String htmltag, String propertyName, ICSSStyle style) {
- if (!IHTMLConstants.TAG_INPUT.equalsIgnoreCase(htmltag)
- && !IHTMLConstants.TAG_BUTTON.equalsIgnoreCase(htmltag)) {
- String width = DOMUtil
- .getAttributeIgnoreCase(element, propertyName);
- if (width != null) {
- return LengthMeta.toLength(width, style, this
- .getPercentageType(), getBaseFont(style));
- }
- }
- return super.calculateHTMLAttributeOverride(element, htmltag,
- propertyName, style);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/DimensionInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/DimensionInfo.java
deleted file mode 100644
index 4531ace03..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/DimensionInfo.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.provider;
-
-import org.eclipse.draw2d.geometry.Dimension;
-
-/**
- * This is a struct, include a dimension and a ascent info.
- *
- * @author mengbo
- * @version 1.5
- */
-public class DimensionInfo {
- private final Dimension _dimension;
-
- private final int _ascent;
-
- /**
- *
- * @param d
- * @param ascent
- * -1 means ascent is same as dimension height
- */
- public DimensionInfo(Dimension d, int ascent) {
- this._dimension = d;
- this._ascent = ascent;
- }
-
- /**
- * @param width
- * @param height
- * @param i
- */
- public DimensionInfo(int width, int height, int i) {
- this(new Dimension(width, height), i);
- }
-
- /**
- * @return the dimension
- */
- public Dimension getDimension() {
- return _dimension;
- }
-
- /**
- * @return the ascent
- */
- public int getAscent() {
- return _ascent;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSTextProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSTextProvider.java
deleted file mode 100644
index c646cc95b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSTextProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.provider;
-
-/**
- * This class behave as the information provider of CSSTextFigure.
- *
- * @author mengbo
- */
-public interface ICSSTextProvider {
- /**
- * get the style.
- *
- * @return can't be null
- */
- // public ICSSStyle getCSSStyle();
- /**
- * this is the final data to be displayed. There is no need for the
- * CSSTextFigure to normalize it.
- *
- * @return the text data
- */
- public String getTextData();
-
- /**
- * get the selected information.
- *
- * @return the selected range
- */
- public int[] getSelectedRange();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSWidgetProvider.java
deleted file mode 100644
index 81e7b9c11..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/provider/ICSSWidgetProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.provider;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-
-/**
- * @author mengbo
- */
-public interface ICSSWidgetProvider {
- /**
- * can be null
- *
- * @return the style
- */
- public ICSSStyle getCSSStyle();
-
- /**
- * @return true if is handling border
- */
- public boolean isHandlingBorder();
-
- /**
- * whether the parameter and return value includes border depends on the
- * isHandlingBorder
- *
- * @param width
- * -1 means no suggested value
- * @param height
- * -1 means no suggested value
- * @return the dimension info
- */
- public DimensionInfo getPreferredDimension(int width, int height);
-
- /**
- * if isHandlingBorder return false, then "rect" will be the rect without
- * border, and this method should not paint border.
- *
- * If isHandlingBorder returns true, then "rect" include border, and this
- * method should also paint its own border.
- * @param g
- * @param rect
- */
- public void paintFigure(Graphics g, Rectangle rect);
-
- /**
- * @return true if is inline
- */
- public boolean isInline();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java
deleted file mode 100644
index b642b4e72..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java
+++ /dev/null
@@ -1,716 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.css2.CSSUtil;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.CSSFontManager;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFontManager;
-import org.eclipse.jst.pagedesigner.css2.list.CounterHelper;
-import org.eclipse.jst.pagedesigner.css2.list.CounterValueGenerator;
-import org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator;
-import org.eclipse.jst.pagedesigner.css2.property.CSSMetaRegistry;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-import org.eclipse.jst.pagedesigner.css2.value.Length;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.css.CSSValue;
-
-/**
- * @author mengbo
- */
-public class AbstractStyle implements ICSSStyle
-{
- private final Element _element;
-
- private Map _cachedValues = new HashMap();
-
- private ICSSFont _font = null;
-
- private CSSStyleDeclaration _cache;
-
- private CSSStyleDeclaration _defaultCache;
-
- private boolean _cssDeclareWasSearched = false;
-
- private boolean _cssDefaultDeclareWasSearched = false;
-
- private Insets _borderInsets, _marginInsets, _paddingInsets;
-
- private ICSSStyle _parentStyle;
-
- private HashMap _counters = null;
-
- private final PDPreferences _prefs;
-
- /**
- * @return the element this style if for
- */
- public Element getElement() {
- return _element;
- }
-
- /**
- * @param element
- * @param prefs
- */
- public AbstractStyle(Element element, PDPreferences prefs) {
- _element = element;
- _prefs = prefs;
- }
-
- /**
- * reset all the cache.
- */
- public void reset() {
- _cachedValues.clear();
- _font = null;
- _cache = null;
- _defaultCache = null;
- _cssDeclareWasSearched = false;
- _cssDefaultDeclareWasSearched = false;
- // if (_counters != null)
- // {
- // unregistCounter();
- // _counters.clear();
- // _counters = null;
- // }
- _borderInsets = _marginInsets = _paddingInsets = null;
- }
-
- /**
- * this is a hook method so caller can use it to override default
- * calculation. Note, after the call to <code>reset</code>, it will be
- * lost.
- *
- * @param property
- * @param value
- */
- public void setStyleProperty(String property, Object value) {
- _cachedValues.put(property, value);
- }
-
- /**
- * get a style property value.
- *
- * @param property
- * @return the style property
- */
- public Object getStyleProperty(String property) {
- Object value = _cachedValues.get(property);
- if (value == null) {
- value = calculateProperty(property);
- if (value != null) {
- _cachedValues.put(property, value);
- }
- }
- return value;
- }
-
- /**
- * in this method, should first check the "style" attribute, then combine
- * that with document style.
- *
- * @return the style
- */
- protected CSSStyleDeclaration calculateDeclaration() {
- String name = getHtmlElement().getAttribute("id"); //$NON-NLS-1$
- if (name == null || name.length() == 0) {
- name = getHtmlElement().getAttribute("name"); //$NON-NLS-1$
- }
- return CSSUtil.getCSSDeclaration(this.getHtmlElement(), name);
- }
-
- /**
- * @return the style
- */
- protected CSSStyleDeclaration calculateDefaultDeclaration() {
- return CSSUtil.getDefaultCSSDeclaration(this.getHtmlElement(), null);
- }
-
- /**
- * @return the style declaration
- */
- public CSSStyleDeclaration getDeclaration() {
- // FIXME:may need to be change, boolean variable is not a best way.
- if (!_cssDeclareWasSearched) {
- _cache = calculateDeclaration();
- _cssDeclareWasSearched = true;
- }
- return _cache;
- }
-
- /**
- * @return the default declaration
- */
- public CSSStyleDeclaration getDefaultDeclaration() {
- // FIXME:may need to be change, boolean variable is not a best way.
- if (!_cssDefaultDeclareWasSearched) {
- _defaultCache = calculateDefaultDeclaration();
- _cssDefaultDeclareWasSearched = true;
- }
- return _defaultCache;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getHTMLelementInitValue(java.lang.String)
- */
- public Object getHTMLelementInitValue(String propertyName) {
- ICSSPropertyMeta meta = getPropertyMeta(propertyName);
- if (meta != null) {
- Object obj = meta.getHTMLElementInitialValue(_element,
- getHTMLTag(), propertyName);
- if (obj == null) {
- obj = meta.getInitialValue(propertyName, this);
- }
- return obj;
- }
- return ICSSPropertyMeta.NOT_SPECIFIED;
- }
-
- /**
- * @param propertyName
- * @return the property
- */
- protected Object calculateProperty(String propertyName) {
- ICSSPropertyMeta meta = getPropertyMeta(propertyName);
- Object result = null;
- // get declaration
- CSSStyleDeclaration decl = getDeclaration();
- CSSValue value = decl == null ? null : decl
- .getPropertyCSSValue(propertyName);
- if (value == null) {
- if (meta != null) {
- result = meta.calculateHTMLAttributeOverride(_element,
- getHTMLTag(), propertyName, this);
- if (result != null) {
- return result;
- }
- }
- decl = getDefaultDeclaration();
- }
- value = decl == null ? null : decl.getPropertyCSSValue(propertyName);
-
- if (value != null && value.getCssValueType() == CSSValue.CSS_INHERIT) {
- result = getParentResultValue(meta, propertyName);
- } else if (value == null) {
- if (meta != null) {
- result = meta.calculateHTMLAttributeOverride(_element,
- getHTMLTag(), propertyName, this);
- }
- if (result == null) {
- result = calculateLocalOverride(meta, propertyName);
- }
- if (result == null) {
- if (meta == null) {
- result = ICSSPropertyMeta.NOT_SPECIFIED;
- } else {
- if (meta.isInherited()) {
- result = getParentResultValue(meta, propertyName);
- } else {
- result = meta.getInitialValue(propertyName, this);
- }
- }
- }
- } else {
- result = calculateCSSValueResult(meta, value, propertyName);
- }
- return result;
- }
-
- /**
- * get the corresponding HTML tag for this style. This is for certain HTML
- * tag can also provide style information.
- *
- * @return the html tag
- */
- protected String getHTMLTag() {
- return _element.getTagName();
- }
-
- /**
- * @param propertyName
- * @return the property meta for property name
- */
- protected ICSSPropertyMeta getPropertyMeta(String propertyName) {
- return CSSMetaRegistry.getInstance().getMeta(propertyName);
- }
-
- /**
- * convert the CSSValue to the property type specified data result.
- *
- * @param meta
- * @param value
- * @param propertyName
- * @return should not return null.
- */
- protected Object calculateCSSValueResult(ICSSPropertyMeta meta,
- CSSValue value, String propertyName) {
- if (meta == null) {
- return ICSSPropertyMeta.NOT_SPECIFIED;
- }
- return meta.calculateCSSValueResult(value, propertyName, this);
- }
-
- /**
- * it is possible that some attribute of the element may provide style
- * information. child class should override this method. Also, some element
- * type may have internally build style, such as input-submit may use
- * special border. NOTE: it is very important that in calculateLocalOverride
- * you don't directly or indirectly call getStyleProperty() to avoid
- * deadloop.
- *
- * @param meta
- * @param propertyName
- * @return null means no style information in other attributes. Otherwise
- * return property specific data result -- normally will use meta to
- * convert the attribute.
- */
- protected Object calculateLocalOverride(ICSSPropertyMeta meta,
- String propertyName) {
- // // do some default margin thing.
- // if (ICSSPropertyID.ATTR_MARGIN_RIGHT.equalsIgnoreCase(propertyName)
- // || ICSSPropertyID.ATTR_MARGIN_BOTTOM.equalsIgnoreCase(propertyName))
- // {
- // return MARGIN_LENGTH;
- // }
- // else if
- // (ICSSPropertyID.ATTR_MARGIN_LEFT.equalsIgnoreCase(propertyName))
- // {
- // // to make a little room, so it is possible for user to position the
- // // mouse before the first element in a block.
- // return MARGIN_LEFT;
- // }
- return null;
- }
-
- /**
- * This is only called when inherit value from parent.
- *
- * @param meta
- * @param propertyName
- * @return the result value
- */
- protected Object getParentResultValue(ICSSPropertyMeta meta,
- String propertyName) {
- ICSSStyle style = getParentStyle();
- return style.getStyleProperty(propertyName);
- }
-
- /**
- * @param parentStyle
- */
- public void setParentStyle(ICSSStyle parentStyle) {
- this._parentStyle = parentStyle;
- reset();
- }
-
- public ICSSStyle getParentStyle() {
- if (_parentStyle != null) {
- return _parentStyle;
- }
- Node node = _element.getParentNode();
- while (node instanceof Element && node instanceof INodeNotifier) {
- ICSSStyle parentStyle = (ICSSStyle) ((INodeNotifier) node)
- .getAdapterFor(ICSSStyle.class);
- if (parentStyle != null) {
- return parentStyle;
- }
- node = node.getParentNode();
- }
- return DefaultStyle.getInstance();
- }
-
- /**
- * Will not return null
- *
- * @return the font
- */
- public ICSSFont getCSSFont() {
- if (_font == null) {
- _font = getFontManager().createFont(this);
- }
- return _font;
- }
-
- /**
- * @return
- */
- private ICSSFontManager getFontManager() {
- return CSSFontManager.getInstance();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#dispose()
- */
- public void dispose() {
- // TODO: anything to dispose?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getMarginInsets()
- */
- public Insets getMarginInsets() {
- if (_marginInsets == null) {
- int top = getInsetProperty(ICSSPropertyID.ATTR_MARGIN_TOP);
- int left = getInsetProperty(ICSSPropertyID.ATTR_MARGIN_LEFT);
- int bottom = getInsetProperty(ICSSPropertyID.ATTR_MARGIN_BOTTOM);
- int right = getInsetProperty(ICSSPropertyID.ATTR_MARGIN_RIGHT);
- _marginInsets = new Insets(top, left, bottom, right);
- }
- return _marginInsets;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getPaddingInsets()
- */
- public Insets getPaddingInsets() {
- if (_paddingInsets == null) {
- int top = getInsetProperty(ICSSPropertyID.ATTR_PADDING_TOP);
- int left = getInsetProperty(ICSSPropertyID.ATTR_PADDING_LEFT);
- int bottom = getInsetProperty(ICSSPropertyID.ATTR_PADDING_BOTTOM);
- int right = getInsetProperty(ICSSPropertyID.ATTR_PADDING_RIGHT);
- //add extra padding only for the top element of a source tag's rendering
- if (elementIsTagConverted()) {
- final int borderOffset = _prefs.getCssArtificialCellPadding();
- top += borderOffset;
- left += borderOffset;
- bottom += borderOffset;
- right += borderOffset;
- }
- _paddingInsets = new Insets(top, left, bottom, right);
- }
- return _paddingInsets;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getBorderInsets()
- */
- public Insets getBorderInsets() {
- if (_borderInsets == null) {
- int top = getInsetProperty(ICSSPropertyID.ATTR_BORDER_TOP_WIDTH);
- int left = getInsetProperty(ICSSPropertyID.ATTR_BORDER_LEFT_WIDTH);
- int bottom = getInsetProperty(ICSSPropertyID.ATTR_BORDER_BOTTOM_WIDTH);
- int right = getInsetProperty(ICSSPropertyID.ATTR_BORDER_RIGHT_WIDTH);
- _borderInsets = new Insets(top, left, bottom, right);
- }
- return _borderInsets;
- }
-
- /**
- * @param border_top_width
- * @return
- */
- private int getInsetProperty(String propertyName) {
- Object obj = this.getStyleProperty(propertyName);
- if (obj instanceof Length) {
- Length l = (Length) obj;
- if (l.isPercentage()) {
- return 0; // FIXME:
- }
- return l.getValue();
- }
-
- return 0;
- }
-
- public boolean isAdapterForType(Object type) {
- return (type == ICSSStyle.class);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#isSizeIncludeBorderPadding()
- */
- public boolean isSizeIncludeBorderPadding() {
- String display = this.getDisplay();
- if ("table-cell".equalsIgnoreCase(display)) { //$NON-NLS-1$
- return false;
- }
- String tag = this.getHTMLTag();
- if ("img".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.sse.model.INodeAdapter#notifyChanged(com.ibm.sse.model.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getBackgroundColor()
- */
- public Object getColor() {
- Object _color = null;
- if (_color == null) {
- _color = getStyleProperty(ICSSPropertyID.ATTR_COLOR);
- if (_color == null) {
- _color = getStyleProperty(ICSSPropertyID.ATTR_TEXTCOLOR);
- }
- }
- return _color;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getColor()
- */
- public Object getBackgroundColor() {
- Object _backgroundColor = null;
- if (_backgroundColor == null) {
- _backgroundColor = getStyleProperty(ICSSPropertyID.ATTR_BACKGROUND_COLOR);
- }
- return _backgroundColor;
- }
-
- /**
- * @return the html element
- */
- public Element getHtmlElement() {
- // if (_element instanceof IDOMElement)
- // {
- // EditPart part = (EditPart) ((IDOMElement)
- // _element).getAdapterFor(EditPart.class);
- // if (part instanceof ElementEditPart)
- // {
- // ElementEditPart elementPart = (ElementEditPart) part;
- // ITagHandler h = elementPart.getTagHandler();
- // if (h != null)
- // {
- // return h.mapCustomElement(_element);
- // }
- // }
- //
- // }
- return _element;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getDisplay()
- */
- public String getDisplay() {
- Object display = this.getStyleProperty(ICSSPropertyID.ATTR_DISPLAY);
- String displayStr;
- if (display == null) {
- displayStr = ICSSPropertyID.VAL_INLINE;
- } else if (display instanceof String) {
- displayStr = (String) display;
- } else {
- displayStr = display.toString();
- }
- if (ICSSPropertyID.VAL_INLINE.equalsIgnoreCase(displayStr)
- && IHTMLConstants.TAG_TABLE.equalsIgnoreCase(getHTMLTag())) {
- return ICSSPropertyID.VAL_INLINE_TABLE;
- }
- if (ICSSPropertyID.VAL_INLINE.equalsIgnoreCase(displayStr)) {
- Object width = this.getStyleProperty(ICSSPropertyID.ATTR_WIDTH);
- if (width instanceof Length) {
- return ICSSPropertyID.VAL_INLINE_BLOCK;
- }
- Object height = this.getStyleProperty(ICSSPropertyID.ATTR_HEIGHT);
- if (height instanceof Length) {
- return ICSSPropertyID.VAL_INLINE_BLOCK;
- }
- return displayStr;
- }
- return displayStr;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getListStyle()
- */
- public Map getCounters() {
- if (_counters == null) {
- _counters = new HashMap();
- CounterHelper.processCounterReset(this, _counters);
- }
- return _counters;
- }
-
- /**
- * Get named counter from counters.
- *
- * see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getCounter(java.lang.String)
- */
- public ICounterValueGenerator findCounter(String name, boolean must) {
- Map counters = getCounters();
- if (counters == null || !counters.containsKey(name)) {
- if (getParentStyle() != null
- && !(getParentStyle() instanceof DefaultStyle)) {
- // ensure it is registered somewhere.
- return getParentStyle().findCounter(name, must);
- }
- // must is called by counter-increment
- else if (must) {
- // the caller should do the other setting.
- ICounterValueGenerator counter = new CounterValueGenerator(
- name, null, null, this);
- counter.resetCount();
- counters.put(name, counter);
- }
- }
- return (ICounterValueGenerator) counters.get(name);
- }
-
- /**
- * @param buffer
- */
- public void dumpDebugInfo(StringBuffer buffer) {
- if (_cache != null) {
- buffer.append("cache:\n"); //$NON-NLS-1$
- buffer.append(_cache.getCssText()).append("\n"); //$NON-NLS-1$
- }
- if (_defaultCache != null) {
- buffer.append("default cache:\n"); //$NON-NLS-1$
- buffer.append(_defaultCache.getCssText()).append("\n"); //$NON-NLS-1$
- }
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getColSpan()
- */
- public int getColSpan() {
- int colspan = DOMUtil.getIntAttributeIgnoreCase(getHtmlElement(),
- "colspan", 1); //$NON-NLS-1$
- // if span == 0, means span all col from the current column to end
- // colume
- if (colspan < 0) {
- return 1;
- }
- return colspan;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getRowSpan()
- */
- public int getRowSpan() {
- int rowspan = DOMUtil.getIntAttributeIgnoreCase(getHtmlElement(),
- "rowspan", 1); //$NON-NLS-1$
- if (rowspan < 0) {
- return 1;
- }
- return rowspan;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#isInSelection()
- */
- public boolean isInSelection() {
- IRangeSelectionProxy proxy = (IRangeSelectionProxy) getAdapter(IRangeSelectionProxy.class);
- if (proxy != null) {
- return proxy.isRangeSelected();
- }
- ICSSStyle parentStyle = getParentStyle();
- if (parentStyle != null) {
- return parentStyle.isInSelection();
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- if (this._element instanceof INodeNotifier) {
- Object ret = ((INodeNotifier) _element).getAdapterFor(adapter);
- if (ret != null && adapter.isInstance(ret)) {
- return ret;
- }
- }
- return null;
- }
-
- // private void unregistCounter()
- // {
- // if (_counters != null)
- // {
- // Collection c = _counters.values();
- // Iterator iter = c.iterator();
- // while (iter.hasNext())
- // {
- // Counter2 counter = (Counter2) iter.next();
- // counter.unregist(this);
- // }
- // }
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#resetCounters()
- */
- public void processCounters() {
- this._counters = null;
- CounterHelper.processCounterIncrement(this);
- }
-
- private boolean elementIsTagConverted() {
- boolean isTagConverted = false;
- if (_element instanceof INodeNotifier) {
- Collection nodeAdapters = ((INodeNotifier)_element).getAdapters();
- for (Object nodeAdapter: nodeAdapters) {
- if (nodeAdapter instanceof ITagConverter) {
- isTagConverted = true;
- break;
- }
- }
- }
- return isTagConverted;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/DefaultStyle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/DefaultStyle.java
deleted file mode 100644
index 7e231509d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/DefaultStyle.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-import java.util.Map;
-
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.CSSFontManager;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator;
-import org.eclipse.jst.pagedesigner.css2.property.CSSMetaRegistry;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-
-/**
- * @author mengbo
- *
- * TODO: why doesn't this sub-class AbstractStyle
- */
-public class DefaultStyle implements ICSSStyle {
-
- private static final Insets EMPTY_INSETS = new Insets();
- /**
- * A default preferences object.
- */
- protected static final PDPreferences PREFS = new PDPreferences();
- private final PDPreferences _prefs;
-
- /**
- * @param prefs
- */
- public DefaultStyle(final PDPreferences prefs)
- {
- _prefs = prefs;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#reset()
- */
- public void reset() {
- // TODO: dead?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getStyleProperty(java.lang.String)
- */
- public Object getStyleProperty(String property) {
- ICSSPropertyMeta meta = CSSMetaRegistry.getInstance().getMeta(property);
- if (meta == null) {
- return ICSSPropertyMeta.NOT_SPECIFIED;
- }
- return meta.getInitialValue(property, this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getMarginInsets()
- */
- public Insets getMarginInsets() {
- return EMPTY_INSETS;
- //return new Insets(0, 0, 0, 0);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getBorderInsets()
- */
- public Insets getBorderInsets() {
- return EMPTY_INSETS;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getPaddingInsets()
- */
- public Insets getPaddingInsets() {
- int offset = _prefs.getCssArtificialCellPadding();
- return new Insets(offset, offset, offset, offset);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#isSizeIncludeBorderPadding()
- */
- public boolean isSizeIncludeBorderPadding() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#dispose()
- */
- public void dispose() {
- // TODO: anything to dispose
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.sse.model.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return type == ICSSStyle.class;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.sse.model.INodeAdapter#notifyChanged(com.ibm.sse.model.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // TODO: do nothing?
- }
-
- private ICSSFont defaultFont = CSSFontManager.getInstance().createDefaultFont();
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getCSSFont()
- */
- public ICSSFont getCSSFont() {
- return defaultFont;
- }
-
- /**
- * @return the singleton instance
- */
- public static ICSSStyle getInstance() {
- if (_instance == null) {
- _instance = new DefaultStyle(PREFS);
- }
- return _instance;
- }
-
- static DefaultStyle _instance;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getParentStyle()
- */
- public ICSSStyle getParentStyle() {
- // return this;
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getBackgroundColor()
- */
- public Object getBackgroundColor() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getColor()
- */
- public Object getColor() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getDisplay()
- */
- public String getDisplay() {
- return "inline"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getListStyle()
- */
- public Map getCounters() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getCounter(java.lang.String)
- */
- public ICounterValueGenerator findCounter(String name, boolean must) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getColSpan()
- */
- public int getColSpan() {
- return 1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getRowSpan()
- */
- public int getRowSpan() {
- return 1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#isInSelection()
- */
- public boolean isInSelection() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#resetCounters()
- */
- public void processCounters() {
- // do nothing.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.ICSSStyle#getHTMLelementValue(java.lang.String)
- */
- public Object getHTMLelementInitValue(String propertyName) {
- ICSSPropertyMeta meta = CSSMetaRegistry.getInstance().getMeta(
- propertyName);
- if (meta == null) {
- return ICSSPropertyMeta.NOT_SPECIFIED;
- }
- return meta.getInitialValue(propertyName, this);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/HiddenElementStyle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/HiddenElementStyle.java
deleted file mode 100644
index 21693e093..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/HiddenElementStyle.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-import org.eclipse.jst.pagedesigner.parts.EditProxyAdapter;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Element;
-
-/**
- * A style for hidden elements
- *
- */
-public class HiddenElementStyle extends DefaultStyle {
- private EditProxyAdapter _editProxyAdapter;
-
- private Element _convertedElement;
-
- private static ITagEditInfo _tagEditInfo = new ITagEditInfo() {
-
- public boolean isWidget() {
- return true;
- }
-
- public boolean needBorderDecorator() {
- return false;
- }
-
- public boolean needTableDecorator() {
- return false;
- }
-
- public int getMinWidth() {
- return 0;
- }
-
- public int getMinHeight() {
- return 0;
- }
- };
-
- /**
- * @param adapter
- * @param prefs
- */
- public HiddenElementStyle(EditProxyAdapter adapter, PDPreferences prefs)
- {
- super(prefs);
- this._editProxyAdapter = adapter;
- }
-
- /**
- * @param convertedElement
- * @param prefs
- */
- public HiddenElementStyle(Element convertedElement, PDPreferences prefs)
- {
- super(prefs);
- this._convertedElement = convertedElement;
- }
-
- public boolean isInSelection() {
- if (_convertedElement instanceof INodeNotifier) {
- Object ret = ((INodeNotifier) _convertedElement)
- .getAdapterFor(AbstractStyle.class);
- if (ret instanceof AbstractStyle) {
- return ((AbstractStyle) ret).isInSelection();
- }
- }
-
- if (_editProxyAdapter != null) {
- return _editProxyAdapter.isRangeSelected();
- }
-
- return false;
- }
-
- public Object getAdapter(Class adapter) {
- if (_convertedElement instanceof INodeNotifier) {
- Object ret = ((INodeNotifier) _convertedElement)
- .getAdapterFor(AbstractStyle.class);
- if (ret instanceof AbstractStyle) {
- return ((AbstractStyle) ret).getAdapter(adapter);
- }
- }
- if (_editProxyAdapter != null && adapter == ITagEditInfo.class) {
- return _tagEditInfo;
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/IRangeSelectionProxy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/IRangeSelectionProxy.java
deleted file mode 100644
index 5bf6fb88a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/IRangeSelectionProxy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface IRangeSelectionProxy {
-
- /**
- * @return true if the range is selected
- */
- boolean isRangeSelected();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/ITagEditInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/ITagEditInfo.java
deleted file mode 100644
index e2ac601c0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/ITagEditInfo.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-/**
- * TODO: TagConversion decorator should augment/replace
- * @author mengbo
- * @version 1.5
- */
-public interface ITagEditInfo
-{
- /**
- * @return true if is a widget
- */
- public boolean isWidget();
-
- /**
- * @return true if a border decorator is needed
- */
- public boolean needBorderDecorator();
-
- /**
- * @return true if a table decorator is needed
- */
- public boolean needTableDecorator();
-
- /**
- * for some element in design mode we want to them to have a default min
- * size.
- *
- * @return positive value means an expected min size.
- */
- public int getMinWidth();
-
- /**
- * @return the minimum height
- */
- public int getMinHeight();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/StyleUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/StyleUtil.java
deleted file mode 100644
index 635576fb0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/StyleUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.style;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class StyleUtil {
- /**
- * @param style
- * @return true if the style is in a widget
- */
- public static boolean isInWidget(ICSSStyle style) {
- while (style != null && style != DefaultStyle.getInstance()) {
- ITagEditInfo info = (ITagEditInfo) style
- .getAdapter(ITagEditInfo.class);
- if (info != null && info.isWidget()) {
- return true;
- }
-
- style = style.getParentStyle();
- }
- return false;
- }
-
- private StyleUtil()
- {
- // util class
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/value/Length.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/value/Length.java
deleted file mode 100644
index be1938740..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/value/Length.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.value;
-
-/**
- * @author mengbo
- */
-public class Length {
- /**
- * Constant for 0 length
- */
- public static final Length LENGTH_0 = new Length(0, false);
-
- /**
- * Constant for 1 length
- */
- public static final Length LENGTH_1 = new Length(1, false);
-
- /**
- * Constant for 2 length
- */
- public static final Length LENGTH_2 = new Length(2, false);
-
- /**
- * Constant for 3 length
- */
- public static final Length LENGTH_3 = new Length(3, false);
-
- /**
- * Constant for 8 length
- */
- public static final Length LENGTH_8 = new Length(8, false);
-
- private final boolean _percentage;
-
- private final int _value;
-
- /**
- * @param value
- * @param percentage
- */
- public Length(int value, boolean percentage) {
- _value = value;
- _percentage = percentage;
- }
-
- /**
- * @return true if value is a percentage
- */
- public boolean isPercentage() {
- return _percentage;
- }
-
- /**
- * @return the length value
- */
- public int getValue() {
- return _value;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/AbstractWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/AbstractWidgetProvider.java
deleted file mode 100644
index c29d39f02..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/AbstractWidgetProvider.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class AbstractWidgetProvider implements ICSSWidgetProvider {
- final static int BORDERTHICK = 2;
-
- private final ICSSStyle _style;
-
- /**
- * @param style
- */
- public AbstractWidgetProvider(ICSSStyle style) {
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getCSSStyle()
- */
- public ICSSStyle getCSSStyle() {
- return _style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#isHandlingBorder()
- */
- public boolean isHandlingBorder() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#isInline()
- */
- public boolean isInline() {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/BorderUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/BorderUtil.java
deleted file mode 100644
index 65659f611..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/BorderUtil.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class BorderUtil {
- /**
- * vertical bar style
- */
- public final static int VERTICAL_BAR = 0;
-
- /**
- * horizontal bar style
- */
- public final static int HORIZONTAL_BAR = 1;
-
- /**
- * both scroll bar style
- */
- public final static int BOTH = 2;
-
- /**
- * The scroll width
- */
- public final static int SCROLL_WIDTH = 16;
-
- /**
- * the border thickness
- */
- public final static int BORDER_THICK = 2;
-
- /**
- * draw a mask to a rectangle
- *
- * @param g
- * @param rect
- * @param color
- *
- */
- public static void maskRectangle(Graphics g, Rectangle rect, Color color) {
- // set default if one not provided
- if (color == null) {
- color = ColorConstants.blue;
- }
-
- // get old information and keep them
- int lineStyle = g.getLineStyle();
- Color foregroundColor = g.getForegroundColor();
-
- g.setLineStyle(SWT.LINE_SOLID);
- g.setForegroundColor(color);
- for (int i = 0, n = rect.height; i < n; i++, i++) {
- for (int j = 0, m = rect.width; j < m; j++, j++) {
- g.drawLine(rect.x + j, rect.y + i, rect.x + j, rect.y + i);
- }
- }
-
- // restore to the old state
- g.setLineStyle(lineStyle);
- g.setForegroundColor(foregroundColor);
- }
-
- /**
- * @param g
- * @param rect
- * @param thick
- * @param inset
- */
- public static void drawBorder(Graphics g, Rectangle rect, int thick,
- boolean inset) {
- drawBorder(g, rect.x, rect.y, rect.width, rect.height, thick, inset);
- }
-
- /**
- * draw a standard border.
- *
- * @param g
- * @param left
- * @param top
- * @param width
- * @param height
- * @param thick
- * @param inset
- */
- public static void drawBorder(Graphics g, int left, int top, int width,
- int height, int thick, boolean inset) {
- Color[] ltColors = new Color[] {
- Display.getCurrent().getSystemColor(
- SWT.COLOR_WIDGET_LIGHT_SHADOW),
- Display.getCurrent().getSystemColor(
- SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW) };
- if (inset) {
- ltColors = new Color[] { ColorConstants.buttonDarker,
- ColorConstants.buttonDarkest };
- }
- for (int i = 0; i < thick; i++) {
- g.setForegroundColor(ltColors[ltColors.length * i / thick]);
- g.drawLine(left + i, top + i, left + width - 1 - i, top + i);
- g.drawLine(left + i, top + i, left + i, top + height - i - i);
- }
-
- Color[] rbColors = new Color[] {
- Display.getCurrent().getSystemColor(
- SWT.COLOR_WIDGET_DARK_SHADOW),
- Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY) };
- if (inset) {
- rbColors = new Color[] { ColorConstants.buttonLightest,
- ColorConstants.button };
- }
- for (int i = 0; i < thick; i++) {
- g.setForegroundColor(rbColors[ltColors.length * i / thick]);
- g.drawLine(left + i, top - i + height - 1, left + width - 1 - i,
- top - i + height - 1);
- g.drawLine(left + width - 1 - i, top + i, left + width - 1 - i, top
- + height - 1 - i);
- }
- }
-
- /**
- * @param g
- * @param scrollWidth
- * @param rect
- * @param style
- */
- public static void drawScrollBar(Graphics g, int scrollWidth,
- Rectangle rect, int style) {
- drawScrollBar(g, scrollWidth, BORDER_THICK, rect, style);
- }
-
- /**
- * @param g
- * @param scrollWidth
- * @param borderThick
- * @param rect
- * @param style
- */
- public static void drawScrollBar(Graphics g, int scrollWidth,
- int borderThick, Rectangle rect, int style) {
- if (style == BOTH) {
- int width = scrollWidth;
- int left = rect.x + rect.width - width;
- int top = rect.y;
- int height = rect.height;
- Rectangle barRect = new Rectangle(left, top, width, height);
- fillBar(g, barRect);
- barRect = new Rectangle(left, top, width, height - scrollWidth);
- drawVerticalPart(g, scrollWidth, borderThick, barRect);
-
- left = rect.x + borderThick;
- top = top + height - scrollWidth;
- width = rect.width;
- height = scrollWidth;
- barRect = new Rectangle(left, top, width, height);
- fillBar(g, barRect);
- barRect = new Rectangle(left, top, width - scrollWidth - 2, height);
- drawHorizontalPart(g, scrollWidth, borderThick, barRect);
- } else if (style == VERTICAL_BAR) {
- int width = scrollWidth;
- int left = rect.x + rect.width - width;
- int top = rect.y;
- int height = rect.height;
- Rectangle barRect = new Rectangle(left, top, width, height);
- fillBar(g, barRect);
- drawVerticalPart(g, scrollWidth, borderThick, barRect);
- } else if (style == HORIZONTAL_BAR) {
- int left = rect.x + borderThick;
- int top = rect.y + rect.height - scrollWidth;
- int width = rect.width;
- int height = scrollWidth;
- Rectangle barRect = new Rectangle(left, top, width, height);
- fillBar(g, barRect);
- drawHorizontalPart(g, scrollWidth, borderThick, barRect);
- }
- }
-
- private static void fillBar(Graphics g, Rectangle rect) {
- g.setBackgroundColor(ColorConstants.button);
- g.fillRectangle(rect);
- }
-
- private static void drawVerticalPart(Graphics g, int arrawLength,
- int borderThick, Rectangle rect) {
- int left = rect.x;
- int top = rect.y;
- int width = Math.min(arrawLength, rect.width);
- int height = Math.min(arrawLength, rect.height / 2);
-
- Rectangle borderRect = new Rectangle(left, top, width, height);
- BorderUtil.drawBorder(g, borderRect, borderThick, false);
-
- g.setForegroundColor(ColorConstants.black);
- int decoratorWidth = (width - borderThick * 2) / 2;
- int length = decoratorWidth / 2 + 1;
- int leftX = rect.x + (width - decoratorWidth) / 2 - 1;
- int bottomY = rect.y + (height + length) / 2 - 1;
- for (int i = 0; i < length; i++) {
- g.drawLine(leftX + i, bottomY - i, leftX - i + decoratorWidth,
- bottomY - i);
- }
-
- top = rect.y + rect.height - height;
- borderRect = new Rectangle(left, top, width, height);
- BorderUtil.drawBorder(g, borderRect, borderThick, false);
-
- int topY = top + (height - length) / 2;
- g.setForegroundColor(ColorConstants.black);
- for (int i = 0; i < length; i++) {
- g.drawLine(leftX + i, topY + i, leftX - i + decoratorWidth, topY
- + i);
- }
- }
-
- private static void drawHorizontalPart(Graphics g, int arrawLength,
- int borderThick, Rectangle rect) {
- int left = rect.x;
- int top = rect.y;
- int width = Math.min(arrawLength, rect.width / 2);
- int height = Math.min(arrawLength, rect.height);
-
- Rectangle borderRect = new Rectangle(left, top, width, height);
- BorderUtil.drawBorder(g, borderRect, borderThick, false);
-
- g.setForegroundColor(ColorConstants.black);
- int decoratorHeight = (height - borderThick * 2) / 2;
- int length = decoratorHeight / 2 + 1;
- int leftX = rect.x + (width + length) / 2 - 1;
- int bottomY = rect.y + (height - length) / 2 - 1;
- for (int i = 0; i < length; i++) {
- g.drawLine(leftX - i, bottomY + i, leftX - i, bottomY - i
- + decoratorHeight);
- }
-
- left = rect.x + rect.width - width;
- borderRect = new Rectangle(left, top, width, height);
- BorderUtil.drawBorder(g, borderRect, borderThick, false);
-
- leftX = left + (width - length) / 2;
- g.setForegroundColor(ColorConstants.black);
- for (int i = 0; i < length; i++) {
- g.drawLine(leftX + i, bottomY + i, leftX + i, bottomY - i
- + decoratorHeight);
- }
- }
-
- /**
- * @param g
- * @param arrawWidth
- * @param arrawHeight
- * @param borderThick
- * @param rect
- */
- public static void drawVertialBar(Graphics g, int arrawWidth,
- int arrawHeight, int borderThick, Rectangle rect) {
- drawScrollBar(g, arrawWidth, borderThick, rect, VERTICAL_BAR);
- }
-
- /**
- * @param figure
- * @param graphics
- */
- public static void drawBorderDecorator(CSSFigure figure, Graphics graphics) {
- graphics.setLineWidth(1);
- graphics.setLineStyle(Graphics.LINE_DASH);
- graphics.setForegroundColor(ColorConstants.lightGray);
- List fragments = figure.getFragmentsForRead();
- for (int i = 0, size = fragments.size(); i < size; i++) {
- FlowBox box = (FlowBox) fragments.get(i);
- // XXX: why -1?
- graphics.drawRectangle(box.getX(), box.getY(), box.getWidth() - 1, box
- .getHeight() - 1);
- }
- graphics.restoreState();
- }
-
- /**
- * @param figure
- * @param g
- */
- public static void maskFigure(CSSFigure figure, Graphics g) {
- List fragments = figure.getFragmentsForRead();
- for (int i = 0, size = fragments.size(); i < size; i++) {
- FlowBox box = (FlowBox) fragments.get(i);
- maskRectangle(g, new Rectangle(box.getX(), box.getY(), box.getWidth(), box
- .getHeight()), null);
- }
- }
-
- private BorderUtil()
- {
- // util class, no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ButtonWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ButtonWidgetProvider.java
deleted file mode 100644
index b6d33a23a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ButtonWidgetProvider.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.layout.TextLayoutSupport;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyMeta;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * For ButtonWidget, it displays some text value in it. And lays the text with
- * nowrap.
- *
- * @author mengbo
- * @version 1.5
- */
-public class ButtonWidgetProvider extends AbstractWidgetProvider {
- // The button width should include the label length and padding,
- // to let the button looks fine, we set the padding 0.46 width as the label
- // length.
- private final static double HORIZONTAL_RATE = 1.46;
-
- // The button height should include the label height and padding,
- // to let the button looks fine, we set the padding 0.36 height as the
- // character height.
- private final static double VERTICAL_PADDING_RATE = 0.36;
-
- private static final String[] DEFAULTLINES = new String[] { " " }; //$NON-NLS-1$
-
- private String _value = ""; //$NON-NLS-1$
-
- private String[] _lines = DEFAULTLINES;
-
- /**
- * @param style
- */
- public ButtonWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
- }
- if (height <= 0) {
- height = getDefaultHeight();
- }
- return new DimensionInfo(new Dimension(width, height), -1);
- }
-
- /**
- * by default, the combo's width will be calculated from the longest option
- * value.
- *
- * @return the default width value
- */
- public int getDefaultWidth() {
- int longestStringWidth = 0;
- if (_lines != null) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtFont = font.getSwtFont();
- for (int i = 0; i < _lines.length; i++) {
- int width = FigureUtilities.getTextWidth(_lines[i], swtFont);
- if (width > longestStringWidth) {
- longestStringWidth = width;
- }
- }
- }
- // text area width + padding
- return (int) ((longestStringWidth) * HORIZONTAL_RATE);
- }
-
- /**
- *
- * @return the default height value
- * @see TextInputWidgetProvider#getDefaultHeight()
- */
- public int getDefaultHeight() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- int fontHeight = FigureUtilities.getFontMetrics(swtfont).getHeight();
- return (int) ((fontHeight) * (_lines.length + VERTICAL_PADDING_RATE));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- Object textAlign = style
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN);
- if (ICSSPropertyMeta.NOT_SPECIFIED == textAlign) {
- textAlign = "center"; //$NON-NLS-1$
- }
- Font font = style.getCSSFont().getSwtFont();
- g.setFont(font);
- int fontHeight = FigureUtilities.getFontMetrics(font).getHeight();
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- } else {
- g.setForegroundColor(ColorConstants.black);
- }
-
- g.clipRect(rect);
-
- int y = rect.y + (int) (fontHeight * VERTICAL_PADDING_RATE / 2);
- if (rect.height > fontHeight * _lines.length) {
- y = rect.y + (rect.height - fontHeight * _lines.length) / 2;
- }
-
- for (int i = 0; i < _lines.length && y < rect.y + rect.height; i++) {
- int width = FigureUtilities.getTextWidth(_lines[i], font);
- int x = TextLayoutSupport.getBeginX(textAlign, rect, width);
- g.drawString(_lines[i], x, y);
- TextLayoutSupport.paintTextDecoration(g, new Rectangle(x, y, width,
- fontHeight), ((Integer) getCSSStyle().getStyleProperty(
- ICSSPropertyID.ATTR_TEXTDECORATION)).intValue());
- y += fontHeight;
- }
-
- if (newColor != null) {
- newColor.dispose();
- }
- }
-
- /**
- * @param value
- */
- public void setValue(String value) {
- if (value == null) {
- value = ""; //$NON-NLS-1$
- }
- _value = value;
- _lines = splitValue(_value);
- }
-
- /**
- * Split the value to multiple lines.
- *
- * @param _value2
- * @return
- */
- private String[] splitValue(String _value2) {
- if (_value2 == null || "".equals(_value2)) { //$NON-NLS-1$
- return DEFAULTLINES;
- }
-
- StringTokenizer tokenizer = new StringTokenizer(_value2, "\r\n"); //$NON-NLS-1$
- String[] result = new String[tokenizer.countTokens()];
- for (int i = 0; i < result.length; i++) {
- result[i] = tokenizer.nextToken().replaceAll("\t", " "); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/CheckboxWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/CheckboxWidgetProvider.java
deleted file mode 100644
index 54e319e2e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/CheckboxWidgetProvider.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CheckboxWidgetProvider extends AbstractWidgetProvider {
- private boolean isChecked;
-
- /**
- * @param style
- */
- public CheckboxWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
- }
- if (height <= 0) {
- height = getDefaultWidth();
- }
- return new DimensionInfo(new Dimension(width, height), height * 4 / 5);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- int centerX = rect.x + rect.width / 2;
- int centerY = rect.y + rect.height / 2;
-
- // we always draw it as a square.
- int width = Math.min(rect.width, rect.height);
- int innerWidth = width * 4 / 5;
-
- int left = centerX - innerWidth / 2;
- int top = centerY - innerWidth / 2;
- BorderUtil.drawBorder(g, left, top, innerWidth, innerWidth, 2, true);
- if (isChecked()) {
- g.pushState();
- Display display = Display.getCurrent();
- g.setForegroundColor(display.getSystemColor(SWT.COLOR_BLACK));
- g.drawLine(left + 3, top + 2, left + innerWidth - 3, top
- + innerWidth - 4);
- g.drawLine(left + 2, top + 2, left + innerWidth - 3, top
- + innerWidth - 3);
-
- g.drawLine(left + innerWidth - 4, top + 2, left + 2, top
- + innerWidth - 4);
- g.drawLine(left + innerWidth - 3, top + 2, left + 2, top
- + innerWidth - 3);
- g.popState();
- }
- }
-
- /**
- * @return the default width
- */
- private int getDefaultWidth() {
- // FIXME: don't know the how to define the default width yet.
- return 15;
- }
-
- /**
- * @return Returns the checked.
- */
- public boolean isChecked() {
- return isChecked;
- }
-
- /**
- * @param checked
- */
- public void setChecked(boolean checked) {
- this.isChecked = checked;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ComboWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ComboWidgetProvider.java
deleted file mode 100644
index 632a8a0f6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ComboWidgetProvider.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ComboWidgetProvider extends AbstractWidgetProvider {
- private static final int VERTICAL_PADDING = 6;
-
- private static final int HORIZONTAL_PADDING = 12;
-
- private static int ARRAWWIDTH = 16;
-
- //private static int ARROWHEIGHT = 16;
-
- private String _firstString;
-
- private String _longestString;
-
- private String _label;
-
- /**
- * @param style
- */
- public ComboWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
-
- }
- if (height <= 0) {
- height = getDefaultHeight();
- }
- return new DimensionInfo(new Dimension(width, height), -1);
- }
-
- /**
- * by default, the combo's width will be calculated from the longest option
- * value.
- *
- * @return the default width
- */
- private int getDefaultWidth() {
- int textareaWidth;
- if (this._longestString == null || this._longestString.length() == 0) {
- textareaWidth = 20;
- } else {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
-
- textareaWidth = FigureUtilities.getTextWidth(_longestString, font
- .getSwtFont());
- }
- return textareaWidth + ARRAWWIDTH + HORIZONTAL_PADDING;
- }
-
- /**
- *
- * @return the default height
- * @see TextInputWidgetProvider#getDefaultHeight()
- */
- public int getDefaultHeight() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- int fontSize = FigureUtilities.getFontMetrics(swtfont).getHeight();
- return fontSize + VERTICAL_PADDING;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- if (this._firstString != null) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- g.setFont(font.getSwtFont());
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- } else {
- g.setForegroundColor(ColorConstants.black);
- }
- g.clipRect(rect);
- String label = _label != null ? _label : _firstString;
- label = label.replaceAll("[ \r\n]+", " "); //$NON-NLS-1$ //$NON-NLS-2$
- if (label.endsWith(" ")) { //$NON-NLS-1$
- label = label.substring(0, label.length() - 1);
- }
- g.drawString(label, rect.x + HORIZONTAL_PADDING / 2, rect.y
- + VERTICAL_PADDING / 2);
- if (newColor != null) {
- newColor.dispose();
- }
-
- }
-
- BorderUtil.drawBorder(g, rect.x, rect.y, rect.width, rect.height,
- BORDERTHICK, true);
- // next the drop down button
- int width = ARRAWWIDTH;
- int left = rect.x + rect.width - width - BORDERTHICK;
- int top = rect.y + BORDERTHICK;
- int height = rect.height - BORDERTHICK * 2;
- g.setBackgroundColor(ColorConstants.button);
- g.fillRectangle(left, top, width, height);
-
- Rectangle borderRect = new Rectangle(left, top, width, height);
- BorderUtil.drawBorder(g, borderRect.x, borderRect.y, borderRect.width,
- borderRect.height, BORDERTHICK, false);
-
- g.setForegroundColor(ColorConstants.black);
-
- int decoratorWidth = (width - BORDERTHICK * 2) / 2;
- int length = decoratorWidth / 2 + 1;
- int leftX = left + (width - decoratorWidth) / 2 - 1;
- int topY = top + (height - length) / 2 + 1;
- for (int i = 0; i < length; i++) {
- g.drawLine(leftX + i, topY + i, leftX - i + decoratorWidth, topY
- + i);
- }
- }
-
- /**
- * set the options to be displayed in this combo box. Will calculate out the
- * first string and the longest string.
- *
- * @param options
- */
- public void setOptions(String[] options) {
- if (options == null || options.length == 0) {
- this._firstString = null;
- this._longestString = null;
- } else {
- this._firstString = options[0];
- this._longestString = (options[0] == null ? "" : options[0]); //$NON-NLS-1$
- for (int i = 1; i < options.length; i++) {
- if (options[i] == null) {
- continue;
- }
- if (options[i].length() > this._longestString.length()) {
- this._longestString = options[i];
- }
- }
- }
- }
-
- /**
- * @param label
- */
- public void setSelectedLabel(String label) {
- this._label = label;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#isHandlingBorder()
- */
- public boolean isHandlingBorder() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/HiddenProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/HiddenProvider.java
deleted file mode 100644
index bfd79cf55..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/HiddenProvider.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.HiddenElementStyle;
-import org.eclipse.jst.pagedesigner.parts.EditProxyAdapter;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class HiddenProvider extends ImageWidgetProvider {
- private final static int GAP = 3;
-
- private String _label = null;
-
- private boolean _labelVisible = true;
-
- private FontMetrics _fontMetrics;
-
- /**
- * @param image
- * @param convertedElement
- */
- public HiddenProvider(Image image, Element convertedElement) {
- super(image, new HiddenElementStyle(convertedElement, new PDPreferences()));
- }
-
- /**
- * @param image
- * @param editPart
- */
- public HiddenProvider(Image image, ElementEditPart editPart) {
- super(image, new HiddenElementStyle(new EditProxyAdapter(editPart), new PDPreferences()));
- }
-
- // public HiddenProvider(Image image, String label)
- // {
- // this(image);
- // this._label = label;
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- int preWidth = width;
- int preHeight = height;
- _fontMetrics = getFontMetrics();
- if (width <= 0) {
- preWidth = getLabelWidth() + _imageWidth;
- }
- if (height <= 0) {
- preHeight = Math.max(getLabelHeight(), _imageHeight);
- }
- return new DimensionInfo(preWidth, preHeight, -1);
- }
-
- private FontMetrics getFontMetrics() {
- Font swtfont = Display.getCurrent().getSystemFont();
- return FigureUtilities.getFontMetrics(swtfont);
- }
-
- private int getLabelHeight() {
- if (_labelVisible && (_label != null) && (!_label.equals("")) //$NON-NLS-1$
- && (_fontMetrics != null)) {
- return _fontMetrics.getHeight();
- }
- return 0;
- }
-
- /**
- * @return the label width
- */
- public int getLabelWidth() {
- if (_labelVisible && _label != null && !_label.equals("") //$NON-NLS-1$
- && _fontMetrics != null) {
- Font swtfont = Display.getCurrent().getSystemFont();
- return FigureUtilities.getTextWidth(_label, swtfont) + GAP;
- }
- return 0;
- }
-
- public void paintFigure(Graphics g,
- org.eclipse.draw2d.geometry.Rectangle rect) {
- g.fillRectangle(rect);
- g.setClip(rect);
- int imageAreaWidth = Math.min(rect.width, _imageWidth);
- int imageAreaHeight = Math.min(rect.height, _imageHeight);
- if (_image != null && !_image.isDisposed()) {
- g.drawImage(_image, 0, 0, _imageWidth, _imageHeight, rect.x, rect.y
- + (rect.height - imageAreaHeight) / 2, imageAreaWidth,
- imageAreaHeight);
- }
- if (_label != null && _labelVisible) {
- int leading = 0;
- if (_fontMetrics != null) {
- leading = _fontMetrics.getLeading();
- }
- // TODO: adapt to bg: go lighter on colors that darker() would make black
- // TODO: color registry
- Color fg = FigureUtilities.darker(g.getBackgroundColor());
- g.setForegroundColor(fg);
- g.drawString(_label, imageAreaWidth + GAP, rect.y
- + (rect.height - getLabelHeight()) / 2 + leading);
- fg.dispose();
- }
- }
-
- /**
- * @return the label text
- */
- public String getLabel() {
- return _label;
- }
-
- /**
- * @param label
- */
- public void setLabel(String label) {
- this._label = label;
- }
-
- /**
- * @return whether the label is visible
- */
- public boolean isLabelVisible() {
- return _labelVisible;
- }
-
- /**
- * @param labelVisible
- */
- public void setLabelVisible(boolean labelVisible) {
- this._labelVisible = labelVisible;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ImageWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ImageWidgetProvider.java
deleted file mode 100644
index a88caab73..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ImageWidgetProvider.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author mengbo
- */
-public class ImageWidgetProvider extends AbstractWidgetProvider {
- private static final String NOPIC_IMAGE_NAME = "PD_nopic.jpg"; //$NON-NLS-1$
-
- private static Image _noPicImage;
-
- private static int _noPicWidth;
-
- private static int _noPicHeight;
-
- /**
- * the image
- */
- protected Image _image;
-
- /**
- * image width
- */
- protected int _imageWidth;
-
- /**
- * image height
- */
- protected int _imageHeight;
-
- /**
- * @param image
- * @param style
- */
- public ImageWidgetProvider(Image image, ICSSStyle style) {
- super(style);
-
- // set up image and image width/height
- org.eclipse.swt.graphics.Rectangle rect = null;
- if (image != null) {
- rect = image.getBounds();
- if (rect.width <= 0 || rect.height <= 0) {
- useNoPicImage();
- } else {
- _image = image;
- _imageWidth = rect.width;
- _imageHeight = rect.height;
- }
- } else {
- useNoPicImage();
- }
- }
-
- /**
- *
- */
- private void useNoPicImage() {
- if (_noPicImage == null || _noPicImage.isDisposed()) {
- ImageDescriptor noPicImageDesc = PDPlugin.getDefault()
- .getImageDescriptor(NOPIC_IMAGE_NAME);
- _noPicImage = noPicImageDesc.createImage();
- org.eclipse.swt.graphics.Rectangle rect = _noPicImage.getBounds();
- _noPicWidth = rect.width;
- _noPicHeight = rect.height;
- }
- _image = _noPicImage;
- _imageWidth = _noPicWidth;
- _imageHeight = _noPicHeight;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0 && height <= 0) {
- // we are free, so use image size
- org.eclipse.swt.graphics.Rectangle a = _image.getBounds();
- return new DimensionInfo(a.width, a.height, -1);
- } else if (width > 0 && height > 0) {
- return new DimensionInfo(width, height, -1);
- } else if (height > 0) {
- width = (int) ((double) _imageWidth * height / _imageHeight);
- return new DimensionInfo(width, height, -1);
- } else {
- height = (int) ((double) _imageHeight * width / _imageWidth);
- return new DimensionInfo(width, height, -1);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- if (_image != null) {
- g.drawImage(_image, 0, 0, _imageWidth, _imageHeight, rect.x,
- rect.y, rect.width, rect.height);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/InputFileWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/InputFileWidgetProvider.java
deleted file mode 100644
index 6b5dbf54e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/InputFileWidgetProvider.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.border.CSSBorder;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.MessageFormater;
-
-/**
- * @author mengbo
- */
-public class InputFileWidgetProvider extends AbstractWidgetProvider {
- private static final String BODER_QUERY_TEMPLETE = "border-{0}-style"; //$NON-NLS-1$
-
- private static final int GAP = 2;
-
- private ICSSWidgetProvider _sub1;
-
- private ICSSWidgetProvider _sub2;
-
- /**
- * @param style
- * @param sub1
- * @param sub2
- */
- public InputFileWidgetProvider(ICSSStyle style, ICSSWidgetProvider sub1,
- ICSSWidgetProvider sub2) {
- super(style);
- _sub1 = sub1;
- _sub2 = sub2;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- Insets borderInset = new Insets();
- Insets borderPaddingInset = new Insets();
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- borderInset = style.getBorderInsets();
- borderPaddingInset = borderInset.getAdded(style.getPaddingInsets());
- }
-
- Dimension d1 = _sub1.getPreferredDimension(-1, -1).getDimension();
- Dimension d2 = _sub2.getPreferredDimension(-1, -1).getDimension();
-
- int minWidth = d2.width + 2 * (borderInset.left + borderInset.right)
- + GAP;
- int prefWidth = d1.width + d2.width + 2
- * (borderPaddingInset.left + borderPaddingInset.right) + GAP;
- int minHeight = borderInset.top + borderInset.bottom;
- int prefHeight = Math.max(d1.height, d2.height)
- + borderPaddingInset.top + borderPaddingInset.bottom;
-
- if (width > 0 && minWidth > width) {
- prefWidth = minWidth;
- } else if (width != 0) {
- prefWidth = width;
- }
-
- if (height > 0 && minHeight > height) {
- prefHeight = minHeight;
- } else if (height != 0) {
- prefHeight = height;
- }
- return new DimensionInfo(prefWidth, prefHeight, -1);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- Rectangle rect1, rect2;
-
- Insets borderInset = new Insets();
- Insets paddingInset = new Insets();
- Insets borderPaddingInset = new Insets();
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- borderInset = style.getBorderInsets();
- paddingInset = style.getPaddingInsets();
- borderPaddingInset.add(borderInset).add(paddingInset);
- }
-
- Dimension d1 = _sub1.getPreferredDimension(-1, -1).getDimension();
- Dimension d2 = _sub2.getPreferredDimension(-1, -1).getDimension();
- int prefWidth = d1.width + d2.width + 2 * borderPaddingInset.left + 2
- * borderPaddingInset.right + GAP;
- if (rect.width < prefWidth) {
- paddingInset.left = 0;
- paddingInset.right = 0;
- }
- int prefHeight = Math.max(d1.height, d2.height)
- + borderPaddingInset.top + borderPaddingInset.bottom;
- if (rect.height < prefHeight) {
- paddingInset.top = 0;
- paddingInset.bottom = 0;
- }
-
- int width = rect.width
- - d2.width
- - (borderInset.left + borderInset.right + paddingInset.left + paddingInset.right)
- - GAP;
- rect1 = new Rectangle(rect.x - 1, rect.y, width, rect.height);
- rect2 = new Rectangle(rect.x + rect1.width + 2, rect.y, rect.width
- - rect1.width - 3, rect.height);
- Rectangle innerRect1 = rect1.getCopy().crop(borderInset);
- Rectangle innerRect2 = rect2.getCopy().crop(borderInset);
-
- g.pushState();
- g.setBackgroundColor(ColorConstants.button);
- g.fillRectangle(innerRect2);
- g.popState();
-
- CSSBorder cssBorder = new CSSBorder(style);
- String[] edges = new String[] { ICSSStyle.LEFT, ICSSStyle.RIGHT,
- ICSSStyle.TOP, ICSSStyle.BOTTOM };
- for (int i = 0; i < edges.length; i++) {
- cssBorder.paintEdge(g, rect1, innerRect1, edges[i],
- getBorderStyle(edges[i]));
- }
- for (int i = 0; i < edges.length; i++) {
- String borderStyle = getBorderStyle(edges[i]);
- if (ICSSPropertyID.VAL_INSET.equals(borderStyle)) {
- borderStyle = ICSSPropertyID.VAL_OUTSET;
- }
- cssBorder.paintEdge(g, rect2, innerRect2, edges[i], borderStyle);
- }
-
- _sub2.paintFigure(g, innerRect2.getCopy().crop(paddingInset));
- // _sub1.paintFigure(g, innerRect1.crop(paddingInset));
- }
-
- private String getBorderStyle(String edge) {
- ICSSStyle style = getCSSStyle();
- if (style != null) {
- String property = MessageFormater
- .format(BODER_QUERY_TEMPLETE, edge);
- String borderStyle = style.getStyleProperty(property).toString();
- return borderStyle;
- }
- return ICSSPropertyID.VAL_HIDDEN;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#isHandlingBorder()
- */
- public boolean isHandlingBorder() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ListWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ListWidgetProvider.java
deleted file mode 100644
index 39e27b8b9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/ListWidgetProvider.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ListWidgetProvider extends AbstractWidgetProvider {
- private static int DEFAULTSIZE = 4;
-
- private static final int VERTICAL_PADDING = 6;
-
- private static final int HORIZONTAL_PADDING = 12;
-
- private static int ARRAWWIDTH = 16;
-
- private static int ARROWHEIGHT = 16;
-
- private String[] _options;
-
- private int _rows = DEFAULTSIZE;
-
- /**
- * @param style
- */
- public ListWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
- }
- if (height <= 0) {
- height = getDefaultHeight();
- }
- return new DimensionInfo(width, height, -1);
- }
-
- /**
- * by default, the combo's width will be calculated from the longest option
- * value.
- *
- * @return the default width
- */
- public int getDefaultWidth() {
- int longestStringWidth = 0;
- if (_options != null) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtFont = font.getSwtFont();
- for (int i = 0; i < _options.length; i++) {
- int width = FigureUtilities.getTextWidth(_options[i], swtFont);
- if (width > longestStringWidth) {
- longestStringWidth = width;
- }
- }
- }
- // text area width + borderWidth + vertical scroll width
- return (longestStringWidth) + HORIZONTAL_PADDING + ARRAWWIDTH;
- }
-
- /**
- *
- * @return the default height
- * @see TextInputWidgetProvider#getDefaultHeight()
- */
- public int getDefaultHeight() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- int fontHeight = FigureUtilities.getFontMetrics(swtfont).getHeight();
- return (fontHeight) * _rows + VERTICAL_PADDING;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- BorderUtil.drawBorder(g, rect.x, rect.y, rect.width, rect.height,
- BORDERTHICK, true);
- if (_options != null) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- g.setFont(swtfont);
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- } else {
- g.setForegroundColor(ColorConstants.black);
- }
- int fontHeight = FigureUtilities.getFontMetrics(swtfont)
- .getHeight();
- int x = rect.x + HORIZONTAL_PADDING / 2;
- int y = rect.y + VERTICAL_PADDING / 2;
-
- g.clipRect(rect);
- for (int i = 0; i < _options.length
- && (i * fontHeight < rect.height - VERTICAL_PADDING); i++) {
- g.drawString(_options[i], x, y);
- y += fontHeight;
- }
- if (newColor != null) {
- newColor.dispose();
- }
-
- int borderThick = 2;
- Rectangle barRect = new Rectangle(rect.x, rect.y + borderThick,
- rect.width - borderThick, rect.height - 2 * borderThick);
- BorderUtil.drawVertialBar(g, ARRAWWIDTH, ARROWHEIGHT, borderThick,
- barRect);
- }
- }
-
- /**
- * @param string
- * @param x
- * @param y
- * @return
- */
- private String normalize(String string) {
- if (string == null) {
- return ""; //$NON-NLS-1$
- }
- int index = string.indexOf('\r');
- if (index >= 0) {
- string = string.substring(0, index);
- }
- index = string.indexOf('\n');
- if (index >= 0) {
- string = string.substring(0, index);
- }
- return string;
- }
-
- /**
- * set the options to be displayed in this combo box.
- *
- * @param options
- */
- public void setOptions(String[] options) {
- this._options = options;
- if (_options != null) {
- for (int i = 0; i < _options.length; i++) {
- _options[i] = normalize(_options[i]);
- }
- }
- }
-
- /**
- * set the default number of rows to be displayed.
- *
- * @param rows
- */
- public void setRows(int rows) {
- _rows = (rows > 0 ? rows : DEFAULTSIZE);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#isHandlingBorder()
- */
- public boolean isHandlingBorder() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/RadioWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/RadioWidgetProvider.java
deleted file mode 100644
index 980171f01..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/RadioWidgetProvider.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RadioWidgetProvider extends AbstractWidgetProvider {
- private boolean isChecked;
-
- /**
- * @param style
- */
- public RadioWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
- }
- if (height <= 0) {
- height = getDefaultWidth();
- }
- return new DimensionInfo(width, height, height * 4 / 5);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- int centerX = rect.x + rect.width / 2;
- int centerY = rect.y + rect.height / 2;
-
- // we always draw it as a circle.
- int width = Math.min(rect.width, rect.height);
- int cycleWidth = width * 3 / 5;
-
- // FIXME: when the size of the radio is big, the line width may need
- // calculate to be bigger.
- int lineWidth = 2;
- g.setLineWidth(lineWidth);
-
- g.setForegroundColor(ColorConstants.buttonDarker);
- g.drawArc(centerX - cycleWidth / 2, centerY - cycleWidth + 1,
- cycleWidth, cycleWidth, 45, 180);
-
- g.setForegroundColor(ColorConstants.button);
- g.drawArc(centerX - cycleWidth / 2, centerY - cycleWidth + 1,
- cycleWidth, cycleWidth, 225, 180);
-
- // since the two cycle may not overlap very well, some space between
- // them will be displayed.
- // so we make the bigger cycle to be a little thicker.
- cycleWidth += (2 * lineWidth - 2);
- lineWidth += 1;
-
- if (cycleWidth < width) {
- g.setForegroundColor(ColorConstants.buttonDarkest);
- g.drawArc(centerX - cycleWidth / 2, centerY - cycleWidth + 1,
- cycleWidth, cycleWidth, 45, 180);
- }
-
- if (isChecked()) {
- g.setBackgroundColor(ColorConstants.black);
- g.fillArc(centerX - 1, centerY - cycleWidth / 2 - 1, 4, 4, 0, 360);
- }
- }
-
- /**
- * @return the default width
- */
- public final int getDefaultWidth() {
- // FIXME: don't know the how to define the default width yet.
- return 15;
- }
-
- /**
- * @return Returns the checked.
- */
- public boolean isChecked() {
- return isChecked;
- }
-
- /**
- * @param checked
- */
- public void setChecked(boolean checked) {
- this.isChecked = checked;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextAreaWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextAreaWidgetProvider.java
deleted file mode 100644
index 77aea6525..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextAreaWidgetProvider.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.layout.TextLayoutSupport;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TextAreaWidgetProvider extends AbstractWidgetProvider {
- private static final int DEFAULTCOLUMN = 20;
-
- private static final int DEFAULTROWS = 2;
-
- private static final int VERTICAL_PADDING = 2;
-
- private static final int HORIZONTAL_PADDING = 2;
-
- private static int ARRAWWIDTH = 16;
-
- private static int ARROWHEIGHT = 16;
-
- private int _columns = DEFAULTCOLUMN;
-
- private int _rows = DEFAULTROWS;
-
- private String _value;
-
- /**
- * @param style
- */
- public TextAreaWidgetProvider(ICSSStyle style) {
- super(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
- }
- if (height <= 0) {
- height = getDefaultHeight();
- }
- return new DimensionInfo(width, height, -1);
- }
-
- /**
- * @return
- */
- private int getDefaultHeight() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- int fontHeight = FigureUtilities.getFontMetrics(swtfont).getHeight();
-
- return (fontHeight) * _rows + VERTICAL_PADDING;
- }
-
- /**
- * @return
- */
- private int getDefaultWidth() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
-
- int fontWidth = FigureUtilities.getFontMetrics(font.getSwtFont())
- .getAverageCharWidth();
- return _columns * fontWidth + ARRAWWIDTH + HORIZONTAL_PADDING;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- if (_value != null) {
- g.clipRect(rect);
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- int decoration = ((Integer) style
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTDECORATION))
- .intValue();
- ICSSFont font = style.getCSSFont();
- g.setFont(font.getSwtFont());
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- } else {
- g.setForegroundColor(ColorConstants.black);
- }
-
- Object textAlign = style
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN);
- int begin = 0;
- int end = 0;
- int fontHeight = FigureUtilities.getFontMetrics(font.getSwtFont())
- .getHeight();
-
- int fontWidth = FigureUtilities.getFontMetrics(font.getSwtFont())
- .getAverageCharWidth();
- int columns = (rect.width - HORIZONTAL_PADDING) / fontWidth;
-
- int i = 0;
- while (true) {
- int y = rect.y + VERTICAL_PADDING / 2 + fontHeight * i;
- if (y >= rect.bottom()) {
- break;
- }
- end += columns;
- if (end > _value.length()) {
- end = _value.length();
- }
- end = getTextCount(begin, end, g.getFont(), rect.width
- - ARRAWWIDTH);
-
- String text = _value.substring(begin, end);
-
- int width = FigureUtilities.getTextWidth(text, g.getFont());
- int x = TextLayoutSupport.getBeginX(textAlign, rect, width);
- g.drawString(text, x, y);
-
- TextLayoutSupport.paintTextDecoration(g, new Rectangle(x, y,
- width, fontHeight), decoration);
- begin = end;
-
- if (end == _value.length()) {
- break;
- }
- i++;
- }
- if (newColor != null) {
- newColor.dispose();
- }
- }
- int borderThick = 2;
- BorderUtil
- .drawVertialBar(g, ARRAWWIDTH, ARROWHEIGHT, borderThick, rect);
- }
-
- private int getTextCount(int begin, int end, Font swtFont, int textWidth) {
- while (FigureUtilities.getTextWidth(_value.substring(begin, end),
- swtFont) > textWidth) {
- end--;
- }
- return end;
- }
-
- /**
- * @param columns
- */
- public void setColumns(int columns) {
- this._columns = (columns > 0 ? columns : DEFAULTCOLUMN);
- }
-
- /**
- * @param rows
- */
- public void setRows(int rows) {
- this._rows = (rows > 0 ? rows : DEFAULTROWS);
- }
-
- /**
- * @param value
- */
- public void setValue(String value) {
- this._value = value;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextInputWidgetProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextInputWidgetProvider.java
deleted file mode 100644
index 966c5b8c3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/widget/TextInputWidgetProvider.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.css2.widget;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.FigureUtilities;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.font.ICSSFont;
-import org.eclipse.jst.pagedesigner.css2.layout.TextLayoutSupport;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.DimensionInfo;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TextInputWidgetProvider extends AbstractWidgetProvider {
- private static final int VERTICAL_INCREMENT = 2;
-
- /**
- * password size
- */
- public static final int PWD_SIZE = 18;
-
- private int DEFAULTSIZE = 20;
-
- private int _size = DEFAULTSIZE;
-
- private String _value;
-
- /**
- * @param style
- */
- public TextInputWidgetProvider(ICSSStyle style) {
- this(style, 20);
- }
-
- /**
- * @param style
- * @param size
- */
- public TextInputWidgetProvider(ICSSStyle style, int size) {
- super(style);
- DEFAULTSIZE = size;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#getPreferredDimension(int,
- * int)
- */
- public DimensionInfo getPreferredDimension(int width, int height) {
- if (width <= 0) {
- width = getDefaultWidth();
-
- }
- if (height <= 0) {
- height = getDefaultHeight();
- }
- return new DimensionInfo(width, height, -1);
- }
-
- /**
- * @return
- */
- private int getDefaultHeight() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- ICSSFont font = style.getCSSFont();
- Font swtfont = font.getSwtFont();
- int fontSize = FigureUtilities.getFontMetrics(swtfont).getHeight();
- return fontSize + VERTICAL_INCREMENT;
- }
-
- /**
- * @return the default width
- */
- public int getDefaultWidth() {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- return computeWidth(style.getCSSFont());
- }
-
- private int computeWidth(ICSSFont font) {
- int fontWidth = FigureUtilities
- .getTextWidth("abcde", font.getSwtFont());//$NON-NLS-1$
- return (fontWidth + 1) * _size / 5;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider#paintFigure(org.eclipse.draw2d.Graphics,
- * org.eclipse.draw2d.geometry.Rectangle)
- */
- public void paintFigure(Graphics g, Rectangle rect) {
- String value = getValue();
- if (value != null) {
- ICSSStyle style = this.getCSSStyle();
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
- Object textAlign = style
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTALIGN);
-
- Font font = style.getCSSFont().getSwtFont();
- g.setFont(font);
-
- Color newColor = null;
- Object color = style.getColor();
- if (color instanceof Color) {
- g.setForegroundColor((Color) color);
- } else if (color instanceof RGB) {
- newColor = new Color(Display.getCurrent(), (RGB) color);
- g.setForegroundColor(newColor);
- } else {
- g.setForegroundColor(ColorConstants.black);
- }
- g.clipRect(rect);
- int width = FigureUtilities.getTextWidth(value, g.getFont());
- int x = TextLayoutSupport.getBeginX(textAlign, rect, width);
- int y = rect.y + VERTICAL_INCREMENT / 2;
-
- g.drawString(value, x, y);
- TextLayoutSupport.paintTextDecoration(g, new Rectangle(x, y, width,
- g.getFontMetrics().getHeight()), ((Integer) getCSSStyle()
- .getStyleProperty(ICSSPropertyID.ATTR_TEXTDECORATION))
- .intValue());
- if (newColor != null) {
- newColor.dispose();
- }
- }
- }
-
- /**
- * set the value in this text input control
- *
- * @param value
- */
- public void setValue(String value) {
- this._value = value;
- }
-
- /**
- * @param size
- */
- public void setSize(int size) {
- this._size = (size <= 0 ? DEFAULTSIZE : size);
- }
-
- /**
- * get current value in this text input control
- *
- * @return the value
- */
- public String getValue() {
- return _value;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/FeedBackInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/FeedBackInfo.java
deleted file mode 100644
index f405bbcf2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/FeedBackInfo.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd;
-
-/**
- * @author mengbo
- */
-public class FeedBackInfo {
- private String _description;
-
- private int _order;
-
- /**
- * @param desc
- * @param order
- */
- public FeedBackInfo(String desc, int order) {
- this._description = desc;
- }
-
- /**
- * the description may be used in tooltip or wizard dialog selection to tell
- * user the effect of the drop.
- *
- * @return the description
- */
- public String getDescription() {
- return _description;
- }
-
- /**
- * how important this feedback is. This information may be used when we
- * ordering the choices in the wizard.
- *
- * range from 0-10, the bigger, the more important.
- *
- * @return the order
- */
- public int getOrder() {
- return _order;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/ILocalDropHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/ILocalDropHandler.java
deleted file mode 100644
index 11378a1c7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/ILocalDropHandler.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public interface ILocalDropHandler {
- /**
- * whether this handler will use wizard for user to config detail
- *
- * @return true if should use wizard
- */
- public boolean useWizard();
-
- /**
- * @param localData
- * @param viewer
- * @return true if should use wizard
- */
- public boolean useWizard(Object localData, IHTMLGraphicalViewer viewer);
-
- /**
- *
- * @param localData
- * @param widget
- * @return the feed back info
- */
- public FeedBackInfo supportUpdateWidget(Object localData, Node widget);
-
- /**
- * This method will only be called when <code>supportUpdateWidget</code>
- * return true and <code>useWizard</code> return true.
- *
- * @param localData
- * @param widget
- * @param viewer
- * @return the wizard
- */
- public IWizard getWizard(Object localData, Node widget,
- IHTMLGraphicalViewer viewer);
-
- /**
- * this method is called when the handler don't support wizard.
- *
- * @param localData
- * @param widget
- * @param viewer
- */
- public void doUpdateWidget(Object localData, Node widget,
- IHTMLGraphicalViewer viewer);
-
- /**
- *
- * @param localData
- * @param position
- * @return the feedback info
- */
- public FeedBackInfo supportInsertElements(Object localData,
- IDOMPosition position);
-
- /**
- *
- * @param localData
- * @param position
- * @param viewer
- * @return the wizard
- */
- public IWizard getWizard(Object localData, IDOMPosition position,
- IHTMLGraphicalViewer viewer);
-
- /**
- * @param localData
- * @param position
- * @param viewer
- */
- public void doInsertElements(Object localData, IDOMPosition position,
- IHTMLGraphicalViewer viewer);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/LocalDropRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/LocalDropRequest.java
deleted file mode 100644
index 47d140c2e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/LocalDropRequest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DropRequest;
-
-/**
- * @author mengbo
- */
-public class LocalDropRequest extends Request implements DropRequest {
- // XXX: need move this constant to somewhere else.
- /**
- * the request name for local drops
- */
- public static final String REQ_LOCAL_DROP = "Local Drop"; //$NON-NLS-1$
-
- private Point _location;
-
- private Object _localObject;
-
- /**
- *
- */
- public LocalDropRequest() {
- super(REQ_LOCAL_DROP);
- }
-
- /**
- * Returns the location of the object to be created.
- *
- * @return the location
- */
- public Point getLocation() {
- return _location;
- }
-
- /**
- * Sets the location where the new object will be placed.
- *
- * @param location
- * the location
- */
- public void setLocation(Point location) {
- this._location = location;
- }
-
- /**
- * @return the local object
- */
- public Object getLocalObject() {
- return _localObject;
- }
-
- /**
- * @param local
- */
- public void setLocalObject(Object local) {
- this._localObject = local;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceDropTargetListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceDropTargetListener.java
deleted file mode 100644
index 20af24473..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceDropTargetListener.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.jst.pagedesigner.commands.PaletteDropInsertCommand;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.ExtendedEditorDropTargetAdapter;
-
-/**
- * @author mengbo
- */
-public class DesignerSourceDropTargetListener extends
- ExtendedEditorDropTargetAdapter implements
- ITextEditorDropTargetListener {
- private int _location;
-
- private StructuredTextEditor _textEditor;
-
- /**
- * @param textEditor
- */
- public DesignerSourceDropTargetListener(StructuredTextEditor textEditor) {
- super(false);
- _textEditor = textEditor;
- setTextViewer(_textEditor.getTextViewer());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.texteditor.ITextEditorDropTargetListener#getTransfers()
- */
- public Transfer[] getTransfers() {
- return new Transfer[] { TemplateTransfer.getInstance(),
- TextTransfer.getInstance() };
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void dragOperationChanged(DropTargetEvent event) {
- super.dragOperationChanged(event);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#dragOver(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void dragOver(DropTargetEvent event) {
- StyledText text = null;
- if (_textEditor.getTextViewer() != null) {
- text = _textEditor.getTextViewer().getTextWidget();
- if (TemplateTransfer.getInstance().isSupportedType(
- event.currentDataType)) {
- if (_textEditor.getTextViewer() != null) {
- Point p = new Point(event.x, event.y);
- SourceViewerDragDropHelper.getInstance().updateCaret(
- _textEditor, p);
- _location = text.getCaretOffset();
- if (TemplateTransfer.getInstance().isSupportedType(
- event.currentDataType)) {
- _location = SourceViewerDragDropHelper.getInstance()
- .getValidLocation(_textEditor, _location);
- }
- SourceViewerDragDropHelper.getInstance().showCaret(
- _textEditor, _location);
- }
-
- } else if (TextTransfer.getInstance().isSupportedType(
- event.currentDataType)) {
- super.dragOver(event);
- _location = text.getCaretOffset();
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void drop(DropTargetEvent event) {
- StyledText text = null;
- if (_textEditor.getTextViewer() != null) {
- text = _textEditor.getTextViewer().getTextWidget();
- }
- text.setCaretOffset(_location);
- Command command = getCommand(event);
- if (command == null) {
- return;
- }
- command.execute();
- }
-
- private Command getCommand(DropTargetEvent event) {
- if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {
- Object data = event.data;
- if (data instanceof String) {
- SourceViewLocalDropCommand command = new SourceViewLocalDropCommand(
- _textEditor, data, _location);
- return command;
- }
- } else if (TemplateTransfer.getInstance().isSupportedType(
- event.currentDataType)) {
- Object data = event.data;
- PaletteDropInsertCommand command = null;
- if (data instanceof IDropSourceData) {
- final IDropSourceData dropSourceData = (IDropSourceData) data;
- // "Create new item"
- command = new PaletteDropInsertCommand(
- PageDesignerResources
- .getInstance()
- .getString(
- "DesignerSourceDropTargetListener.InserCommandLabel"), _textEditor, dropSourceData, _location); //$NON-NLS-1$
-
- }
- return command;
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceMouseTrackAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceMouseTrackAdapter.java
deleted file mode 100644
index a39dce50d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceMouseTrackAdapter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.jst.pagedesigner.commands.PaletteDropInsertCommand;
-import org.eclipse.jst.pagedesigner.commands.SourceViewerCommand;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceDataProvider;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.ExtendedEditorDropTargetAdapter;
-
-/**
- * @author mengbo
- */
-public class DesignerSourceMouseTrackAdapter extends
- ExtendedEditorDropTargetAdapter implements MouseListener,
- MouseMoveListener {
- private int _location;
-
- private StructuredTextEditor _textEditor;
-
- private EditDomain _domain;
-
- /**
- * @param textEditor
- * @param domain
- */
- public DesignerSourceMouseTrackAdapter(StructuredTextEditor textEditor,
- EditDomain domain) {
- super(false);
- _textEditor = textEditor;
- _domain = domain;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseMove(MouseEvent event) {
- //Feedback is handled by DesignerSourceDropTargetListener - commenting out below
- Object object = getPaletteObject();
- StyledText text = null;
- if (_textEditor.getTextViewer() != null) {
- text = _textEditor.getTextViewer().getTextWidget();
- } else {
- return;
- }
- if (object == null) {
- // set to default cusror
- text.setCursor(null);
- return;
- }
- Point p = new Point(event.x, event.y);
- p = _textEditor.getTextViewer().getTextWidget().toDisplay(p);
- SourceViewerDragDropHelper.getInstance().updateCaret(_textEditor, p);
- _location = text.getCaretOffset();
- _location = SourceViewerDragDropHelper.getInstance().getValidLocation(
- _textEditor, _location);
- _location = SourceViewerDragDropHelper.getInstance().showCaret(
- _textEditor, _location);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseUp(MouseEvent event) {
- if (event.button != 1) {
- if (_domain.getPaletteViewer() != null) {
- _domain.getPaletteViewer().setActiveTool(null);
- }
- return;
- }
- SourceViewerCommand command = getCommand(event);
- if (command != null) {
- command.execute();
- resetPalette();
- }
- _location = 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.palette.PaletteListener#activeToolChanged(org.eclipse.gef.ui.palette.PaletteViewer,
- * org.eclipse.gef.palette.ToolEntry)
- */
- private IDropSourceDataProvider getPaletteObject() {
- if (_domain.getPaletteViewer() != null) {
- Object tool = _domain.getPaletteViewer().getActiveTool();
- if (tool instanceof IDropSourceDataProvider) {
- return (IDropSourceDataProvider) tool;
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseDoubleClick(MouseEvent e) {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseDown(MouseEvent e) {
- // do nothing
- }
-
- private PaletteDropInsertCommand getCommand(MouseEvent event) {
- IDropSourceDataProvider data = getPaletteObject();
- PaletteDropInsertCommand command = null;
- if (data != null) {
- // "Create new item"
- command = new PaletteDropInsertCommand(
- PageDesignerResources
- .getInstance()
- .getString(
- "DesignerSourceDropTargetListener.InserCommandLabel"), //$NON-NLS-1$
- _textEditor, data.getDropSourceData(), _location);
- }
- return command;
- }
-
- private void resetPalette() {
- if (_domain.getPaletteViewer() != null) {
- ToolEntry tool = _domain.getPaletteViewer().getPaletteRoot()
- .getDefaultEntry();
- if (tool != null) {
- _domain.getPaletteViewer().setActiveTool(tool);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DropSelectionWizard.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DropSelectionWizard.java
deleted file mode 100644
index 9b0cfbfa8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DropSelectionWizard.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dnd.ILocalDropHandler;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class DropSelectionWizard extends Wizard {
- private final String INTIAL_DEFAULT_PAGE_IMAGE = "newsuade_wiz.gif"; //$NON-NLS-1$
-
- private Object _localData;
-
- private IHTMLGraphicalViewer _viewer;
-
- private Map _feedbackToHandlers;
-
- private boolean _updateWidget;
-
- private Node _widget;
-
- private IDOMPosition _position;
-
- private SimpleWizardSelectionPage _firstPage;
-
- private DropSelectionWizard(IHTMLGraphicalViewer viewer, Object localData,
- Map handlers) {
- this.setWindowTitle(Messages.getString("DropSelectionWizard.Title")); //$NON-NLS-1$
- ImageDescriptor desc = PDPlugin.getDefault().getImageDescriptor(
- INTIAL_DEFAULT_PAGE_IMAGE);
- setDefaultPageImageDescriptor(desc);
- this._viewer = viewer;
- this._localData = localData;
- this._feedbackToHandlers = handlers;
-
- _firstPage = new SimpleWizardSelectionPage(_viewer, _localData,
- _feedbackToHandlers);
- }
-
- /**
- * @param viewer
- * @param localData
- * @param handlers
- * @param widget
- */
- public DropSelectionWizard(IHTMLGraphicalViewer viewer, Object localData,
- Map handlers, Node widget) {
- this(viewer, localData, handlers);
- _updateWidget = true;
- _widget = widget;
-
- _firstPage.setWidget(widget);
- }
-
- /**
- * @param viewer
- * @param localData
- * @param handlers
- * @param position
- */
- public DropSelectionWizard(IHTMLGraphicalViewer viewer, Object localData,
- Map handlers, IDOMPosition position) {
- this(viewer, localData, handlers);
- _updateWidget = false;
- _position = position;
-
- _firstPage.setPosition(position);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.Wizard#addPages()
- */
- public void addPages() {
- addPage(_firstPage);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.Wizard#needsPreviousAndNextButtons()
- */
- public boolean needsPreviousAndNextButtons() {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.Wizard#canFinish()
- */
- public boolean canFinish() {
- if (getContainer().getCurrentPage() == _firstPage) {
- Object obj = _firstPage.getCurrentHandler();
- if (obj instanceof ILocalDropHandler)
- {
- return true;
- }
- return false;
- }
- return super.canFinish();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.IWizard#performFinish()
- */
- public boolean performFinish() {
- if (getContainer().getCurrentPage() == _firstPage) {
- Object obj = _firstPage.getCurrentHandler();
- if (obj instanceof ILocalDropHandler) {
- ILocalDropHandler handler = (ILocalDropHandler) obj;
- if (_updateWidget) {
- handler.doUpdateWidget(_localData, _widget, _viewer);
- } else {
- handler.doInsertElements(_localData, _position, _viewer);
- }
- return true;
- }
- }
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropCommand.java
deleted file mode 100644
index d1eaf8677..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropCommand.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.Map;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.CommonWizardDialog;
-import org.eclipse.jst.pagedesigner.dnd.ILocalDropHandler;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.widgets.Shell;
-import org.w3c.dom.Node;
-
-/**
- * This is the command that performs the drop operation. There is no need for
- * this command to go into command stack, it simply open wizards, and let
- * wizards to handle the remaining things.
- *
- * @author mengbo
- */
-public class LocalDropCommand extends Command {
- /**
- * the map from feedback to ILocalDropHandler
- */
- private Map _feedbackToHandlers;
-
- private IHTMLGraphicalViewer _viewer;
-
- private Object _localObject;
-
- private Node _widget;
-
- private IDOMPosition _position;
-
- /**
- * constructor
- * @param viewer
- * @param localObject
- * @param feedbackHandlers
- */
- public LocalDropCommand(IHTMLGraphicalViewer viewer, Object localObject,
- Map feedbackHandlers) {
- _viewer = viewer;
- _localObject = localObject;
- _feedbackToHandlers = feedbackHandlers;
- }
-
- /**
- * @param widget
- */
- public void setWidget(Node widget) {
- _widget = widget;
- }
-
- /**
- * @param position
- */
- public void setDOMPosition(IDOMPosition position) {
- _position = position;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- if (_feedbackToHandlers.size() == 1) {
- // only have one choice.
- ILocalDropHandler handler = (ILocalDropHandler) _feedbackToHandlers
- .values().toArray()[0];
- if (handler.useWizard(_localObject, _viewer)) {
- IWizard wizard;
- if (_widget != null) {
- wizard = handler.getWizard(_localObject, _widget, _viewer);
- } else {
- wizard = handler
- .getWizard(_localObject, _position, _viewer);
- }
- CommonWizardDialog wizardDialog = new CommonWizardDialog(
- getShell(), wizard);
- wizardDialog.setTitle(Messages
- .getString("LocalDropCommand.DropHandler")); //$NON-NLS-1$
- wizardDialog.create();
- wizardDialog.open();
- } else {
- if (_widget != null) {
- handler.doUpdateWidget(_localObject, _widget, _viewer);
- } else {
- handler.doInsertElements(_localObject, _position, _viewer);
- }
- }
- } else {
- CommonWizardDialog wizardDialog = new CommonWizardDialog(
- getShell(), getWizard());
- wizardDialog.setTitle(Messages
- .getString("LocalDropCommand.DropHandler")); //$NON-NLS-1$
- wizardDialog.setBlockOnOpen(false);
- wizardDialog.create();
- wizardDialog.open();
- }
- }
-
- /**
- * @return
- */
- private IWizard getWizard() {
- if (_widget != null) {
- return new DropSelectionWizard(_viewer, _localObject,
- _feedbackToHandlers, _widget);
- }
- return new DropSelectionWizard(_viewer, _localObject,
- _feedbackToHandlers, _position);
- }
-
- /**
- * @return
- */
- private Shell getShell() {
- return _viewer.getControl().getShell();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropEditPolicy.java
deleted file mode 100644
index 5076d6ca6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalDropEditPolicy.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.RectangleFigure;
-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.commands.Command;
-import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
-import org.eclipse.jst.pagedesigner.dnd.FeedBackInfo;
-import org.eclipse.jst.pagedesigner.dnd.ILocalDropHandler;
-import org.eclipse.jst.pagedesigner.dnd.LocalDropRequest;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editpolicies.LocationHelper;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.tools.ExposeHelper;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.DnDPositionValidator;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.EditPartPositionHelper;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * This is the editpolicy to handle LocalSelectionDrop
- *
- * @author mengbo
- */
-public class LocalDropEditPolicy extends GraphicalEditPolicy {
- private RectangleFigure _feedbackFigure;
-
- // indicate whether update is checked
- private static boolean _checkUpdate = true;
-
- /**
- * @param widgetEditPart
- * @param request
- * @param results
- * @return true if should update widget
- */
- public boolean checkUpdateWidget(EditPart widgetEditPart,
- LocalDropRequest request, Map results) {
- if (!(widgetEditPart instanceof ElementEditPart)) {
- return false;
- }
- Node widget = ((ElementEditPart) widgetEditPart).getIDOMNode();
- ILocalDropHandler[] handlers = RegistryReader.getAllHandlers();
- Object localData = request.getLocalObject();
- for (int i = 0; i < handlers.length; i++) {
- FeedBackInfo feedback = handlers[i].supportUpdateWidget(localData,
- widget);
- if (feedback != null) {
- results.put(feedback, handlers[i]);
- }
- }
- return !results.isEmpty();
- }
-
- /**
- * @param request
- * @param host
- * @param results
- * @param dpHolder
- * @param position
- * @return true if should insert element
- */
- public boolean checkInsertElement(LocalDropRequest request,
- EditPart[] host, Map results, DesignPosition[] dpHolder,
- IDOMPosition[] position) {
- DesignPosition designPosition = EditPartPositionHelper
- .findEditPartPosition(host[0], request.getLocation(),
- new DnDPositionValidator(new ActionData(
- ActionData.DATABINDING_DND, request)));
- dpHolder[0] = designPosition;
- if (designPosition == null) {
- return false;
- }
-
- host[0] = designPosition.getContainerPart();
- position[0] = DOMPositionHelper.toDOMPosition(designPosition);
- ILocalDropHandler[] handlers = RegistryReader.getAllHandlers();
- Object localData = request.getLocalObject();
- for (int i = 0; i < handlers.length; i++) {
- FeedBackInfo feedback = handlers[i].supportInsertElements(
- localData, position[0]);
- if (feedback != null) {
- results.put(feedback, handlers[i]);
- }
- }
- return !results.isEmpty();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
- */
- public EditPart getTargetEditPart(Request request) {
- if (request instanceof LocalDropRequest) {
- LocalDropRequest r = (LocalDropRequest) request;
- EditPart host = getHost();
- if (_checkUpdate && checkUpdateWidget(host, r, new HashMap())) {
- return host;
- }
- EditPart[] hostHolder = new EditPart[] { host };
- if (checkInsertElement(r, hostHolder, new HashMap(),
- new DesignPosition[1], new IDOMPosition[1])) {
- return hostHolder[0];
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request) {
- if (request instanceof LocalDropRequest) {
- LocalDropRequest r = (LocalDropRequest) request;
- EditPart host = getHost();
-
- Map result = new HashMap();
- if (_checkUpdate && checkUpdateWidget(host, r, result)) {
- LocalDropCommand command = new LocalDropCommand(
- getViewer(host), r.getLocalObject(), result);
- command.setWidget(((NodeEditPart) host).getIDOMNode());
- return command;
- }
- result.clear();
-
- EditPart[] hostHolder = new EditPart[] { host };
- IDOMPosition[] positionHolder = new IDOMPosition[1];
- if (checkInsertElement(r, hostHolder, result,
- new DesignPosition[1], positionHolder)) {
- LocalDropCommand command = new LocalDropCommand(
- getViewer(host), r.getLocalObject(), result);
- command.setDOMPosition(positionHolder[0]);
- return command;
- }
- }
- return null;
- }
-
- /**
- * @param host
- * @return
- */
- private IHTMLGraphicalViewer getViewer(EditPart host) {
- return (IHTMLGraphicalViewer) ((GraphicalEditPart) host).getViewer();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
- */
- public void eraseTargetFeedback(Request request) {
- if (_feedbackFigure != null) {
- removeFeedback(_feedbackFigure);
- _feedbackFigure = null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#showTargetFeedback(org.eclipse.gef.Request)
- */
- public void showTargetFeedback(Request request) {
- if (request instanceof LocalDropRequest) {
- LocalDropRequest r = (LocalDropRequest) request;
- EditPart host = getHost();
- if (_checkUpdate && checkUpdateWidget(host, r, new HashMap())) {
- Rectangle rect = LocationHelper
- .getAbsoluteBounds((GraphicalEditPart) host);
- showFeedbackRect(rect);
- return;
- }
- EditPart[] hostHolder = new EditPart[] { host };
- DesignPosition[] holder = new DesignPosition[1];
- if (checkInsertElement(r, hostHolder, new HashMap(), holder,
- new IDOMPosition[1])) {
- Rectangle rect = EditPartPositionHelper
- .convertToAbsoluteCaretRect(holder[0]);
- showFeedbackRect(rect);
- if (getHost() instanceof GraphicalEditPart) {
- ExposeHelper exposeHelper = new ExposeHelper(
- getViewer(getHost()));
- exposeHelper.adjustVertical(r.getLocation());
- }
- return;
- }
- }
- }
-
- /**
- * @return the feedback figure
- */
- protected RectangleFigure getFeedbackFigure() {
- if (_feedbackFigure == null) {
- _feedbackFigure = new RectangleFigure();
- _feedbackFigure.setFill(true);
- _feedbackFigure.setOutline(true);
- _feedbackFigure.setLineWidth(1);
- _feedbackFigure.setForegroundColor(ColorConstants.red);
- _feedbackFigure.setBounds(new Rectangle(0, 0, 0, 0));
- _feedbackFigure.setXOR(true);
- addFeedback(_feedbackFigure);
- }
- return _feedbackFigure;
- }
-
- /**
- * @param rect
- */
- protected void showFeedbackRect(Rectangle rect) {
- RectangleFigure pf = getFeedbackFigure();
- pf.translateToRelative(rect);
- pf.setBounds(rect);
- }
-
- /**
- * @return Returns the _forUpdate.
- */
- public static boolean isCheckUpdate() {
- return _checkUpdate;
- }
-
- /**
- * @param update
- * The _forUpdate to set.
- */
- public static void setCheckUpdate(boolean update) {
- _checkUpdate = update;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalSelectionDropTargetListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalSelectionDropTargetListener.java
deleted file mode 100644
index e09ff352c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/LocalSelectionDropTargetListener.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.dnd.AbstractTransferDropTargetListener;
-import org.eclipse.jface.util.LocalSelectionTransfer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.jsf.common.ui.internal.guiutils.Alerts;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dnd.LocalDropRequest;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-
-/**
- * @author mengbo
- */
-public class LocalSelectionDropTargetListener extends
- AbstractTransferDropTargetListener {
- /**
- * @param viewer
- */
- public LocalSelectionDropTargetListener(EditPartViewer viewer) {
- super(viewer, LocalSelectionTransfer.getTransfer());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#createTargetRequest()
- */
- protected Request createTargetRequest() {
- LocalDropRequest request = new LocalDropRequest();
- request.setLocation(getDropLocation());
- request.setLocalObject(getCurrentLocalObject());
- return request;
- }
-
- /**
- * @return the current local object
- */
- private Object getCurrentLocalObject() {
- ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
- if (sel instanceof IStructuredSelection) {
- return ((IStructuredSelection) sel).getFirstElement();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#updateTargetRequest()
- */
- protected void updateTargetRequest() {
- LocalDropRequest dropRequest = (LocalDropRequest) getTargetRequest();
- dropRequest.setLocation(getDropLocation());
- dropRequest.setLocalObject(getCurrentLocalObject());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#setCurrentEvent(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void setCurrentEvent(DropTargetEvent currentEvent) {
- super.setCurrentEvent(currentEvent);
- if (currentEvent != null) {
- if (currentEvent.detail != DND.DROP_NONE) {
- currentEvent.detail = DND.DROP_COPY;
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void dragOperationChanged(DropTargetEvent event) {
- // switch the insert or update
- if ((event.detail & (DND.DROP_COPY)) != 0) {
- LocalDropEditPolicy.setCheckUpdate(false);
- } else {
- LocalDropEditPolicy.setCheckUpdate(true);
- }
- super.dragOperationChanged(event);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void drop(DropTargetEvent event) {
- String path = ((IHTMLGraphicalViewer) getViewer()).getModel()
- .getBaseLocation();
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IWorkspaceRoot root = workspace.getRoot();
- IPath filePath = new Path(path);
- if (root.getFile(filePath).exists()) {
- getViewer().getControl().setFocus();
- super.drop(event);
- LocalDropEditPolicy.setCheckUpdate(true);
- } else {
- Alerts alert = PDPlugin.getAlerts();
- alert.info("LocalSelectionDropTargetListener.MessageDialog.Title", //$NON-NLS-1$
- "LocalSelectionDropTargetListener.MessageDialog.Message"); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/Messages.java
deleted file mode 100644
index f7baa6e72..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * A message bundle for dnd
- *
- */
-/*package*/ class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.dnd.internal.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the message for key
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/PDTemplateTransferDropTargetListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/PDTemplateTransferDropTargetListener.java
deleted file mode 100644
index 8e8519324..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/PDTemplateTransferDropTargetListener.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.dnd.AbstractTransferDropTargetListener;
-import org.eclipse.gef.dnd.TemplateTransfer;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.CreateItemCommand;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.DropCustomizationController;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PDTemplateTransferDropTargetListener extends
- AbstractTransferDropTargetListener {
-
- /**
- * @param viewer
- */
- public PDTemplateTransferDropTargetListener(EditPartViewer viewer) {
- super(viewer, TemplateTransfer.getInstance());
- }
-
- /**
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#createTargetRequest()
- */
- protected Request createTargetRequest() {
- ItemCreationRequest request = new ItemCreationRequest();
- /*TODO: nothing is done with this var. Does the method have a side-effect? TagToolPaletteEntry tagItem =*/TemplateTransfer.getInstance().getTemplate();
- return request;
- }
-
- /**
- * A helper method that casts the target Request to a CreateRequest.
- *
- * @return CreateRequest
- */
- protected final Request getCreateRequest() {
- return getTargetRequest();
- }
-
- /**
- * The purpose of a template is to be copied. Therefore, the drop operation
- * can't be anything but <code>DND.DROP_COPY</code>.
- *
- * @see AbstractTransferDropTargetListener#handleDragOperationChanged()
- */
- protected void handleDragOperationChanged() {
- getCurrentEvent().detail = DND.DROP_COPY;
- super.handleDragOperationChanged();
- }
-
- /**
- * The purpose of a template is to be copied. Therefore, the Drop operation
- * is set to <code>DND.DROP_COPY</code> by default.
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#handleDragOver()
- */
- protected void handleDragOver() {
- getCurrentEvent().detail = DND.DROP_COPY;
- getCurrentEvent().feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_EXPAND;
- super.handleDragOver();
- }
-
- /**
- * Assumes that the target request is a {@link org.eclipse.gef.requests.CreateRequest}.
- */
- protected void updateTargetRequest() {
- // We should never see request that is not of ItemCreationRequest type,
- // but there is an error case that Eclipse send out other types
- // requests.
- // Add this test to avoid potential error.
- if (getCreateRequest() instanceof ItemCreationRequest) {
- ItemCreationRequest request = (ItemCreationRequest) getCreateRequest();
- Object transferObj = TemplateTransfer.getInstance().getObject();
-
- if (transferObj instanceof IDropSourceData)
- {
- request.setTagCreationProvider((IDropSourceData) transferObj);
- request.setLocation(getDropLocation());
- }
- else
- {
- PDPlugin.getLogger(this.getClass()).error("Unexpected transfer object on palette drag:"+transferObj, new Throwable("Artificial throwable for stack tracing")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- public void drop(DropTargetEvent event) {
- if (getCreateRequest() instanceof ItemCreationRequest) {
- getViewer().getControl().setFocus();
- super.drop(event);
- }
- }
-
- @Override
- protected void handleDrop()
- {
- // copied from AbstractTransferDropListener and modified for drop
- // customization
- updateTargetRequest();
- updateTargetEditPart();
-
- if (getTargetEditPart() != null) {
- Command command = getCommand();
- if (command != null && command.canExecute())
- if (customizeAndCheckExecute(command))
- {
- getViewer().getEditDomain().getCommandStack().execute(command);
- }
- else
- getCurrentEvent().detail = DND.DROP_NONE;
- } else
- getCurrentEvent().detail = DND.DROP_NONE;
- }
-
- private boolean customizeAndCheckExecute(final Command command)
- {
- if (command instanceof CreateItemCommand)
- {
- final ItemCreationRequest request = (ItemCreationRequest) getCreateRequest();
- final CreateItemCommand createCommand = (CreateItemCommand) command;
- final IStatus status =
- new DropCustomizationController(createCommand, request.getTagCreationProvider(), createCommand.getDocument(), createCommand.getPosition())
- .performCustomization();
-
- return status.getSeverity() == IStatus.OK;
- }
- // don't block a drop if the command is not customizable
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/RegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/RegistryReader.java
deleted file mode 100644
index 9b38e707b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/RegistryReader.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dnd.ILocalDropHandler;
-
-/**
- * Read the registry to find out all the LocalDropHandlers.
- *
- * @author mengbo
- */
-public class RegistryReader {
- final private static Logger _log = PDPlugin.getLogger(RegistryReader.class);
-
- private static ILocalDropHandler[] _handlers = null;
-
- /**
- * @return all registered drop handlers
- */
- public static synchronized ILocalDropHandler[] getAllHandlers() {
- if (_handlers == null) {
- _handlers = readAllHandlers();
- }
- return _handlers;
-
- }
-
- private static ILocalDropHandler[] readAllHandlers() {
- List result = new ArrayList();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++) {
- IExtension ext = extensions[i];
- IConfigurationElement[] dropHandlers = ext
- .getConfigurationElements();
-
- for (int j = 0; j < dropHandlers.length; j++) {
- if (dropHandlers[j].getName().equals(
- IJMTConstants.LOCAL_DROP_HANDLER)) {
- dropHandlers[j].getAttribute("class"); //$NON-NLS-1$
- Object obj;
- try {
- obj = dropHandlers[j]
- .createExecutableExtension("class"); //$NON-NLS-1$
-
- if (obj instanceof ILocalDropHandler) {
- result.add(obj);
- }
- } catch (CoreException e) {
- _log.info("CoreException", e); //$NON-NLS-1$
- }
- }
- }
- }
- ILocalDropHandler[] ret = new ILocalDropHandler[result.size()];
- result.toArray(ret);
- return ret;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/ResouceDropTargetListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/ResouceDropTargetListener.java
deleted file mode 100644
index 873c6413c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/ResouceDropTargetListener.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.dnd.AbstractTransferDropTargetListener;
-import org.eclipse.jst.pagedesigner.dnd.LocalDropRequest;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-
-/**
- * The drop target listener for DnD from Windows explorer.
- *
- * @author mengbo
- * @version 1.5
- */
-public class ResouceDropTargetListener extends
- AbstractTransferDropTargetListener {
-
- /**
- * @param viewer
- */
- public ResouceDropTargetListener(EditPartViewer viewer) {
- super(viewer, FileTransfer.getInstance());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#createTargetRequest()
- */
- protected Request createTargetRequest() {
- LocalDropRequest request = new LocalDropRequest();
- request.setLocation(getDropLocation());
- request.setLocalObject(getCurrentLocalObject());
- return request;
- }
-
- private Object getCurrentLocalObject() {
- Object result = null;
- try {
- Object data = ((FileTransfer) getTransfer())
- .nativeToJava(getCurrentEvent().currentDataType);
- if (data instanceof String[]) {
- result = ((String[]) data)[0];
- }
- } catch (Exception e) {
- // Don't know the tag type.
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#updateTargetRequest()
- */
- protected void updateTargetRequest() {
- LocalDropRequest dropRequest = (LocalDropRequest) getTargetRequest();
- dropRequest.setLocation(getDropLocation());
- dropRequest.setLocalObject(getCurrentLocalObject());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.dnd.AbstractTransferDropTargetListener#setCurrentEvent(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void setCurrentEvent(DropTargetEvent currentEvent) {
- super.setCurrentEvent(currentEvent);
- if (currentEvent != null) {
- if (currentEvent.detail != DND.DROP_NONE) {
- currentEvent.detail = DND.DROP_COPY;
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void dragOperationChanged(DropTargetEvent event) {
- // switch the insert or update
- if ((event.detail & (DND.DROP_COPY)) != 0) {
- LocalDropEditPolicy.setCheckUpdate(false);
- } else {
- LocalDropEditPolicy.setCheckUpdate(true);
- }
- super.dragOperationChanged(event);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
- */
- public void drop(DropTargetEvent event) {
- getViewer().getControl().setFocus();
- super.drop(event);
- LocalDropEditPolicy.setCheckUpdate(true);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SimpleWizardSelectionPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SimpleWizardSelectionPage.java
deleted file mode 100644
index c507c2a6c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SimpleWizardSelectionPage.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardNode;
-import org.eclipse.jface.wizard.WizardSelectionPage;
-import org.eclipse.jst.pagedesigner.dnd.FeedBackInfo;
-import org.eclipse.jst.pagedesigner.dnd.ILocalDropHandler;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.SWT;
-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.Label;
-import org.w3c.dom.Node;
-
-/**
- * UI wizard selection page. To let user select which ILocalDropHandler to use
- * to handle the drop.
- *
- * @author mengbo
- */
-public class SimpleWizardSelectionPage extends WizardSelectionPage implements
- ISelectionChangedListener {
- private Object _localData;
-
- private IHTMLGraphicalViewer _viewer;
-
- private boolean _updateWidget;
-
- private Node _widget;
-
- private IDOMPosition _position;
-
- /**
- * for those handler that support wizard, then map to WizardNode, otherwise
- * still map to the handler
- */
- private Map _objToWizardNodeOrHandler = new HashMap();
-
- private Map _feedbackToHandlers;
-
- private Object _currentHandler = null; // IWizardNode or a
-
- // ILocalDropHandler that don't
- // useWizard.
-
- /**
- * @param viewer
- * @param localData
- * @param handlers
- */
- public SimpleWizardSelectionPage(IHTMLGraphicalViewer viewer,
- Object localData, Map handlers) {
- super(Messages.getString("SimpleWizardSelectionPage.PageName")); //$NON-NLS-1$
- this.setTitle(Messages.getString("SimpleWizardSelectionPage.Title")); //$NON-NLS-1$
- this.setDescription(Messages
- .getString("SimpleWizardSelectionPage.Description")); //$NON-NLS-1$
- this
- .setMessage(Messages
- .getString("SimpleWizardSelectionPage.Message")); //$NON-NLS-1$
-
- this._viewer = viewer;
- this._localData = localData;
- this._feedbackToHandlers = handlers;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- Composite container = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.verticalSpacing = 10;
- container.setLayout(layout);
- container.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label label = new Label(container, SWT.NONE);
- label
- .setText(Messages
- .getString("SimpleWizardSelectionPage.Operation")); //$NON-NLS-1$
- GridData gd = new GridData();
- label.setLayoutData(gd);
-
- final ListViewer listViewer = new ListViewer(container);
- listViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-
- listViewer.setContentProvider(new IStructuredContentProvider() {
- public Object[] getElements(Object inputElement) {
- return ((List) inputElement).toArray();
- }
-
- public void dispose() {
- // nothing to dispose
- }
-
- public void inputChanged(Viewer viewer, Object oldInput,
- Object newInput) {
- // no input changing
- }
- });
- listViewer.setLabelProvider(new LabelProvider() {
- public String getText(Object element) {
- return SimpleWizardSelectionPage.this.getText(element);
- }
- });
- listViewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- selectionChanged(new SelectionChangedEvent(listViewer,
- listViewer.getSelection()));
- advanceToNextPage();
- }
- });
- listViewer.setSorter(new ViewerSorter());
- listViewer.setInput(getElements());
- listViewer.addSelectionChangedListener(this);
- Dialog.applyDialogFont(container);
- setControl(container);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection sel = event.getSelection();
- if (sel instanceof IStructuredSelection) {
- Object obj = ((IStructuredSelection) sel).getFirstElement();
- if (obj != null) {
- _currentHandler = this._objToWizardNodeOrHandler.get(obj);
- if (_currentHandler == null) {
- _currentHandler = getWizardNodeOrHandler(obj);
- this._objToWizardNodeOrHandler.put(obj, _currentHandler);
- }
-
- if (_currentHandler instanceof IWizardNode) {
- this.setSelectedNode((IWizardNode) _currentHandler);
- } else {
- this.getWizard().getContainer().updateButtons();
- }
- }
- }
- }
-
- /**
- * @param obj
- * @return
- */
- private Object getWizardNodeOrHandler(Object obj) {
- final ILocalDropHandler dropHandler = (ILocalDropHandler) _feedbackToHandlers
- .get(obj);
- if (dropHandler.useWizard(_localData, _viewer)) {
- return new IWizardNode() {
- IWizard _wizard = null;
-
- public void dispose() {
- // nothing to dispose
- }
-
- public Point getExtent() {
- return null;
- }
-
- public IWizard getWizard() {
- if (_wizard == null) {
- if (_updateWidget) {
- _wizard = dropHandler.getWizard(_localData,
- _widget, _viewer);
- } else {
- _wizard = dropHandler.getWizard(_localData,
- _position, _viewer);
- }
- }
- return _wizard;
- }
-
- public boolean isContentCreated() {
- return _wizard != null;
- }
- };
- }
- return dropHandler;
- }
-
- /**
- * could be have next page or just directly perform the action.
- *
- */
- public void advanceToNextPage() {
-
- getContainer().showPage(getNextPage());
- }
-
- /**
- * @param element
- * @return the text
- */
- protected String getText(Object element) {
- return ((FeedBackInfo) element).getDescription();
- }
-
- /**
- * @return the elements
- */
- protected List getElements() {
- return new ArrayList(this._feedbackToHandlers.keySet());
- }
-
- /**
- * @param widget
- */
- public void setWidget(Node widget) {
- _updateWidget = true;
- _widget = widget;
- }
-
- /**
- * @param position
- */
- public void setPosition(IDOMPosition position) {
- _updateWidget = false;
- _position = position;
- }
-
- /**
- * @return the current handler
- */
- public Object getCurrentHandler() {
- return _currentHandler;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.wizard.WizardSelectionPage#canFlipToNextPage()
- */
- public boolean canFlipToNextPage() {
- return getCurrentHandler() instanceof IWizardNode
- && super.canFlipToNextPage();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewLocalDropCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewLocalDropCommand.java
deleted file mode 100644
index b4e7fd4ff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewLocalDropCommand.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.jst.pagedesigner.commands.SourceViewerCommand;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * @author mengbo
- */
-public class SourceViewLocalDropCommand extends SourceViewerCommand {
- /**
- * the map from feedback to ILocalDropHandler
- */
- private int _location;
-
- private StructuredTextEditor _textEditor;
-
- private Object _data;
-
- /**
- * @param textEditor
- * @param data
- * @param location
- *
- */
- public SourceViewLocalDropCommand(StructuredTextEditor textEditor,
- Object data, int location) {
- super(PageDesignerResources.getInstance().getString(
- "SourceViewLocalDropCommand.Label.InsertSyntax"), textEditor); //$NON-NLS-1$
- _textEditor = textEditor;
- _data = data;
- _location = location;
- }
-
- public void doExecute() {
- _textEditor.getTextViewer().getTextWidget().insert((String) _data);
- }
-
- public void setSelection() {
- _textEditor.getTextViewer().setSelectedRange(_location,
- ((String) _data).length());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewerDragDropHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewerDragDropHelper.java
deleted file mode 100644
index dc44b1155..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/SourceViewerDragDropHelper.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ST;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * This class will 1. determine it's insertion or update 2. call validator
- * corresponding helper to resolve it.
- *
- * @author mengbo
- */
-public final class SourceViewerDragDropHelper {
- private static SourceViewerDragDropHelper _instance;
-
- /**
- * @return the singleton instance
- */
- public static SourceViewerDragDropHelper getInstance() {
- if (_instance == null) {
- _instance = new SourceViewerDragDropHelper();
- }
- return _instance;
- }
-
- private SourceViewerDragDropHelper()
- {
- // singleton, no external instantiation
- }
-
- private Point toControl(TextViewer textViewer, Point point) {
- return (textViewer != null ? textViewer.getTextWidget()
- .toControl(point) : point);
- }
-
- private int getDropOffset(StructuredTextEditor ste, Point pt) {
- StyledText st = ste.getTextViewer().getTextWidget();
- int offset = st.getCaretOffset();
- try {
- offset = st.getOffsetAtLocation(pt);
- } catch (IllegalArgumentException e) {
- boolean found = false;
- Point p = new Point((pt.x > 0 ? pt.x : 0), pt.y);
- // search nearest character
- for (; p.x > -1; p.x--) {
- try {
- offset = st.getOffsetAtLocation(p);
-
- /*
- * Now that a valid offset has been found, try to place at
- * the end of the line
- */
- if (ste.getTextViewer() != null
- && ste.getTextViewer().getDocument() != null) {
- IRegion lineInfo = null;
- try {
- lineInfo = ste.getTextViewer().getDocument()
- .getLineInformationOfOffset(offset);
- } catch (BadLocationException e1) {
- // ignore exception and fall-through with lineInfo == null
- }
- if (lineInfo != null)
- offset = lineInfo.getOffset()
- + lineInfo.getLength();
- }
-
- found = true;
- break;
- } catch (IllegalArgumentException ex) {
- // for trying location, no need to catch.
- }
- }
- if (!found) {
- offset = st.getCharCount();
- }
- }
- return offset;
- }
-
- /**
- * @param textEditor
- * @param location
- * @param caret
- */
- public void updateCaret(StructuredTextEditor textEditor, Point location,
- Point caret) {
- TextViewer textViewer = textEditor.getTextViewer();
- if (textViewer != null) {
- Point pt = toControl(textViewer, location);
- StyledText st = textViewer.getTextWidget();
-
- // auto scroll
- Rectangle ca = st.getClientArea();
- int margin = st.getLineHeight();
-
- if (pt.y < margin) { // up
- st.invokeAction(ST.LINE_UP);
- } else if (pt.y > ca.height - margin) { // down
- st.invokeAction(ST.LINE_DOWN);
- }
-
- // draw insertion point
- int offset = getDropOffset(textEditor, pt);
- if (offset != st.getCaretOffset()) {
- st.setCaretOffset(offset);
- st.setSelection(offset);
- }
-
- Point newCaret = st.getLocationAtOffset(offset);
- if (newCaret.equals(caret)) {
- return;
- }
-
- Caret ct = st.getCaret();
- Point size = ct.getSize();
-
- GC gc = new GC(st);
- //gc.setXORMode(true);
- gc.setLineWidth(size.x);
-
- // erase old caret
- if (caret != null) {
- Color originalForeground = gc.getForeground();
- gc.setForeground(st.getBackground());
- gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
- gc.setForeground(originalForeground);
- }
-
- st.redraw();
- st.update();
-
- // draw new caret
- if (caret == null) {
- caret = newCaret;
- } else {
- caret.x = newCaret.x;
- caret.y = newCaret.y;
- }
- if (ct.getImage() != null) {
- gc.drawImage(ct.getImage(), caret.x, caret.y);
- } else {
- gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
- }
-
- gc.dispose();
- }
- }
-
- /**
- * @param textEditor
- * @param location
- */
- public void updateCaret(StructuredTextEditor textEditor, Point location) {
- TextViewer textViewer = textEditor.getTextViewer();
- if (textViewer != null) {
- Point pt = toControl(textViewer, location);
- StyledText st = textViewer.getTextWidget();
-
- // auto scroll
- Rectangle ca = st.getClientArea();
- int margin = st.getLineHeight();
-
- if (pt.y < margin) { // up
- st.invokeAction(ST.LINE_UP);
- } else if (pt.y > ca.height - margin) { // down
- st.invokeAction(ST.LINE_DOWN);
- }
-
- // draw insertion point
- int offset = getDropOffset(textEditor, pt);
- if (offset != st.getCaretOffset()) {
- st.setCaretOffset(offset);
- st.setSelection(offset);
- }
- }
- }
-
- /**
- * @param textEditor
- * @param location
- * @return the caret offset
- */
- public int showCaret(StructuredTextEditor textEditor, int location) {
- StyledText text = textEditor.getTextViewer().getTextWidget();
- text.setCursor(SharedCursors.CURSOR_TREE_ADD);
- text.setCaretOffset(location);
- if (!text.isFocusControl()) {
- text.setFocus();
- }
- return text.getCaretOffset();
- }
-
- /**
- * @param node
- * @return the model query for the node or null if not available
- */
- protected ModelQuery getModelQuery(Node node) {
- if (node.getNodeType() == Node.DOCUMENT_NODE) {
- return ModelQueryUtil.getModelQuery((Document) node);
- }
- return ModelQueryUtil.getModelQuery(node.getOwnerDocument());
- }
-
- /**
- * @param caretPos
- * @param element
- * @return the position
- */
- public IDOMPosition findPosition(int caretPos, Node element) {
- EditValidateUtil.validNode(element);
- IDOMPosition position = EditModelQuery.getInstance().createDomposition(
- ((IDOMNode) element).getModel(), caretPos, false);
- return position;
- }
-
- /**
- * @param viewer
- * @param node
- */
- public void format(TextViewer viewer, Node node) {
- if (node == null) {
- return;
- }
- Node tmp;
- int start, offset;
- if (node.getPreviousSibling() != null) {
- tmp = node.getPreviousSibling();
- start = ((IndexedRegion) tmp).getEndOffset();
- } else {
- tmp = node;
- start = ((IndexedRegion) tmp).getStartOffset();
- }
- if (node.getNextSibling() != null) {
- tmp = node.getNextSibling();
- offset = ((IndexedRegion) tmp).getStartOffset() - start;
- } else {
- tmp = node;
- offset = ((IndexedRegion) tmp).getEndOffset() - start;
- }
- viewer.setSelectedRange(start, offset);
- viewer.doOperation(ISourceViewer.FORMAT);
- }
-
- /**
- * @param textEditor
- * @param reset
- */
- public void changeCaret(StructuredTextEditor textEditor, boolean reset) {
- if (reset) {
- StyledText text = textEditor.getTextViewer().getTextWidget();
- text.setCursor(new Cursor(null, SWT.CURSOR_IBEAM));
- }
- }
-
- /**
- * @param textEditor
- * @param locationOffset
- * @return the location offset
- */
- /*package*/ int getValidLocation(StructuredTextEditor textEditor,
- int locationOffset) {
- Node node = getCaretNode(textEditor, locationOffset);
- if (node == null) {
- // empty page?
- return 0;
- }
- if (node.getNodeType() == Node.TEXT_NODE) {
- return locationOffset;
- }
- return calculateCaretLocation(node, locationOffset);
- }
-
- /**
- * @param textEditor
- * @param location
- * @return the offset
- */
- public int getOffset(StructuredTextEditor textEditor, Point location) {
- StyledText text = textEditor.getTextViewer().getTextWidget();
- return text.getOffsetAtLocation(location);
- }
-
- // private IStructuredModel getModel(StructuredTextEditor textEditor)
- // {
- // IStructuredModel model = null;
- // if (textEditor.getDocumentProvider() != null)
- // {
- // if (textEditor.getDocumentProvider() instanceof IModelProvider)
- // {
- // model = ((IModelProvider)
- // textEditor.getDocumentProvider()).getModel(textEditor.getEditorInput());
- // }
- // else
- // {
- // IDocument doc =
- // textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
- // if (doc instanceof IDocument)
- // {
- // model =
- // StructuredModelManager.getModelManager().getExistingModelForEdit(doc);
- // if (model == null)
- // {
- // model =
- // StructuredModelManager.getModelManager().getExistingModelForEdit((IDocument)
- // doc);
- // }
- // }
- // }
- // }
- // return model;
- // }
-
- /**
- * @param textEditor
- * @param pos
- * @return the node
- */
- private Node getCaretNode(StructuredTextEditor textEditor, int pos) {
- // TODO: getModel is deprecated
- IStructuredModel model = textEditor.getModel();
- // getModel(textEditor);
- if (model == null) {
- return null;
- }
- IndexedRegion inode = model.getIndexedRegion(pos);
- if (inode == null) {
- inode = model.getIndexedRegion(pos - 1);
- }
- return (inode instanceof Node) ? (Node) inode : null;
- }
-
- /**
- * Calculate and adjust the location in compare with Node.
- *
- * @param node
- * @param location
- * @return the location
- */
- public int calculateCaretLocation(Node node, int location) {
- int pos[][] = new int[2][2];
- pos[0][0] = EditModelQuery.getNodeStartIndex(node);
- pos[0][1] = EditModelQuery.getNodeStartNameEndIndex(node);
- pos[1][0] = EditModelQuery.getNodeEndNameStartIndex(node);
- pos[1][1] = EditModelQuery.getNodeEndIndex(node);
- if (pos[0][0] >= location || pos[1][0] == location
- || pos[1][1] <= location) {
- return location;
- } else if (pos[0][0] <= location && pos[0][1] >= location) {
- if (((pos[0][1] + pos[0][0]) / 2) >= location) {
- return pos[0][0];
- }
- return pos[0][1];
- } else if (pos[1][0] <= location && pos[1][1] >= location) {
- if (((pos[1][1] + pos[1][0]) / 2) >= location) {
- return pos[1][0];
- }
- return pos[1][1];
- }
- return location;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/TextEditorDropTargetListenerFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/TextEditorDropTargetListenerFactory.java
deleted file mode 100644
index 538bb9730..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/TextEditorDropTargetListenerFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dnd.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jst.pagedesigner.editors.DesignerStructuredTextEditorJSP;
-import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * @author mengbo
- */
-public class TextEditorDropTargetListenerFactory implements IAdapterFactory {
-
- /**
- *
- */
- public TextEditorDropTargetListenerFactory() {
- super();
- // TODO Auto-generated constructor stub
- }
-
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- if (ITextEditorDropTargetListener.class.equals(adapterType)) {
- if (adaptableObject instanceof DesignerStructuredTextEditorJSP) {
- DesignerSourceDropTargetListener listener = new DesignerSourceDropTargetListener(
- (StructuredTextEditor) adaptableObject);
- return listener;
- }
-
- }
- return null;
-
- }
-
- public Class[] getAdapterList() {
- Class[] classes = new Class[1];
- classes[0] = ITextEditorDropTargetListener.class;
- return classes;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/messages.properties
deleted file mode 100644
index 654d9ee20..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-DropSelectionWizard.Title=Drop Operation Handling
-SimpleWizardSelectionPage.PageName=Select Operation
-SimpleWizardSelectionPage.Title=Select Operation
-SimpleWizardSelectionPage.Description=Select Action
-SimpleWizardSelectionPage.Message=Select the operation you want to perform from the following list
-SimpleWizardSelectionPage.Operation=Operations:
-LocalDropCommand.DropHandler=Drop Handler
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/CaretMoveIterator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/CaretMoveIterator.java
deleted file mode 100644
index 695c3f24a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/CaretMoveIterator.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-import org.w3c.dom.traversal.NodeIterator;
-
-/**
- * @author mengbo
- */
-public class CaretMoveIterator {
- private final static Logger _log = PDPlugin
- .getLogger(CaretMoveIterator.class);
-
- private final boolean INNER_DEBUG = false;
-
- private NodeIterator _nodeIterator;
-
- private IMovementMediator _validator;
-
- private IDOMPosition _currentPosition;
-
- private boolean _forward;
-
- /**
- * @param nodeIterator
- * @param validator
- * @param position
- * @param forward
- */
- public CaretMoveIterator(NodeIterator nodeIterator,
- IMovementMediator validator, IDOMPosition position, boolean forward) {
- super();
- _nodeIterator = nodeIterator;
- _validator = validator;
- _currentPosition = position;
- _forward = forward;
- }
-
- /**
- * @return the node iterator
- */
- public NodeIterator getNodeIterator() {
- return _nodeIterator;
- }
-
- /**
- * @return Returns the _currentPosition.
- */
- public IDOMPosition getCurrentPosition() {
- return _currentPosition;
- }
-
- /**
- * @param position
- * The _currentPosition to set.
- */
- public void setCurrentPosition(IDOMPosition position) {
- _currentPosition = position;
- }
-
- // assume the currentPosition is invalid
- private IDOMPosition moveOut(Node container) {
- IDOMPosition result = new DOMRefPosition(container, _forward);
- String name = container.getNodeName();
- if (name != null
- && EditModelQuery.HTML_STYLE_NODES.contains(name.toLowerCase())) {
- result = moveToNextPosition(result, _validator);
- }
- return result;
- }
-
- /**
- * @param node
- * @return the dom position
- */
- public IDOMPosition moveIn(Node node) {
- IDOMPosition result = null;
- if (INNER_DEBUG) {
- _log.info("- Move into: " + node.getLocalName()); //$NON-NLS-1$
- }
- if (_validator.isEditable(new Target(node))) {
- int index;
- // Transparent text is not editable, so this is not transparent.
- if (EditModelQuery.isText(node)) {
- index = (_forward) ? 0 : ((Text) node).getData().length();
- result = new DOMPosition(node, index);
- // move ahead one pos.
- IDOMPosition pos = getNextTextPosition(result);
- if (pos != null) {
- result = pos;
- }
- } else {
- if (node.hasChildNodes()) {
- index = _forward ? 0 : node.getChildNodes().getLength();
- result = new DOMPosition(node, index); // DOMRefPosition(next,
- // !_forward);
- } else {
- result = new DOMPosition(node, 0);
- }
- }
- } else {
- if (node.hasChildNodes()) {
- Node child = _forward ? node.getFirstChild() : node
- .getLastChild();
- result = new DOMRefPosition(child, _forward);
- while (child != null) {
- if (_validator.allowsMoveIn(new Target(child))) {
- result = moveIn(child);
- break;
- }
- child = _forward ? child.getNextSibling() : child
- .getPreviousSibling();
- }
- } else {
- // Should be impposible to reach here.
- result = new DOMPosition(node, 0);
- }
- }
- return result;
- }
-
- private IDOMPosition getNextTextPosition(IDOMPosition position) {
- IDOMPosition result = null;
- String value = position.getContainerNode().getNodeValue();
- int i = position.getOffset();
- if (_forward) {
- if (i < value.length()) {
- if (HTMLUtil.isHTMLWhitespace(value.charAt(i))) {
- while (i < value.length()
- && HTMLUtil.isHTMLWhitespace(value.charAt(i))) {
- i++;
- }
- result = new DOMPosition(position.getContainerNode(), i);
- } else if (i < value.length()) {
- result = new DOMPosition(position.getContainerNode(), i + 1);
- }
- }
- } else {
- if (i > 0) {
- if (HTMLUtil.isHTMLWhitespace(value.charAt(i - 1))) {
- while (i > 0
- && HTMLUtil.isHTMLWhitespace(value.charAt(i - 1))) {
- i--;
- }
- result = new DOMPosition(position.getContainerNode(), i);
- } else if (i > 0) {
- result = new DOMPosition(position.getContainerNode(), i - 1);
- }
- }
- }
- return result;
- }
-
- /**
- * Assume the original position are valid.
- *
- * @param position
- * @param validator
- * @param _forward
- * @param referenceImediatly
- * @return
- */
- private IDOMPosition moveToNextPosition(IDOMPosition position,
- IMovementMediator validator) {
- IDOMPosition currentPosition = null;
- if (validator.isValidPosition(position) && position.isText()) {
- currentPosition = getNextTextPosition(position);
- }
- if (currentPosition == null) {
- Node nextNode = EditModelQuery.getInstance().getSibling(position,
- _forward);
- while (EditModelQuery.isText(nextNode)
- && ((Text) nextNode).getData().length() == 0) {
- nextNode = EditModelQuery.getInstance().getSibling(nextNode,
- _forward);
- }
- if (nextNode != null) {
- // move in?
- if (validator.allowsMoveIn(new Target(nextNode))) {
- currentPosition = moveIn(nextNode);
- // Stop when it is in table. For others we continue search
- // for text.
- if (!canStopHere(nextNode) && //
- EditModelQuery.getInstance().getSibling(
- currentPosition, _forward) != null) {
- currentPosition = moveToNextPosition(currentPosition,
- validator);
- }
- }
- // not allowed to move in. e.g. it's empty string.
- else {
- currentPosition = new DOMRefPosition(nextNode, _forward);// skip(position);
- }
- } else {
- if (validator.allowsMoveOut(new Target(
- getNaviContainer(position)))) {
- currentPosition = moveOut(getNaviContainer(position));
- }
- }
- }
- currentPosition = EditHelper.ensureDOMPosition(currentPosition);
- if (currentPosition != null
- && !validator.isValidPosition(currentPosition)) {
- currentPosition = moveToNextPosition(currentPosition, validator);
- }
- return currentPosition;
- }
-
- /**
- * When the tag starts from new line, or in table, then caret can be put at
- * 0 offset.
- *
- * @param node
- * @return
- */
- private boolean canStopHere(Node node) {
- boolean result = false;
- if (EditModelQuery.isText(node)) {
- result = true;
- } else if (node != null && node.getNodeName() != null) {
- result |= node.getNodeName().equals(IHTMLConstants.TAG_TD);
- result |= EditModelQuery.isBlockNode(node);
- }
- return result;
- }
-
- /**
- * Move operation position to next edit position. We may need rule to valid
- * it based on operation ID and direction. We need to pack transparent
- * string.
- *
- * @param currentPosition
- * @param forward
- * @param validator
- * @return the dom position
- */
- public IDOMPosition moveToNextEditPosition(IDOMPosition currentPosition,
- boolean forward, IMovementMediator validator) {
- IDOMPosition result = null;
- if ((currentPosition = moveToNextPosition(currentPosition, validator)) != null) {
- result = currentPosition;
- } else {
- result = _currentPosition;
- }
- return result;
- }
-
- private Node getNaviContainer(IDOMPosition position) {
- if (position.isText()) {
- return position.getContainerNode().getParentNode();
- }
- return position.getContainerNode();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPosition.java
deleted file mode 100644
index 750b6de4a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPosition.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DOMPosition implements IDOMPosition {
- Node _containerNode;
-
- int _offset;
-
- /**
- * @param containerNode
- * @param offset
- */
- public DOMPosition(Node containerNode, int offset) {
- _containerNode = containerNode;
- _offset = offset;
- }
-
- /**
- * this is the offset in the DOM tree. When parent node is text node, the
- * offset if the offset into the actual displayed data of the text node.
- *
- * when parent is not text node, then the offset is the index in
- * getIDOMNode().getChildNodes()
- *
- * @return the offset
- */
- public int getOffset() {
- return _offset;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getNextSiblingNode()
- */
- public Node getNextSiblingNode() {
- if (isText())
- return null;
- NodeList children = _containerNode.getChildNodes();
- int length = children.getLength();
- if (_offset >= length || _offset < 0)
- return null;
- return children.item(_offset);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getPreviousSiblingNode()
- */
- public Node getPreviousSiblingNode() {
- if (isText())
- return null;
- NodeList children = _containerNode.getChildNodes();
- int length = children.getLength();
- if (_offset > length || _offset <= 0)
- return null;
- return children.item(_offset - 1);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getContainerNode()
- */
- public Node getContainerNode() {
- return _containerNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#isText()
- */
- public boolean isText() {
- return _containerNode instanceof Text;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getSibling(boolean)
- */
- public Node getSibling(boolean forward) {
- if (forward)
- return getNextSiblingNode();
- return getPreviousSiblingNode();
- }
-
- public IDOMPosition handleReplacement(Node original, Node replacement) {
- if (original == this._containerNode) {
- return new DOMPosition(replacement, this._offset);
- }
- return this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "DOMPosition: (" + _containerNode + " : " + _offset + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPositionHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPositionHelper.java
deleted file mode 100644
index d0e77f82b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMPositionHelper.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DOMPositionHelper {
- /**
- * @param position
- * @return the design position
- */
- public static DesignPosition toDesignRefPosition(DOMRefPosition position) {
- Node node = position.getReferenceNode();
- do {
- IDOMNode container = (IDOMNode) node.getParentNode();
- EditPart part = (EditPart) container.getAdapterFor(EditPart.class);
- if (part != null) {
- // XXX: what if the node has not corresponding part?
- EditPart child = DOMPositionHelper.findEditPart(part, node);
- if (child != null) {
- return new DesignRefPosition(child, position.isForward());
- }
- return DesignPosition.INVALID;
- }
- node = node.getParentNode();
- } while (true);
- }
-
- /**
- *
- * @param position
- * if it is null, then will return null
- * @return null if position is null or invalid.
- */
- public static DesignPosition toDesignPosition(IDOMPosition position) {
- if (position == null) {
- return null;
- }
- if (position instanceof DOMRefPosition) {
- return toDesignRefPosition((DOMRefPosition) position);
- }
- do {
- IDOMNode container = (IDOMNode) position.getContainerNode();
- EditPart part = (EditPart) container.getAdapterFor(EditPart.class);
- if (part != null) {
- if (container instanceof Text) {
- String textData = ((Text) container).getData();
- String displayData = ((TextEditPart) part).getTextData();
- return new DesignPosition(part,
- textDataOffsetToDisplayOffset(textData,
- displayData, position.getOffset()));
- }
- Node pre = position.getPreviousSiblingNode();
- while (pre != null) {
- int index = findChildEditPartIndex(part, pre);
- if (index != -1) {
- return new DesignPosition(part, index + 1);
- }
- pre = pre.getPreviousSibling();
- }
- return new DesignPosition(part, 0);
- }
- position = new DOMRefPosition(position.getContainerNode(),
- false);
- } while (true);
- }
-
- /**
- * Here is the position is not currect, currently it will returns invalid
- * pos.
- *
- * @param position
- * @return the design position
- */
- public static DesignPosition toDesignPosition1(IDOMPosition position) {
- if (position instanceof DOMRefPosition) {
- return toDesignRefPosition((DOMRefPosition) position);
- }
- do {
- IDOMNode container = (IDOMNode) position.getContainerNode();
- EditPart part = (EditPart) container.getAdapterFor(EditPart.class);
- if (part != null) {
- if (container instanceof Text) {
- String textData = ((Text) container).getData();
- String displayData = ((TextEditPart) part).getTextData();
- return new DesignPosition(part,
- textDataOffsetToDisplayOffset(textData,
- displayData, position.getOffset()));
- }
- Node pre = position.getPreviousSiblingNode();
- while (pre != null) {
- int index = findChildEditPartIndex(part, pre);
- if (index != -1) {
- return new DesignPosition(part, index + 1);
- }
- pre = pre.getPreviousSibling();
- }
- return new DesignPosition(part, 0);
- }
- return DesignPosition.INVALID;
- } while (true);
- }
-
- static int findChildEditPartIndex(EditPart parent, Node node) {
- List children = parent.getChildren();
- for (int i = 0; i < children.size(); i++) {
- if (((EditPart) children.get(i)).getModel() == node) {
- return i;
- }
- }
- return -1;
- }
-
- static EditPart findEditPart(EditPart parent, Node node) {
- List children = parent.getChildren();
- EditPart part;
- for (int i = 0; i < children.size(); i++) {
- if ((part = (EditPart) children.get(i)).getModel() == node) {
- return part;
- }
- }
- return null;
- }
-
- /**
- * convert a DesignPosition into DOMPosition.
- *
- * @param position
- * @return the dom position
- */
- public static IDOMPosition toDOMRefPosition(DesignRefPosition position) {
- // ok, it is not text.
- EditPart sibling = position.getRefPart();
- if (sibling != null) {
- return new DOMRefPosition((Node) sibling.getModel(), position
- .caretIsAtRight());
- }
- // should never happens
- Assert.isTrue(false);
- return null;
- }
-
- /**
- * convert a DesignPosition into DOMPosition.
- *
- * @param position
- * @return the dom position
- */
- public static IDOMPosition toDOMPosition(DesignPosition position) {
- if (!EditValidateUtil.validPosition(position)) {
- return null;
- } else if (position instanceof DesignRefPosition) {
- return toDOMRefPosition((DesignRefPosition) position);
- }
- EditPart part = position.getContainerPart();
- if (part instanceof TextEditPart) {
- Text text = (Text) ((TextEditPart) part).getIDOMNode();
- int offset = position.getOffset();
- if (offset == 0) {
- return new DOMPosition(text, 0);
- }
- String displayData = ((TextEditPart) part).getTextData();
- String nodeData = text.getData();
- if (offset >= displayData.length()) {
- // point to end of the text node.
- return new DOMPosition(text, nodeData.length());
- }
- // we need to calculate it out.
- int index = displayOffsetToTextDataOffset(displayData,
- nodeData, offset);
- return new DOMPosition(text, index);
- }
- // ok, it is not text.
- EditPart sibling = position.getSiblingEditPart(true);
- if (sibling instanceof NodeEditPart) {
- return new DOMRefPosition(((NodeEditPart) sibling).getDOMNode(), false);
- }
-
- sibling = position.getSiblingEditPart(false);
- if (sibling instanceof NodeEditPart) {
- return new DOMRefPosition(((NodeEditPart) sibling).getDOMNode(), true);
- }
-
- // no previous sibling, no next sibling, the parent node must be
- // empty
- return new DOMPosition(((NodeEditPart) part).getDOMNode(), 0);
- }
-
- /**
- * if "position" is inside a text node, then split the text node and return
- * a new IDOMPosition semantically equal to the position in the two
- * splitted text. If the "position" is not a text position, then no action
- * will be taken and will return the original position.
- *
- * @param position
- * @return IDOMPosition
- */
- public static IDOMPosition splitText(IDOMPosition position) {
- Node container = position.getContainerNode();
- if (container instanceof Text) {
- int offset = position.getOffset();
- if (offset <= 0) {
- // at beginning of text node. no need to split
- return new DOMRefPosition(container, false);
- }
- String textData = ((Text) container).getData();
- if (offset >= textData.length()) {
- // at end of text node. no need to split
- return new DOMRefPosition(container, true);
- }
- // ok, we need split
- ((Text) container).splitText(offset);
- return new DOMRefPosition(container, true);
- }
- return position;
- }
-
- /**
- * Remove all the content in the range. And return the new position.
- *
- * @param range
- * @return the dom position
- */
- public static IDOMPosition removeRange(DOMRange range) {
- boolean ordered = range.isOrdered();
-// IDOMPosition start = ordered ? range.getStartPosition() : range
-// .getEndPosition();
- IDOMPosition end = ordered ? range.getEndPosition() : range
- .getStartPosition();
-
- // FIXME: Not DONE:
- return end;
- }
-
- /**
- * try to merge the position in adjacent text node (if it is not already in)
- *
- * @param position
- * @return the dom position
- */
- public static IDOMPosition mergeIntoText(IDOMPosition position) {
- if (position.getContainerNode() instanceof Text)
- return position;
- Node pre = position.getPreviousSiblingNode();
- if (pre instanceof Text) {
- return new DOMPosition(pre, ((Text) pre).getData().length());
- }
- Node after = position.getNextSiblingNode();
- if (after instanceof Text) {
- return new DOMPosition(after, 0);
- }
- return position;
- }
-
- /**
- * @param displayData
- * @param nodeData
- * @param offset
- * @return the offset
- */
- // FIXME: this method is still buggy
- public static int displayOffsetToTextDataOffset(String displayData,
- String nodeData, int offset) {
- char[] display = displayData.toCharArray();
- if (offset >= display.length) {
- // offset is already at end
- return nodeData.length();
- }
- char[] node = nodeData.toCharArray();
- int nodeDataLength = node.length;
- int displayIndex = 0;
- int nodeIndex = 0;
-
- while (displayIndex < offset && nodeIndex < nodeDataLength) {
- if (display[displayIndex] == node[nodeIndex]) {
- displayIndex++;
- nodeIndex++;
- continue;
- }
- if (HTMLUtil.isHTMLWhitespace(node[nodeIndex])) {
- if (HTMLUtil.isHTMLWhitespace(display[displayIndex])) {
- displayIndex++;
- nodeIndex++;
- } else {
- nodeIndex++;
- }
- continue;
- }
- // should not happen!
- displayIndex++;
- nodeIndex++;
- }
-
- if (nodeIndex >= nodeDataLength)
- return nodeDataLength;
- // else means displayIndex == offset
- // since we already checked that offset < displayLength, so we can get
- // the next char
- if (display[offset] != ' ') {
- // we may need to skip whitespaces after nodeIndex
- while (nodeIndex < nodeDataLength
- && HTMLUtil.isHTMLWhitespace(node[nodeIndex])) {
- nodeIndex++;
- }
- }
- return nodeIndex;
- }
-
- /**
- * @param nodeData
- * @param displayData
- * @param offset
- * @return the offset
- */
- // FIXME: this method is still buggy
- public static int textDataOffsetToDisplayOffset(String nodeData,
- String displayData, int offset) {
- if (offset >= nodeData.length()) {
- return displayData.length();
- }
- char[] node = nodeData.toCharArray();
- char[] display = displayData.toCharArray();
-
- int displayIndex = 0;
- int nodeIndex = 0;
- int displayDataLength = display.length;
-
- while (nodeIndex < offset && displayIndex < displayDataLength) {
- if (display[displayIndex] == node[nodeIndex]) {
- displayIndex++;
- nodeIndex++;
- continue;
- }
- if (HTMLUtil.isHTMLWhitespace(node[nodeIndex])) {
- if (HTMLUtil.isHTMLWhitespace(display[displayIndex])) {
- displayIndex++;
- nodeIndex++;
- } else {
- nodeIndex++;
- }
- continue;
- }
- // should not happen!
- displayIndex++;
- nodeIndex++;
- }
- return displayIndex;
- }
-
- /**
- * Convert a IDOMPosition to IDOMRefPosition. If can't convert to
- * IDOMRefPosition, will return the original one.
- *
- * @param position
- * @return IDOMPosition
- */
- public static IDOMPosition toDOMRefPosition(IDOMPosition position) {
- if (position.isText()) {
- return position; // can't convert Text node.
- }
- if (position instanceof IDOMRefPosition) {
- return position;
- }
- if (position.getNextSiblingNode() != null) {
- return new DOMRefPosition(position.getNextSiblingNode(), false);
- }
- if (position.getPreviousSiblingNode() != null) {
- return new DOMRefPosition(position.getPreviousSiblingNode(), true);
- }
- return new DOMRefPosition2(position.getContainerNode(), true);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRange.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRange.java
deleted file mode 100644
index f35dfda12..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRange.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class DOMRange {
- IDOMPosition _start;
-
- IDOMPosition _end;
-
- /**
- * @param p1
- * @param p2
- */
- public DOMRange(IDOMPosition p1, IDOMPosition p2) {
- _start = p1;
- _end = p2;
- }
-
- /**
- * @return the start position
- */
- public IDOMPosition getStartPosition() {
- return _start;
- }
-
- /**
- * @return the end position
- */
- public IDOMPosition getEndPosition() {
- return _end;
- }
-
- /**
- * @return true if is empty
- */
- public boolean isEmpty() {
- return _start.getContainerNode() == _end.getContainerNode()
- && _start.getOffset() == _end.getOffset();
- }
-
- /**
- * @return true if is ordered
- */
- public boolean isOrdered() {
- Node common = DOMUtil.findCommonAncester(_start.getContainerNode(),
- _end.getContainerNode());
- if (common == null) {
- return true;
- }
- IDOMPosition s = moveUp(_start, common);
- IDOMPosition e = moveUp(_end, common);
- return e.getOffset() >= s.getOffset();
- }
-
- private IDOMPosition moveUp(IDOMPosition p, Node ancester) {
- while (p.getContainerNode() != ancester) {
- p = new DOMRefPosition(p.getContainerNode(), false);
- }
- return p;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRangeHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRangeHelper.java
deleted file mode 100644
index 1c7a33c2b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRangeHelper.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public final class DOMRangeHelper {
- /**
- * @param range
- * @return the dom range
- */
- public static DOMRange toDOMRange(DesignRange range) {
- if (range.getStartPosition() == range.getEndPosition()) {
- IDOMPosition dp = DOMPositionHelper.toDOMPosition(range
- .getStartPosition());
- return new DOMRange(dp, dp);
- }
- return new DOMRange(DOMPositionHelper.toDOMPosition(range
- .getStartPosition()), DOMPositionHelper.toDOMPosition(range
- .getEndPosition()));
- }
-
- /**
- * @param range
- * @return the design range
- */
- public static DesignRange toDesignRange(DOMRange range) {
- if (range.getStartPosition() == range.getEndPosition()) {
- DesignPosition dp = DOMPositionHelper.toDesignPosition(range
- .getStartPosition());
- return new DesignRange(dp, dp);
- }
- return new DesignRange(DOMPositionHelper.toDesignPosition(range
- .getStartPosition()), DOMPositionHelper.toDesignPosition(range
- .getEndPosition()));
- }
-
- /**
- * @param range
- * @param original
- * @param replacement
- * @return the dom range
- */
- public static DOMRange handleReplacement(DOMRange range, Node original,
- Node replacement) {
- if (range.getStartPosition() == range.getEndPosition()) {
- IDOMPosition pos = range.getStartPosition().handleReplacement(
- original, replacement);
- return new DOMRange(pos, pos);
- }
- return new DOMRange(range.getStartPosition().handleReplacement(
- original, replacement), range.getEndPosition()
- .handleReplacement(original, replacement));
- }
-
- private DOMRangeHelper()
- {
- // util class, no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition.java
deleted file mode 100644
index b94c8a64b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * DOMRefPosition is another way to identify a position in the document tree. It
- * has the advantage against the DOMPosition, that even something change in the
- * document, DOMRefPosition may still reference the correct position.
- *
- * @author mengbo
- */
-public class DOMRefPosition implements IDOMRefPosition {
- Node _refNode;
-
- boolean _forward;
-
- /**
- * @param refNode
- * @param forward
- * true means the position after refNode. false means the
- * position before refNode
- */
- public DOMRefPosition(Node refNode, boolean forward) {
- _refNode = refNode;
- _forward = forward;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getSibling(boolean)
- */
- public Node getSibling(boolean forward) {
- if (forward != _forward)
- {
- return _refNode;
- }
- if (forward)
- {
- return _refNode.getNextSibling();
- }
- return _refNode.getPreviousSibling();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getNextSiblingNode()
- */
- public Node getNextSiblingNode() {
- return getSibling(true);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getPreviousSiblingNode()
- */
- public Node getPreviousSiblingNode() {
- return getSibling(false);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getContainerNode()
- */
- public Node getContainerNode() {
- return _refNode.getParentNode();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#getOffset()
- */
- public int getOffset() {
- Node parent = _refNode.getParentNode();
- if (parent == null) {
- return _forward ? 1 : 0;
- }
- NodeList list = parent.getChildNodes();
- for (int i = 0, n = list.getLength(); i < n; i++) {
- if (list.item(i) == _refNode) {
- return _forward ? (i + 1) : i;
- }
- }
- // should not happen.
- return -1;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.range.IDOMPosition#isText()
- */
- public boolean isText() {
- return false;
- }
-
- public IDOMPosition handleReplacement(Node original, Node replacement) {
- if (this._refNode == original) {
- return new DOMRefPosition(replacement, this._forward);
- }
- return this;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "DOMRefPosition: (" + (_forward ? "after " : "before ") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + _refNode + ")"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMRefPosition#getReferenceNode()
- */
- public Node getReferenceNode() {
- return _refNode;
- }
-
- /**
- * @return true if is forward
- */
- public boolean isForward() {
- return _forward;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition2.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition2.java
deleted file mode 100644
index 3da91274c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMRefPosition2.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-
-/**
- * This ref position use a parent node as reference. And provide whether this
- * location is at the beginning of its parent or last of its parent.
- *
- * @author mengbo
- * @version 1.5
- */
-public class DOMRefPosition2 implements IDOMRefPosition {
- Node _parentNode;
-
- boolean _last;
-
- /**
- * @param parent
- * @param last
- */
- public DOMRefPosition2(Node parent, boolean last) {
- _parentNode = parent;
- _last = last;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMRefPosition#getReferenceNode()
- */
- public Node getReferenceNode() {
- return _parentNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#getSibling(boolean)
- */
- public Node getSibling(boolean forward) {
- if (forward) {
- if (_last) {
- return null;
- }
- return _parentNode.getFirstChild();
- } else if (_last) {
- return _parentNode.getLastChild();
- } else {
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#getNextSiblingNode()
- */
- public Node getNextSiblingNode() {
- return getSibling(true);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#getPreviousSiblingNode()
- */
- public Node getPreviousSiblingNode() {
- return getSibling(false);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#getContainerNode()
- */
- public Node getContainerNode() {
- return _parentNode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#getOffset()
- */
- public int getOffset() {
- if (!_last) {
- return 0;
- }
- return _parentNode.getChildNodes().getLength();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#isText()
- */
- public boolean isText() {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.dom.IDOMPosition#handleReplacement(org.w3c.dom.Node,
- * org.w3c.dom.Node)
- */
- public IDOMPosition handleReplacement(Node original, Node replacement) {
- if (original == _parentNode) {
- return new DOMRefPosition2(replacement, _last);
- }
- return this;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMStyleUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMStyleUtil.java
deleted file mode 100644
index 243f3729a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMStyleUtil.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSStyleDeclaration;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class DOMStyleUtil {
- /**
- * @param original
- * @param cssProperty
- * @return the inline style property
- */
- public static String getInlineStyleProperty(Element original,
- String cssProperty) {
- if (original instanceof ElementCSSInlineStyle) {
- CSSStyleDeclaration styledecl = ((ElementCSSInlineStyle) original)
- .getStyle();
- if (styledecl == null) {
- if (original.getAttribute("style") == null) { //$NON-NLS-1$
- return null;
- }
- // else mean it has style attribute.
- }
-
- if (styledecl != null) {
- return styledecl.getPropertyValue(cssProperty);
- }
- }
-
- // when we reach here, means we can't use the CSSStyleDeclaration API to
- // get style, we'll take the
- // pain to do the parsing and replacing.
- // normally should not happen. But anyway, we need to have a fail safe
- // path.
-
- String oldstyle = original.getAttribute("style"); //$NON-NLS-1$
- if (oldstyle == null || oldstyle.length() == 0) {
- return null;
- }
- StringTokenizer tokenizer = new StringTokenizer(oldstyle, ";"); //$NON-NLS-1$
-
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken().trim();
- if (token.length() == 0) {
- continue;
- }
- int index = token.indexOf(':');
- if (index == -1) {
- continue;
- }
- String propertyName = token.substring(0, index).trim();
- if (cssProperty.equals(propertyName)) {
- // ok, we found the property
- return token.substring(index + 1).trim();
- }
- }
- return null;
- }
-
- /**
- * insert style into element
- *
- * @param original
- * @param map
- */
- public static void insertStyle(Element original, Map map) {
- if (original instanceof ElementCSSInlineStyle) {
- CSSStyleDeclaration styledecl = ((ElementCSSInlineStyle) original)
- .getStyle();
- if (styledecl == null) {
- if (original.getAttribute("style") == null) { //$NON-NLS-1$
- original.setAttribute("style", ""); //$NON-NLS-1$ //$NON-NLS-2$
- styledecl = ((ElementCSSInlineStyle) original).getStyle();
- }
- }
-
- if (styledecl != null) {
- for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
- String key = (String) iter.next();
- String value = (String) map.get(key);
- if (value == null) {
- styledecl.removeProperty(key);
- } else {
- styledecl.setProperty(key, value, null);
- }
- }
-
- return;
- }
- }
-
- // when we reach here, means we can't use the CSSStyleDeclaration API to
- // change style, we'll take the
- // pain to do the parsing and replacing.
- // normally should not happen. But anyway, we need to have a fail safe
- // path.
-
- String oldstyle = original.getAttribute("style"); //$NON-NLS-1$
- if (oldstyle == null) {
- oldstyle = ""; //$NON-NLS-1$
- }
- StringTokenizer tokenizer = new StringTokenizer(oldstyle, ";"); //$NON-NLS-1$
-
- StringBuffer buffer = new StringBuffer();
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken().trim();
- if (token.length() == 0) {
- continue;
- }
- int index = token.indexOf(':');
- if (index == -1) {
- // wrong property? ignore.
- buffer.append(token).append("; "); //$NON-NLS-1$
- continue;
- }
- String propertyName = token.substring(0, index).trim();
-
- if (map.containsKey(propertyName)) {
- String propertyValue = (String) map.remove(propertyName);
- if (propertyValue == null) {
- // we want to remove this css property. so don't append
- // anything here
- } else {
- buffer.append(propertyName).append(": ").append( //$NON-NLS-1$
- propertyValue).append("; "); //$NON-NLS-1$
- }
- } else {
- buffer.append(token).append("; "); //$NON-NLS-1$
- }
- }
- // ok, we have loop through existing properties and did replacement.
- // now _styleProperties only contain those new CSS properties we need to
- for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
- String key = (String) iter.next();
- String value = (String) map.get(key);
- if (value != null) {
- buffer.append(key).append(": ").append(value).append("; "); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- original.setAttribute("style", buffer.toString()); //$NON-NLS-1$
- }
-
- /**
- * @param ele
- * @return true if supports the style attribute
- */
- public static boolean supportStyleAttribute(IDOMElement ele) {
- CMElementDeclaration decl = CMUtil.getElementDeclaration(ele);
- if (decl != null && decl.getAttributes().getNamedItem("style") != null) { //$NON-NLS-1$
- return true;
- }
- return false;
- }
-
- private DOMStyleUtil()
- {
- // util class, no external instantiation
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMUtil.java
deleted file mode 100644
index c34e38818..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMUtil.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DOMUtil {
- private static Logger _logger = PDPlugin.getLogger(DOMUtil.class);
-
- /**
- * Get a list of ancester nodes starting from the Document till the node.
- *
- * @param node
- * @return
- */
- private static List getAncesters(Node node) {
- List list = new ArrayList();
- while (node != null) {
- list.add(node);
- if (node instanceof Document) {
- break;
- }
- node = node.getParentNode();
- }
- if (node == null) {
- // if part ==null, means we didn't find a DocumentEditPart,
- // something must be wrong.
- return null;
- }
- // reverse to make it starting from the docuemnteditpart node.
- Collections.reverse(list);
- list.add(null); // add an null terminator.
- return list;
- }
-
- /**
- * find the smallest common ancester of two edit part.
- *
- * @param node1
- * @param node2
- * @return the common ancestor
- */
- public static Node findCommonAncester(Node node1, Node node2) {
- List list1 = getAncesters(node1);
- if (list1 == null) {
- return null;
- }
- List list2 = getAncesters(node2);
- if (list2 == null) {
- return null;
- }
- if (list1.get(0) != list2.get(0)) {
- return null;
- }
- Node common = (Node) list1.get(0);
- for (int i = 1;; i++) {
- Node p1 = (Node) list1.get(i);
- Node p2 = (Node) list2.get(i);
- if (p1 == null || p2 == null) {
- return common;
- }
- if (p1 != p2) {
- return common;
- }
- common = p1;
- }
-
- }
-
- /**
- * this method is almost same as <code>cloneNodeDeep()</code>. The
- * difference is that this method will try to ignore all kinds of error.
- *
- * In SSE, if the document model enforce some kinds of validation, then the
- * clone may fail. During some cases, we want to ignore the validation
- * errors.
- *
- * @param destDoc
- * @param sourceNode
- * @return the node
- */
- public static Node cloneNodeDeepIgnoreError(Document destDoc,
- Node sourceNode) {
- switch (sourceNode.getNodeType()) {
- case Node.ELEMENT_NODE:
- Element sourceEle = (Element) sourceNode;
- Element resultEle = destDoc.createElement(sourceEle.getTagName());
- NamedNodeMap attrs = sourceEle.getAttributes();
- for (int i = 0, size = attrs.getLength(); i < size; i++) {
- Attr a = (Attr) attrs.item(i);
- try {
- resultEle.setAttribute(a.getName(), a.getValue());
- } catch (Exception ex) {
- // ignore
- _logger.info("Exception", ex); //$NON-NLS-1$
- }
- }
- NodeList children = sourceEle.getChildNodes();
- for (int i = 0, size = children.getLength(); i < size; i++) {
- Node n = children.item(i);
- Node d = cloneNodeDeepIgnoreError(destDoc, n);
- if (d != null) {
- try {
- resultEle.appendChild(d);
- } catch (Exception ex) {
- // ignore
- _logger.info("Exception", ex); //$NON-NLS-1$
- }
- }
- }
- return resultEle;
- case Node.TEXT_NODE:
- Text txt = destDoc.createTextNode(sourceNode.getNodeValue());
- if (txt instanceof IDOMText && sourceNode instanceof IDOMText) {
- try {
- ((IDOMText) txt).setSource(((IDOMText) sourceNode)
- .getSource());
- } catch (Exception ex) {
- // ignore
- }
- }
- return txt;
- case Node.CDATA_SECTION_NODE:
- return destDoc.createCDATASection(sourceNode.getNodeValue());
- default:
- return null; // not support.
- }
- }
-
- /**
- * @param destDoc
- * @param sourceNode
- * @return the node
- */
- public static Node cloneNodeDeep(Document destDoc, Node sourceNode) {
- switch (sourceNode.getNodeType()) {
- case Node.ELEMENT_NODE:
- Element sourceEle = (Element) sourceNode;
- Element resultEle = destDoc.createElement(sourceEle.getTagName());
- NamedNodeMap attrs = sourceEle.getAttributes();
- for (int i = 0, size = attrs.getLength(); i < size; i++) {
- Attr a = (Attr) attrs.item(i);
- resultEle.setAttribute(a.getName(), a.getValue());
- }
- NodeList children = sourceEle.getChildNodes();
- for (int i = 0, size = children.getLength(); i < size; i++) {
- Node n = children.item(i);
- Node d = cloneNodeDeep(destDoc, n);
- if (d != null) {
- resultEle.appendChild(d);
- }
- }
- return resultEle;
- case Node.TEXT_NODE:
- Text txt = destDoc.createTextNode(sourceNode.getNodeValue());
- if (txt instanceof IDOMText && sourceNode instanceof IDOMText) {
- try {
- ((IDOMText) txt).setSource(((IDOMText) sourceNode)
- .getSource());
- } catch (Exception ex) {
- // ignore
- _logger.info("Exception", ex); //$NON-NLS-1$
- }
- }
- return txt;
- case Node.CDATA_SECTION_NODE:
- return destDoc.createCDATASection(sourceNode.getNodeValue());
- default:
- return null; // not support.
- }
- }
-
- /**
- * check whether the ancester relationship exist for the two nodes.
- *
- * @param ancester
- * @param child
- * @return true if ancester is an ancestor of child
- */
- public static boolean isAncester(Node ancester, Node child) {
- while (child != null) {
- if (child == ancester) {
- return true;
- }
- child = child.getParentNode();
- }
- return false;
- }
-
- /**
- * insert the node at specified position.
- *
- * @param domPosition
- * @param node
- * @return null if fail, otherwise return the inserted node.
- */
- public static Node insertNode(IDOMPosition domPosition, Node node) {
- IDOMPosition position = DOMPositionHelper.splitText(domPosition);
- if (position == null || position.getContainerNode() == null) {
- return null;
- }
- if (position.getNextSiblingNode() == null) {
- position.getContainerNode().appendChild(node);
- } else {
- position.getContainerNode().insertBefore(node,
- position.getNextSiblingNode());
- }
-
- return node;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditHelper.java
deleted file mode 100644
index dc45cce48..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditHelper.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.commands.range.WorkNode;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingNavigationMediator;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-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;
-
-/**
- * @author mengbo
- */
-public class EditHelper {
-// public final static boolean INNER_DEBUG = false;
-
- private final static int OUT_OF_LEFT = 1;
-
- private final static int LEFT_NAME = 2;
-
- /**
- * indicates a position in the middle
- */
- public final static int IN_MIDDLE = 3;
-
- private final static int RIGHT_NAME = 4;
-
- private final static int OUT_OF_RIGHT = 5;
-
- private static final EditHelper _instance = new EditHelper();
-
- //private static Logger _log = PDPlugin.getLogger(EditHelper.class);
-
- private EditHelper() {
- // no external instantiation
- }
-
- /**
- * Move operation position infront of next non-blank and non-transparent
- * char. The caller should ensure position's container node is not
- * tranparent text node.
- *
- * @param position
- * @param forward
- * @param forEmpty
- * @return the offset
- */
- public int getTextNextOffset(IDOMPosition position, boolean forward,
- boolean forEmpty) {
- EditValidateUtil.validPosition(position);
- Assert.isTrue(!EditModelQuery.isTransparentText(position
- .getContainerNode()));
- Text text = (Text) position.getContainerNode();
- int offset = position.getOffset();
- String data = text.getNodeValue();
- if (forward) {
- while (offset < data.length()
- && HTMLUtil.isHTMLWhitespace(data.charAt(offset))) {
- offset++;
- }
- } else {
- while (offset > 0
- && HTMLUtil.isHTMLWhitespace(data.charAt(offset - 1))) {
- offset--;
- }
- }
- return offset;
-
- }
-
- /**
- * @return the singleton instance
- */
- public static EditHelper getInstance() {
- return _instance;
- }
-
- /**
- * This caret from current operation postion to next position, this method
- * will convert DesignPosition in to DOMPosition, then call dom function to
- * move dom position. Here we might insert some complex rules to see whether
- * move is valid.
- *
- * @param action
- * @param currentPosition
- * @param forward
- * @return the dom position
- */
- public static DesignPosition moveToNextEditPosition(int action,
- DesignPosition currentPosition, boolean forward) {
- IDOMPosition position;
- position = DOMPositionHelper.toDOMPosition(currentPosition);
- position = moveToNextEditPosition(position, forward,
- new InlineEditingNavigationMediator(
- new ActionData(action, null)));
- if (position == null) {
- return currentPosition;
- }
-
- EditValidateUtil.validPosition(position);
- return DOMPositionHelper.toDesignPosition(position);
- }
-
- /**
- * Move operation position to next edit position. We may need rule to valid
- * it based on operation ID and direction. We need to pack transparent
- * string.
- *
- * @param currentPosition
- * @param forward
- * @param validator
- * @return the dom position
- */
- public static IDOMPosition moveToNextEditPosition(
- IDOMPosition currentPosition, boolean forward,
- IMovementMediator validator) {
- IDOMPosition result = null;
- CaretMoveIterator moveIterator = new CaretMoveIterator(null, validator,
- currentPosition, forward);
- if ((result = moveIterator.moveToNextEditPosition(currentPosition,
- forward, validator)) == null) {
- result = currentPosition;
- }
- return result;
- }
-
- /**
- * Delete a node, in case it is 'body' or 'html', it won't perform delete.
- *
- * @param node
- * @return the node
- */
- public static Node deleteNode(Node node) {
- if (node == null || node.getNodeName() == null) {
- return null;
- }
- String name = node.getLocalName();
-
- if (name != null
- && (name.equalsIgnoreCase(IHTMLConstants.TAG_BODY)
- || name.equalsIgnoreCase(IHTMLConstants.TAG_HEAD) || name
- .equalsIgnoreCase(IHTMLConstants.TAG_HTML))) {
- return null;
- }
- Node parent = node.getParentNode();
- name = parent.getNodeName();
- if (parent != null
- && name != null
- && parent.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_HEAD)) {
- return null;
- }
- return parent.removeChild(node);
- }
-
- /**
- * Order the IDOMPositions in a range in ascending order.
- *
- * @param range
- * @return the dom range
- */
- public static DOMRange normal(DOMRange range) {
- EditValidateUtil.validRange(range);
- IDOMPosition p1 = range.getStartPosition();
- IDOMPosition p2 = range.getEndPosition();
- if (EditModelQuery.getIndexedRegionLocation(p1) > EditModelQuery
- .getIndexedRegionLocation(p2)) {
- return new DOMRange(p2, p1);
- }
- return range;
- }
-
- /**
- * Move position in to node from its outside, the node should be breakble.
- *
- * @param node
- * @param validator
- * @param forward
- * @return the dom position
- */
- public static IDOMPosition moveInto(Node node, IMovementMediator validator,
- boolean forward) {
- CaretMoveIterator moveIterator = new CaretMoveIterator(null, validator,
- new DOMRefPosition(node, !forward), forward);
- return moveIterator.moveIn(node);
- }
-
- /**
- * Convert a DomRefPosition into DOMPosition.
- *
- * @param position
- * @return the dom position
- */
- public static IDOMPosition ensureDOMPosition(IDOMPosition position) {
- if (position instanceof DOMRefPosition) {
- return new DOMPosition(position.getContainerNode(), position
- .getOffset());
- }
- return position;
- }
-
- /**
- * @param currentNode
- * @param pos1
- * @param pos2
- * @param top
- * @param workNode
- */
- public void processText(Text currentNode, final int pos1, final int pos2,
- Node top, Stack workNode) {
- // the text could be tranparent, or 0 length.
- Assert.isTrue(pos1 <= pos2);
- if (pos1 == pos2) {
- return;
- }
- // int left = EditModelQuery.getNodeStartIndex(currentNode);
- // int right = EditModelQuery.getNodeEndIndex(currentNode);
- int location1 = getLocation(currentNode, pos1, false);
- int location2 = getLocation(currentNode, pos2, false);
- if (location1 <= IN_MIDDLE && location2 >= IN_MIDDLE) {
- workNode.push(new WorkNode(currentNode, pos1, pos2));
- }
- }
-
- /**
- * @param currentNode
- * @param pos1
- * @param pos2
- * @param top
- * @param result
- */
- public void collectNodes(Node currentNode, final int pos1, final int pos2,
- Node top, Stack result) {
- Assert.isTrue(pos1 <= pos2);
- if (pos1 == pos2) {
- return;
- }
- if (EditModelQuery.isText(currentNode)) {
- processText((Text) currentNode, pos1, pos2, top, result);
- } else {
- int location1 = getLocation(currentNode, pos1, false);
- int location2 = getLocation(currentNode, pos2, false);
- if (location1 < IN_MIDDLE && location2 > IN_MIDDLE) {
- // TODO: push the node into result.--
- result.push(new WorkNode(currentNode, pos1, pos2));
- } else if (location1 <= IN_MIDDLE && location2 >= IN_MIDDLE) {
- if (currentNode.hasChildNodes()) {
- Node child = currentNode.getFirstChild();
- Stack myResult = new Stack();
- while (child != null) {
- collectNodes(child, pos1, pos2, top, myResult);
- child = child.getNextSibling();
- }
- if (location1 < IN_MIDDLE && location2 >= IN_MIDDLE
- || location1 <= IN_MIDDLE && location2 > IN_MIDDLE) {
- WorkNode workNode = new WorkNode(currentNode, pos1,
- pos2);
- while (myResult.size() > 0) {
- WorkNode w = (WorkNode) myResult.remove(0);
- if (w.getNode().getParentNode() == workNode
- .getNode()) {
- w.setParent(workNode);
- }
- result.push(w);
- }
- // TODO: push parent into result.--
- result.push(workNode);
- }
- } else {
- if (!(location1 == IN_MIDDLE && location2 == IN_MIDDLE)) {
- // TODO: push this node into result.
- result.push(new WorkNode(currentNode, pos1, pos2));
- }
- }
- }
- }
- }
-
- /**
- * @param currentNode
- * @param pos
- * @param isOffset
- * @return the location
- */
- public int getLocation(Node currentNode, int pos, boolean isOffset) {
- if (EditModelQuery.getInstance().isSingleRegionNode(currentNode)) {
- // if (EditModelQuery.isText(currentNode))
- {
-
- int left = EditModelQuery.getNodeStartIndex(currentNode);
- int right = EditModelQuery.getNodeEndIndex(currentNode);
- if (isOffset) {
- pos += left;
- }
- if (pos <= left) {
- return OUT_OF_LEFT;
- } else if (left < pos && pos < right) {
- return IN_MIDDLE;
- } else {
- return OUT_OF_RIGHT;
- }
- }
- }
- int left = EditModelQuery.getNodeStartIndex(currentNode);
- int left1 = EditModelQuery.getNodeStartNameEndIndex(currentNode);
- int right = EditModelQuery.getNodeEndNameStartIndex(currentNode);
- int right1 = EditModelQuery.getNodeEndIndex(currentNode);
- if (isOffset) {
- pos += left;
- }
- if (pos <= left) {
- return OUT_OF_LEFT;
- } else if (left < pos && pos < left1) {
- return LEFT_NAME;
- } else if (left1 <= pos && pos <= right) {
- return IN_MIDDLE;
- } else if (right < pos && pos < right1) {
- return RIGHT_NAME;
- } else {
- return OUT_OF_RIGHT;
- }
-
- }
-
- // TODO: dead?
-// private Node cutCurrentNode(int pos[], Node currentNode,
-// IDOMPosition position) {
-// // at right edge
-// int curpos = EditModelQuery.getIndexedRegionLocation(position);
-// if (pos[0] <= curpos) {
-// pos[1] = EditModelQuery.getNodeStartIndex(currentNode);
-// currentNode = deleteNode(currentNode);
-// if (INNER_DEBUG) {
-// _log.info("cut:" + currentNode);
-// }
-// return currentNode;
-// } else if (pos[1] >= curpos) {
-// pos[0] = EditModelQuery.getNodeEndIndex(currentNode);
-// currentNode = deleteNode(currentNode);
-// if (INNER_DEBUG) {
-// _log.info("cut:" + currentNode);
-// }
-// return currentNode;
-// }
-// return null;
-// }
-
- //TODO: dead?
-// private int getPos(DOMRange range, boolean forStart) {
-// if (forStart) {
-// return EditModelQuery.getIndexedRegionLocation(range
-// .getStartPosition());
-// } else {
-// return EditModelQuery.getIndexedRegionLocation(range
-// .getEndPosition());
-// }
-// }
-
- /**
- * @param position
- * @param forward
- * @return the edit part for position
- */
- public EditPart getEditPart(DesignPosition position, boolean forward) {
- if (position instanceof DesignRefPosition) {
- return ((DesignRefPosition) position).getRefPart();
- }
- EditPart container = position.getContainerPart();
- if (container instanceof TextEditPart) {
- return container;
- }
- if (container != null) {
- List children = container.getChildren();
- for (int i = 0, n = children.size(); i < n; i++) {
- if (i == position.getOffset()) {
- int index = (forward) ? i - 1 : i + 1;
- if (index < 0) {
- index = 0;
- }
- if (index >= children.size()) {
- index = children.size() - 1;
- }
-
- return (EditPart) children.get(index);
- }
- }
- }
- return null;
- }
-
- /**
- * @param position
- * @return the resulting dom position
- */
- public static IDOMPosition splitNode(IDOMPosition position) {
- if (EditValidateUtil.validPosition(position)) {
- Node container = null;
- // Avoid to split tag at its edge
- if (position.getOffset() > 0) {
- if (position.isText()) {
- container = position.getContainerNode();
- if (position.getOffset() < ((Text) container).getLength()) {
- position = DOMPositionHelper.splitText(position);
- } else {
- // position = new
- // DOMRefPosition(position.getContainerNode(), true);
- }
- } else {
- if (position.getNextSiblingNode() != null) {
- container = position.getContainerNode();
- Node parent = container.getParentNode();
-
- Document document = EditModelQuery
- .getDocumentNode(container);
- Node newContainer = document.createElement(container
- .getNodeName());
- Node node = position.getPreviousSiblingNode();
- Node refNode = null;
- while (node != null) {
- Node prev = node.getPreviousSibling();
- node = node.getParentNode().removeChild(node);
-
- newContainer.insertBefore(node, refNode);
- refNode = node;
- node = prev;
- }
- parent.insertBefore(newContainer, container);
- // set the newContainer node align attribute to the
- // original align attribue
- // copy nodes under container node to container node's
- // parent node
- if (container.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_P)) {
- Element pNode = (Element) container;
- String align = pNode
- .getAttribute(IHTMLConstants.ATTR_ALIGN);
- if (align != null && !"".equalsIgnoreCase(align)) { //$NON-NLS-1$
- ((Element) newContainer).setAttribute(
- IHTMLConstants.ATTR_ALIGN, align);
- }
- NodeList nodeList = pNode.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node tempNode = nodeList.item(i);
- parent.insertBefore(tempNode, container);
- }
- }
- return new DOMRefPosition(newContainer, true);
- }
-// position = new
-// DOMRefPosition(position.getContainerNode(), true);
- }
- } else {
- // container = position.getContainerNode();
- // position = new DOMRefPosition(container, false);
- }
- }
- return position;
- }
-
- /**
- * @param position
- * @return the position of this 'position' in relative to it's container.
- */
- public static int getLocation(IDOMPosition position) {
- if (position.getOffset() == 0) {
- return -1;
- }
- if (position.isText()) {
- if (position.getOffset() == ((Text) position.getContainerNode())
- .getLength()) {
- return 1;
- }
- return 0;
- }
- if (position.getOffset() == position.getContainerNode()
- .getChildNodes().getLength()) {
- return 1;
- }
- return 0;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditModelQuery.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditModelQuery.java
deleted file mode 100644
index e2b035c29..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditModelQuery.java
+++ /dev/null
@@ -1,1837 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.HTMLEditPartsFactory;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.swt.SWT;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public final class EditModelQuery {
- private static Logger _log = PDPlugin.getLogger(EditModelQuery.class);
-
- private static EditModelQuery _instance;
-
- private static final int START_INDEX_BEFORE_TAG = 1;
-
- private static final int END_INDEX_WITHIN_TAG = 2;
-
- private static final HashSet SPECIAL_EMPTY_CHARS = new HashSet();
-
- /**
- * Maps unicode Characters to html equivalents
- */
- public static final HashMap CHAR_NODE_MAP = new HashMap();
-
- // Cursor can't go outside of these container.
- private static final HashSet HTML_CONSTRAINED_CONTAINERS = new HashSet();
-
- /**
- * HTML tags that control style
- */
- public static final HashSet HTML_STYLE_NODES = new HashSet();
-
- static final HashSet UNREMOVEBLE_TAGS = new HashSet();
-
- // Nodes that can hold other nodes.
- static final String[] HTML_CONTAINER_NODES = {
- //
- IHTMLConstants.TAG_BODY, //
- IHTMLConstants.TAG_HTML, //
- IHTMLConstants.TAG_SPAN, //
- IHTMLConstants.TAG_FORM, //
- IHTMLConstants.TAG_P,//
- IHTMLConstants.TAG_SPAN,//
- IHTMLConstants.TAG_DIV,//
- IHTMLConstants.TAG_LI,//
- IHTMLConstants.TAG_OL,//
- IHTMLConstants.TAG_UL //
- };
-
- static final String[] NON_HTML_CONTAINER_NODES = {
- IJSFConstants.TAG_VIEW, //
- IJSFConstants.TAG_PANELGRID, //
- IJSFConstants.TAG_PANELGROUP, //
- IJSFConstants.TAG_SUBVIEW };
- static {
- UNREMOVEBLE_TAGS.add(IHTMLConstants.TAG_HTML);
- UNREMOVEBLE_TAGS.add(IHTMLConstants.TAG_HEAD);
- UNREMOVEBLE_TAGS.add(IHTMLConstants.TAG_BODY);
- EditModelQuery.CHAR_NODE_MAP.put(new Character(SWT.CR),
- IHTMLConstants.TAG_BR);
- EditModelQuery.CHAR_NODE_MAP.put(new Character(SWT.LF),
- IHTMLConstants.TAG_BR);
- EditModelQuery.SPECIAL_EMPTY_CHARS.add(" "); //$NON-NLS-1$
- EditModelQuery.SPECIAL_EMPTY_CHARS.add("\t"); //$NON-NLS-1$
- EditModelQuery.SPECIAL_EMPTY_CHARS.add("\r"); //$NON-NLS-1$
- EditModelQuery.SPECIAL_EMPTY_CHARS.add("\n"); //$NON-NLS-1$
- EditModelQuery.HTML_CONSTRAINED_CONTAINERS.add(IHTMLConstants.TAG_TD);
- EditModelQuery.HTML_CONSTRAINED_CONTAINERS.add(IHTMLConstants.TAG_TR);
- EditModelQuery.HTML_CONSTRAINED_CONTAINERS
- .add(IHTMLConstants.TAG_TABLE);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_B);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_EM);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H1);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H2);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H3);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H4);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H5);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_H6);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_A);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_U);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_I);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_S);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_STRONG);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_TT);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_BIG);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_SMALL);
- EditModelQuery.HTML_STYLE_NODES.add(IHTMLConstants.TAG_FONT);
- }
-
- private EditModelQuery() {
- // no external instantiation
- }
-
- /**
- * @return the singleton instance
- */
- public static EditModelQuery getInstance() {
- if (_instance == null) {
- _instance = new EditModelQuery();
- }
- return _instance;
- }
-
- /**
- * Get previous sibling, or if sibling is null then get previous neighbor.
- *
- * @param node
- * @return the node
- */
- public Node getPreviousNeighbor(Node node) {
- if (!EditValidateUtil.validNode(node)) {
- return null;
- }
- while (node != null && node.getNodeType() != Node.DOCUMENT_NODE
- && node.getPreviousSibling() == null) {
- node = node.getParentNode();
- }
- return (node != null && node.getNodeType() != Node.DOCUMENT_NODE) ? node
- .getPreviousSibling()
- : null;
- }
-
- /**
- * Get privous sibling, or if sibling is null then get previous neighor's
- * rightmost child, which is adjacent to 'node'.
- *
- * @param node
- * @return the node
- */
- public Node getPreviousLeafNeighbor(Node node) {
- return getLastLeafChild(getPreviousNeighbor(node));
- }
-
- /**
- * Get next sibling, or if sibling is null get next neighbor.
- *
- * @param node
- * @return the node
- */
- public Node getNextNeighbor(Node node) {
- if (!EditValidateUtil.validNode(node)) {
- return null;
- }
-
- while (node != null && node.getNodeType() != Node.DOCUMENT_NODE
- && node.getNextSibling() == null) {
- node = node.getParentNode();
- }
- return (node != null && node.getNodeType() != Node.DOCUMENT_NODE) ? node
- .getNextSibling()
- : null;
- }
-
- /**
- * Get next sibling, or if sibling is null get next neighbor's leftmost leaf
- * child which will be adjacent to 'node'.
- *
- * @param node
- * @return the node
- */
- public Node getNextLeafNeighbor(Node node) {
- return getFirstLeafChild(getNextNeighbor(node));
- }
-
- /**
- * Get node's rightmost leaf child.
- *
- * @param node
- * @return the node
- */
- private Node getLastLeafChild(Node node) {
- if (node == null) {
- return null;
- }
- if (node.getLastChild() != null) {
- return getLastLeafChild(node.getLastChild());
- }
- return node;
- }
-
- /**
- * Get node's leftmost leaf child.
- *
- * @param node
- * @return the node
- */
- private Node getFirstLeafChild(Node node) {
- if (node == null) {
- return null;
- }
-
- if (node.getFirstChild() != null) {
- return getFirstLeafChild(node.getFirstChild());
- }
- return node;
- }
-
- /**
- * To see if node is within a indexed region that is started from 'start',
- * ended at 'end'
- */
- static boolean within(int start, int end, Node theNode) {
- return getNodeStartIndex(theNode) >= start
- && getNodeEndIndex(theNode) <= end;
- }
-
- /**
- * To see whether the 'position' is within indexed location (start, end)
- *
- * @param start
- * @param end
- * @param position
- * @return
- */
- boolean within(int start, int end, IDOMPosition position) {
- int pos = getIndexedRegionLocation(position);
- return start <= pos && pos <= end;
- }
-
- /**
- * To see whether the 'theNode' is not within indexed region (start, end)
- *
- * @param start
- * @param end
- * @param theNode
- * @return
- */
- static boolean outOf(int start, int end, Node theNode) {
- if (getNodeLenth(theNode) > 0) {
- return getNodeStartIndex(theNode) >= end
- || getNodeEndIndex(theNode) <= start;
- }
- return !((getNodeStartIndex(theNode) >= start && getNodeEndIndex(theNode) <= end));
- }
-
- /**
- * Determine whether the position is at node's edge. When the offset is at
- * edge, it is in the leftmost or rightmost offset of node's region.
- *
- * @param position
- * @param forward
- * @return true if at edge
- */
- boolean atEdge(IDOMPosition position, boolean forward) {
- Node node = position.getContainerNode();
- int offset = position.getOffset();
- if (forward) {
- if (EditModelQuery.isText(node)) {
- return offset == node.getNodeValue().length();
- }
- return offset == node.getChildNodes().getLength();
- }
- return offset == 0;
- }
-
- /**
- * Get node's neighbor on the node tree, if forward, then get next,
- * otherwise go backward.
- *
- * @param node
- * @param forward
- * @return the node
- */
- Node getNeighbor(Node node, boolean forward) {
- if (forward) {
- return getNextNeighbor(node);
- }
- return getPreviousNeighbor(node);
- }
-
- /**
- * Get neighbor which is descendent of root.
- *
- * @param node
- * @param root
- * @return the node
- */
- Node getPreviousNeighbor(Node node, Node root) {
- if (!EditValidateUtil.validNode(node)) {
- return null;
- }
- while (node != null && node != root
- && node.getNodeType() != Node.DOCUMENT_NODE
- && node.getPreviousSibling() == null) {
- node = node.getParentNode();
- }
- return (node != null && node != root && node.getNodeType() != Node.DOCUMENT_NODE) ? node
- .getPreviousSibling()
- : null;
- }
-
- /**
- * Get neighbor which is descendent of root.
- *
- * @param node
- * @param root
- * @return the node
- */
- Node getNextNeighbor(Node node, Node root) {
- if (!EditValidateUtil.validNode(node)) {
- return null;
- }
-
- while (node != null && node != root
- && node.getNodeType() != Node.DOCUMENT_NODE
- && node.getNextSibling() == null) {
- node = node.getParentNode();
- }
- return (node != null && node != root && node.getNodeType() != Node.DOCUMENT_NODE) ? node
- .getNextSibling()
- : null;
- }
-
- /**
- * Get neighbor which is descendent of root.
- *
- * @param node
- * @param forward
- * @param root
- * @return the node
- */
- Node getNeighbor(Node node, boolean forward, Node root) {
- Assert.isTrue(root != null);
- if (forward) {
- return getNextNeighbor(node, root);
- }
- return getPreviousNeighbor(node, root);
- }
-
- /**
- * Get node's leaf child which is adjacent to 'node', according to
- * 'forward', it will search backward or forward.
- *
- * @param node
- * @param forward
- * @return the node
- */
- Node getLeafNeighbor(Node node, boolean forward) {
- if (node == null) {
- return null;
- }
- if (forward) {
- return getNextLeafNeighbor(node);
- }
- return getPreviousLeafNeighbor(node);
- }
-
- /**
- * Get neighbor's leaf child, which is adjacent to 'node'
- *
- * @param node
- * @param childIndex
- * @param forward
- * @return the node
- */
- Node getLeafNeighbor(Node node, int childIndex, boolean forward) {
- if (node == null) {
- return null;
- }
- Node neighbor = getNeighbor(node, childIndex, forward);
- if (neighbor != null) {
- if (forward) {
- return getFirstLeafChild(neighbor);
- }
- return getLastLeafChild(neighbor);
- }
- return null;
- }
-
- /**
- * First try sibling, if it retruns null, try search neighbor.
- *
- * @param parent
- * @param childIndex
- * @param forward
- * @return the node
- */
- Node getNeighbor(Node parent, int childIndex, boolean forward) {
- if (!EditValidateUtil.validNode(parent)) {
- return null;
- }
-
- NodeList nodeList = parent.getChildNodes();
- if (nodeList != null && nodeList.getLength() > 0) {
- if (nodeList.getLength() < childIndex) {
- return null;
- }
- Node childNode = null;
- if (!forward) {
- --childIndex;
- }
- childNode = nodeList.item(childIndex);
- if (childNode != null) {
- return childNode;
- }
- return getNeighbor(parent, forward);
- }
- if (parent.getNodeType() == Node.TEXT_NODE) {
- return getNeighbor(parent, forward);
- }
- return null;
- }
-
- /**
- * To see whether the textSelection start and end are on the same.
- *
- * @param model
- * @param textSelection
- * @return the node
- */
- static boolean isSame(IStructuredModel model,
- TextSelection textSelection) {
- if (model != null && textSelection != null) {
- int t1 = textSelection.getOffset();
- int t2 = textSelection.getLength() + t1;
- return model.getIndexedRegion(t1) == model.getIndexedRegion(t2);
- }
- return false;
- }
-
- /**
- * To see if the range and text selection covered the same range.
- *
- * @param model
- * @param range
- * @param textSelection
- * @return true if same
- */
- static boolean isSame(IStructuredModel model, DesignRange range,
- TextSelection textSelection) {
- if (model != null && range != null && textSelection != null) {
- int t1 = textSelection.getOffset();
- int t2 = textSelection.getLength() + t1;
- int r1 = getIndexedRegionLocation(DOMRangeHelper.toDOMRange(range)
- .getStartPosition());
- int r2 = getIndexedRegionLocation(DOMRangeHelper.toDOMRange(range)
- .getEndPosition());
- return (model.getIndexedRegion(t1) == model.getIndexedRegion(r1) && //
- model.getIndexedRegion(t2) == model.getIndexedRegion(r2))
- || (model.getIndexedRegion(t2) == model
- .getIndexedRegion(r1) && //
- model.getIndexedRegion(t1) == model.getIndexedRegion(r2));
- }
- return false;
- }
-
- /**
- * To see whether the selection is single point.
- *
- * @param textSelection
- * @return true if same point
- */
- static boolean isSamePoint(TextSelection textSelection) {
- return textSelection.getLength() == 0;
- }
-
- /**
- * To see whether two IDOMPosition are pointed to a same location.
- *
- * @param p1
- * @param p2
- * @return true if same
- */
- public static boolean isSame(IDOMPosition p1, IDOMPosition p2) {
- if (p1 == p2
- || (p1.getContainerNode() == p2.getContainerNode() && p1
- .getOffset() == p2.getOffset())) {
- return true;
- }
- return false;
- }
-
- /**
- * To see whether the range's start and end position are pointed to a same
- * location.
- *
- * @param range
- * @return true if is same
- */
- public static boolean isSame(DOMRange range) {
- EditValidateUtil.validRange(range);
- return isSame(range.getStartPosition(), range.getEndPosition());
- }
-
- /**
- * @param range
- * @return true if same
- */
- public static boolean isSame(DesignRange range) {
- return isSame(range.getStartPosition(), range.getEndPosition());
- }
-
- /**
- * @param p1
- * @param p2
- * @return true if same
- */
- public static boolean isSame(DesignPosition p1, DesignPosition p2) {
- if (p1 == p2) {
- return true;
- }
- if (p1.getContainerNode() == p2.getContainerNode()
- && p1.getOffset() == p2.getOffset()) {
- return true;
- }
- return false;
- }
-
- /**
- * @param p1
- * @param p2
- * @return true if p1 and p2 are within same text node
- */
- final boolean isWithinSameText(IDOMPosition p1, IDOMPosition p2) {
- if (p1 == null || p2 == null) {
- return false;
- }
- return p1.isText() && p2.isText()
- && p1.getContainerNode() == p2.getContainerNode();
- }
-
- /**
- * Get the node absolute start location in its residing IStructuredModel.
- *
- * @param p
- * @return the location
- */
- public static int getIndexedRegionLocation(IDOMPosition p) {
- if (!EditValidateUtil.validPosition(p)) {
- return -1;
- }
- Node parent = p.getContainerNode();
- if (p.isText()) {
- return ((IndexedRegion) parent).getStartOffset() + p.getOffset();
- }
- int index = p.getOffset();
- if (!parent.hasChildNodes()) {
- // Element:
- if (!isDocument(parent)) {
- IStructuredDocumentRegion region = ((IDOMNode) parent)
- .getStartStructuredDocumentRegion();
- return region.getEnd();
- }
- // Document node:
- int offset = ((IndexedRegion) parent).getStartOffset();
- return offset;
- }
- NodeList children = parent.getChildNodes();
- // After rightmost child
- if (children.getLength() == index) {
- if (!isDocument(parent)) {
- int pos = getNodeEndNameStartIndex(parent);
- return pos;
- }
- int offset = ((IndexedRegion) parent).getEndOffset();
- return offset;
- }
- Node node = children.item(index);
- return ((IndexedRegion) node).getStartOffset();
- }
-
- /**
- * To determine whether the position is at the edge of a node. TODO: temp
- * func for later combination
- * @param nodePos
- *
- * @param position
- * @param left
- * @return true if linked
- */
- boolean isLinked(IDOMPosition nodePos, IDOMPosition position,
- boolean left) {
- int index = getIndexedRegionLocation(position);
- if (left) {
- int pos = getIndexedRegionLocation(nodePos);
- return pos == index;
- }
- Node node = null;
- int end;
- if (nodePos.isText()) {
- node = nodePos.getContainerNode();
- end = ((IndexedRegion) node).getEndOffset();
- } else {
- node = nodePos.getNextSiblingNode();
- Assert.isTrue(node != null);
- end = ((IndexedRegion) node).getEndOffset();
- }
- return end == index;
- }
-
- /**
- * To see if the location is at the node's indexed pos, posType can be
- * START_INDEX_BEFORE_TAG, END_INDEX_WITHIN_TAG When location is at these
- * two position, webtools returns the container tag name, so we need to know
- * these.
- *
- * @param location
- * @param node
- * @return true if at edge
- */
- boolean isAtNodeNameEdge(int location, Node node, int posType) {
- int start = getNodeEndNameStartIndex(node);
- return location == start;
- }
-
- /**
- * @param location
- * @param node
- * @return true if at edge
- */
- public boolean isAtNodeNameEdge(int location, Node node) {
- return isAtNodeNameEdge(location, node, START_INDEX_BEFORE_TAG)
- || isAtNodeNameEdge(location, node, END_INDEX_WITHIN_TAG);
- }
-
- /**
- * If text only contains chars '\r' or '\n', it is considered to be
- * transparent.
- *
- * @param node
- * @return true if transparent text
- */
- public static boolean isTransparentText(Node node) {
- // should valid non null?
- Assert.isTrue(node != null);
- if (node == null || !isText(node)) {
- return false;
- }
- if (!EditValidateUtil.validText(node)) {
- return false;
- }
-
- Text text = (Text) node;
- if (text.getLength() == 0) {
- return true;
- }
- String value = text.getNodeValue();
- int i = 0;
- while (i < value.length() && HTMLUtil.isHTMLWhitespace(value.charAt(i))) {
- i++;
- }
- return i == value.length();
- }
-
- /**
- * Get node index in its parent's children.
- *
- * @param node
- * @return the node index or -1 if not found
- */
- static int getNodeIndex(Node node) {
- EditValidateUtil.validNode(node);
- Node parent = node.getParentNode();
- int index = 0;
- for (Node child = parent.getFirstChild(); child != null; child = child
- .getNextSibling()) {
- if (child == node) {
- return index;
- }
- index++;
- }
- return -1; // error
- }
-
- /**
- * If parent has more than one children of which each node's localName is
- * the same as of 'node', return the index of 'node' in the same type
- * children list.
- *
- * @param node
- * @return the index
- */
- public int getSameTypeNodeIndex(Node node) {
- EditValidateUtil.validNode(node);
- int i = 0;
- while (node != null) {
- Node sibling = node.getPreviousSibling();
- if (sibling != null && sibling.getLocalName() != null
- && sibling.getLocalName().equals(node.getLocalName())) {
- i++;
- }
- node = sibling;
- }
- return i; // error
- }
-
- /**
- * Start from position, skip transparent chars, and returns the first
- * non-transparent char's index. based on 'forward', go previously or next .
- *
- * @param value
- * @param position
- * @param forward
- * @return the position
- */
- int getNextConcretePosition(String value, int position,
- boolean forward) {
- if (value == null) {
- return -1;
- }
- if (value.length() == 0) {
- return 0;
- }
- // validate
- Assert.isTrue(position >= 0 && position <= value.length());
- int i = -1;
- if (forward) {
- i = position;
- while (i < value.length()
- && (value.charAt(i) == SWT.CR || value.charAt(i) == SWT.LF)) {
- i++;
- }
- return i;
- }
- i = position - 1;
- while (i >= 0
- && (value.charAt(i) == SWT.CR || value.charAt(i) == SWT.LF)) {
- i--;
- }
- return i + 1;
- }
-
- /**
- * Get two nodes' lowest common ancestor.
- *
- * @param node1
- * @param node2
- * @return the node
- */
- public Node getCommonAncestor(Node node1, Node node2) {
- if (node1 == null || node2 == null) {
- return null;
- }
-
- for (Node na = node1; na != null; na = na.getParentNode()) {
- for (Node ta = node2; ta != null; ta = ta.getParentNode()) {
- if (ta == na)
- return ta;
- }
- }
- return null; // not found
- }
-
- /**
- * Get lowest common ancestor of two IDOMPositions' container nodes..
- *
- * @param p1
- * @param p2
- * @return the nodeh
- */
- public Node getCommonAncestor(IDOMPosition p1, IDOMPosition p2) {
- Node n1 = p1.getContainerNode();
- Node n2 = p2.getContainerNode();
- return getCommonAncestor(n1, n2);
- }
-
- /**
- * Get lowest ancestor of a 'node' which is block type.
- *
- * @param node
- * @return the node
- */
- Node getBlockAncestor(Node node) {
- if (!EditValidateUtil.validNode(node)) {
- return null;
- }
- while (node != null && isChild(IHTMLConstants.TAG_BODY, node, true)) {
- if (isBlockNode(node)) {
- return node;
- }
- node = node.getParentNode();
- }
- return null;
- }
-
- /**
- * To see whether a node is block type.
- *
- * @param node
- * @return true if is a block node
- */
- public static boolean isBlockNode(Node node) {
- return !isInline(node);
- }
-
- /**
- * @param node
- * @return true if is table cell
- */
- static boolean isTableCell(Node node) {
- if (node instanceof INodeNotifier) {
- Object adapter = ((INodeNotifier) node)
- .getAdapterFor(ICSSStyle.class);
- if (adapter != null) {
- ICSSStyle style = (ICSSStyle) adapter;
- String display = style.getDisplay();
- return display.equalsIgnoreCase(ICSSPropertyID.VAL_TABLE_CELL);
- }
- }
- return false;
- }
-
- /**
- * To see if a node's display type is inline.
- *
- * @param refNode
- * @return true if is inline
- */
- public static boolean isInline(Node refNode) {
- Node node = refNode;
- EditPart part = Target.resolvePart(node);
- if (part instanceof ElementEditPart) {
- node = ((ElementEditPart) part).getTagConvert().getResultElement();
- }
- if (isText(node)) {
- return true;
- } else if (node instanceof INodeNotifier) {
- Object adapter = ((INodeNotifier) node)
- .getAdapterFor(ICSSStyle.class);
- if (adapter != null) {
- ICSSStyle style = (ICSSStyle) adapter;
- String display = style.getDisplay();
- return (display.equalsIgnoreCase(ICSSPropertyID.VAL_INLINE)
- || //
- display
- .equalsIgnoreCase(ICSSPropertyID.VAL_INLINE_TABLE)
- || //
- display.equalsIgnoreCase(ICSSPropertyID.VAL_COMPACT) || //
- display.equalsIgnoreCase(ICSSPropertyID.VAL_RUN_IN));
- }
- }
- return false;
- }
-
- /**
- * @param node
- * @return true if is list item
- */
- public static boolean isListItem(Node node) {
- if (node instanceof INodeNotifier) {
- Object adapter = ((INodeNotifier) node)
- .getAdapterFor(ICSSStyle.class);
- if (adapter != null) {
- ICSSStyle style = (ICSSStyle) adapter;
- String display = style.getDisplay();
- return (display.equalsIgnoreCase(ICSSPropertyID.VAL_LIST_ITEM));
- }
- }
- return false;
- }
-
- /**
- * The net effect of this method is that (subject to flags), true
- * is returned if 'node' is the descendant (not really a child)
- * of a tag with a local name in the list of 'names'.
- *
- * TODO C.B: I hate method. Need to rename and possibly rewrite
- *
- * @param names -- check this list for valid local names
- * @param node -- the node to check
- * @param ignoreCase -- if true, each node name has toLowerCase applied to
- * it before checking for it names. NOTE: this assumes that names is already
- * in lowercase. TODO: this is crappy assumption
- * @param noSame -- if true, then node is skipped and only its parent nodes are
- * checked
- * @return true if the local name of node or one of its parents
- * is in the array of Strings called names.
- */
- public static boolean isChild(final String names[], Node node,
- boolean ignoreCase, boolean noSame) {
- if (node == null) {
- return false;
- }
- if (noSame) {
- node = node.getParentNode();
- }
-
- final List namesAsList = Arrays.asList(names);
-
- while (node != null && !isDocument(node)) {
- String nodeName = node.getLocalName();
-
- if (nodeName != null)
- {
- if (ignoreCase)
- {
- nodeName = nodeName.toLowerCase();
- }
-
- if (namesAsList.contains(nodeName))
- {
- return true;
- }
- }
- Node oldNode = node;
- node = node.getParentNode();
- if (oldNode == node)
- {
- throw new IllegalStateException("Infinite loop discovered in DOM tree"); //$NON-NLS-1$
- }
- }
- return false;
- }
-
- /**
- * Determine whether a node is a child of node that is named as 'name', if
- * the node itself is named as 'name' return true also.
- *
- * @param name
- * @param node
- * @param ignoreCase
- * @return true if is child
- */
- public static boolean isChild(String name, Node node, boolean ignoreCase) {
- if (node == null) {
- return false;
- }
-
- while (node != null && node.getNodeType() != Node.DOCUMENT_NODE) {
- String nodeName = node.getLocalName();
- if (nodeName != null
- && (ignoreCase && name.equalsIgnoreCase(nodeName) || !ignoreCase
- && name.equalsIgnoreCase(nodeName))) {
- return true;
- }
- node = node.getParentNode();
- }
- return false;
- }
-
- /**
- * To see whether 'node' is 'ancestor's child.
- *
- * @param ancestor
- * @param node
- * @return true if is child
- */
- public static boolean isChild(Node ancestor, Node node) {
- if (node == null || ancestor == null) {
- return false;
- }
-
- if (isDocument(ancestor)) {
- return true;
- }
- while (node != null && !isDocument(ancestor)) {
- if (node == ancestor) {
- return true;
- }
- node = node.getParentNode();
- }
- return false;
- }
-
- /**
- * Get next sibling node to position's container node.
- *
- * @param position
- * @return the node
- */
- Node getNextSibling(IDOMPosition position) {
- if (position.isText()) {
- return position.getContainerNode().getNextSibling();
- }
- return position.getNextSiblingNode();
- }
-
- /**
- * Get previous sibling node to position's container node.
- *
- * @param position
- * @return the node
- */
- Node getPreviousSibling(IDOMPosition position) {
- if (position.isText()) {
- return position.getContainerNode().getPreviousSibling();
- }
- return position.getPreviousSiblingNode();
- }
-
- /**
- * Get position's container node's parent.
- *
- * @param position
- * @return the parent node
- */
- Node getParent(IDOMPosition position) {
- if (position.isText()) {
- return position.getContainerNode().getParentNode();
- }
- return position.getContainerNode();
- }
-
- /**
- * Get node's sibling according to 'forward' direction
- *
- * @param node
- * @param forward
- * @return the node
- */
- public Node getSibling(Node node, boolean forward) {
- EditValidateUtil.validNode(node);
- if (forward) {
- return node.getNextSibling();
- }
- return node.getPreviousSibling();
- }
-
- /**
- * Get position's container node's sibling.
- *
- * @param position
- * @param forward
- * @return the node
- */
- public Node getSibling(IDOMPosition position, boolean forward) {
- if (forward) {
- return getNextSibling(position);
- }
- return getPreviousSibling(position);
- }
-
- /**
- * Get position's container node's editable items number. this is temp
- * functions for future use.
- *
- * @param position
- * @return the size
- */
- int getSize(IDOMPosition position) {
- EditValidateUtil.validPosition(position);
- if (position.isText()) {
- return ((Text) position.getContainerNode()).getLength();
- }
- if (position.getContainerNode().hasChildNodes()) {
- return position.getContainerNode().getChildNodes().getLength();
- }
- return 0;
- }
-
- /**
- * Valid position and return text, if it contains text node.
- *
- * @param position
- * @return the text
- */
- public Text getText(IDOMPosition position) {
- if (position.isText()) {
- if (position.getContainerNode() != null) {
- return (Text) position.getContainerNode();
- }
- }
- return null;
- }
-
- /**
- * @param node
- * @return the document for node
- */
- public static Document getDocumentNode(Node node) {
- if (node != null) {
- return isDocument(node) ? (Document) node : node.getOwnerDocument();
- }
- return null;
- }
-
- /**
- * To see whether a node is empty, here we can insert rules to see whether
- * it is empty, for delete operation, it could be deleted.
- *
- * @param node
- * @return true if node empty
- */
- static boolean isEmptyNode(Node node) {
- if (node.getNodeType() == Node.TEXT_NODE) {
- return isTransparentText(node);
- }
- if (node.getChildNodes() == null
- || node.getChildNodes().getLength() == 0) {
- return true;
- }
- return false;
- }
-
- /**
- * To see whther a node is text node.
- *
- * @param node
- * @return true if the node is a text node
- */
- public static boolean isText(Node node) {
- return node != null && node.getNodeType() == Node.TEXT_NODE;
- }
-
- /**
- * To see whether a node is Document node.
- *
- * @param node
- * @return true if the node is a doc node
- */
- public static boolean isDocument(Node node) {
- return node != null && node.getNodeType() == Node.DOCUMENT_NODE;
- }
-
- /**
- * Get style from parent node. from first paret 'firstF', we will traverse
- * the tree up untile reaching Document node, get all style node's, we may
- * insert rules here to stop the search at a before paricular node. Style
- * nodes could <b>, <u>...
- *
- * @param children
- * @param firstF
- */
- void assignFather(Vector children, Node firstF) {
- if (children.size() == 0) {
- return;
- }
- if (firstF != null && !isDocument(firstF)) {
- String name = firstF.getNodeName();
- // To see whether it is a style node that is our anticipated node.
- if (name != null && HTML_STYLE_NODES.contains(name.toLowerCase())) {
- Node newParent = firstF.cloneNode(false);
- while (children.size() > 0) {
- newParent.appendChild((Node) children.remove(0));
- }
- children.add(newParent);
- }
- assignFather(children, firstF.getParentNode());
- }
- }
-
- /**
- * Get a node that is at Indexed position 'pos' in 'model'.
- *
- * @param model
- * @param pos
- * @return the
- */
- IndexedRegion getPosNode(IStructuredModel model, int pos) {
- IndexedRegion inode = model.getIndexedRegion(pos);
- return inode;
- }
-
- /**
- * If the pos is at right edge within container.
- *
- * @param node
- * @param pos
- * @return true is at right edge
- */
- boolean isAtRightMostWithin(Node node, int pos) {
- return getNodeEndNameStartIndex(node) == pos;
- }
-
- /**
- * Create the node, if 'refNode' is null, then position is at the edge of
- * 'container'. otherwize calculate refNode's related index in its parent's
- * children list and return DOMPosition.
- *
- * @param container
- * @param refNode
- * @param forward
- * @return the dom position
- */
- IDOMPosition createDomposition(Node container, Node refNode,
- boolean forward) {
- if (refNode == null) {
- if (forward && container.hasChildNodes()) {
- return new DOMPosition(container, container.getChildNodes()
- .getLength());
- }
- return new DOMPosition(container, 0);
- }
- Assert.isTrue(refNode.getParentNode() == container);
- int index = getNodeIndex(refNode);
- if (!forward) {
- index++;
- }
- return new DOMPosition(container, index);
- }
-
- /**
- * @param fModel
- * @param textSelection
- * @return the design range
- */
- static DesignRange convertToDesignRange(IStructuredModel fModel,
- TextSelection textSelection) {
- int start = textSelection.getOffset();
- int end = textSelection.getLength() + start;
- IDOMPosition startDomPos = EditModelQuery.getInstance()
- .createDomposition((IDOMModel) fModel, start, false);
- IDOMPosition endDomPos = EditModelQuery.getInstance()
- .createDomposition((IDOMModel) fModel, end, false);
- if (startDomPos == null) {
- startDomPos = endDomPos;
- } else if (endDomPos == null) {
- endDomPos = startDomPos;
- }
- if (startDomPos != null) {
- DesignPosition startPos = null, endPos = null;
- startPos = DOMPositionHelper.toDesignPosition(startDomPos);
- endPos = DOMPositionHelper.toDesignPosition(endDomPos);
- if (startPos != null) {
- return new DesignRange(startPos, endPos);
- }
- }
- return null;
- }
-
- /**
- * Create IDOMPosition based on Indexed 'position' in model. If node at
- * position is text, use position to calculate DOMPosition offset,
- * otherwize, simply create position pointed to container's children list's
- * edge.
- *
- * @param model
- * @param position
- * @param adjust
- * @return the dom position
- */
- public IDOMPosition createDomposition(IDOMModel model, int position,
- boolean adjust) {
- return createDomposition1(model, position, adjust);
- }
-
- /**
- * Create IDOMPosition based on Indexed 'position' in model. If node at
- * position is text, use position to calculate DOMPosition offset,
- * otherwize, simply create position pointed to container's children list's
- * edge.
- *
- * @param model
- * @param position
- * @param adjust
- * @return the dom position
- */
- public IDOMPosition createDomposition1(IDOMModel model, int position,
- boolean adjust) {
- try {
- // get the container
- Object object = getPosNode(model, position);
- if (object == null && position > 0) {
- // The end of file?
- object = getPosNode(model, position - 1);
- }
- Node container = null;
- if (object == null) {
- // empty file?
- return new DOMPosition(model.getDocument(), 0);
- }
- container = (Node) object;
- Object oppNode = getPosNode(model, position - 1);
- if (oppNode != null
- && !EditModelQuery.isChild((Node) oppNode, container)
- && //
- !EditModelQuery.isInline(container)
- && EditModelQuery.isInline((Node) oppNode)) {
- container = (Node) oppNode;
- }
- int location = EditHelper.getInstance().getLocation(container,
- position, false);
- IDOMPosition result = null;
- switch (location) {
- case 1:
- case 2:
- result = new DOMRefPosition(container, false);
- break;
- case 4:
- case 5:
- result = new DOMRefPosition(container, true);
- break;
- case 3:
- if (EditModelQuery.isText(container)) {
- result = new DOMPosition(container, position
- - EditModelQuery.getNodeStartIndex(container));
- } else {
- result = new DOMPosition(container, container
- .getChildNodes().getLength());
- }
- }
- return result;
- } catch (Exception e) {
- // "Error in position creation"
- _log.error("Error.EditModelQuery.0" + e); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * Calculate node's Indexed length in model.
- *
- * @param node
- * @return the node length
- */
- public static int getNodeLenth(Node node) {
- if (node != null
- && EditValidateUtil.validNode(node)) {
- return ((IndexedRegion) node).getEndOffset()
- - ((IndexedRegion) node).getStartOffset();
- }
- return 0;
- }
-
- /**
- * Return 'node' indexed start position Example: |<a></a>, the position is
- * indicated by '|'
- *
- * @param node
- * @return the start index
- */
- public static int getNodeStartIndex(Node node) {
- if (EditValidateUtil.validNode(node) && node instanceof IndexedRegion) {
- return ((IndexedRegion) node).getStartOffset();
- }
- return -1;
- }
-
- /**
- * Return 'node' indexed end position Example: <a></a>|, the position is
- * indicated by '|'
- *
- * @param node
- * @return the end index
- */
- public static int getNodeEndIndex(Node node) {
- if (EditValidateUtil.validNode(node) && node instanceof IndexedRegion) {
- return ((IndexedRegion) node).getEndOffset();
- }
- return -1;
- }
-
- /**
- * Get node at indexed position.
- *
- * @param model
- * @param position
- * @return the node at position
- */
- static Node getNodeAt(IStructuredModel model, int position) {
- try {
- IndexedRegion region = model.getIndexedRegion(position);
- if (region instanceof Node) {
- return (Node) region;
- }
- return null;
- } catch (Exception e) {
- // "Error in region node creation"
- _log.error("Error.EditModelQuery.1", e); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * Return 'node' indexed start name's end position Example: <a>|aaa </a>,
- * the position is indicated by '|'
- *
- * @param node
- * @return the index
- */
- public static int getNodeStartNameEndIndex(Node node) {
- if (isText(node)) {
- return getNodeStartIndex(node);
- }
- if (EditValidateUtil.validNode(node) && node instanceof IDOMNode) {
- IStructuredDocumentRegion region = ((IDOMNode) node)
- .getStartStructuredDocumentRegion();
- if (region != null) {
- return region.getEndOffset();
- }
- // else
- // {
- // // if (node.hasChildNodes())
- // // {
- // // // Node should always have start name, so this part should
- // never reach,
- // // // the assert is for inner debug.
- // // Assert.isTrue(false);
- // // return getNodeStartIndex(node);
- // // }
- // }
- }
- // This should never happen.
- return getNodeStartIndex(node);
- }
-
- /**
- * Return 'node' indexed end name' start position Example: <a>aaa| </a>, the
- * position is indicated by '|' If node is <a /> style or there is no </a>
- * to pair with <a>, the function return -1.
- *
- * @param node
- * @return the start index
- */
- public static int getNodeEndNameStartIndex(Node node) {
- if (isText(node)) {
- return getNodeEndIndex(node);
- }
- if (EditValidateUtil.validNode(node) && node instanceof IDOMNode) {
- IStructuredDocumentRegion region = ((IDOMNode) node)
- .getEndStructuredDocumentRegion();
- if (region != null) {
- return region.getStartOffset();
- }
- // else
- // {
- // if (node.hasChildNodes())
- // {
- // return getNodeEndIndex(node);
- // }
- // }
- }
- return getNodeEndIndex(node);
- }
-
- /**
- * To see if a node is <a/>style.
- *
- * @param node
- * @return the single region node
- */
- public boolean isSingleRegionNode(Node node) {
- if (getNodeEndNameStartIndex(node) == getNodeEndIndex(node)
- && !node.hasChildNodes()) {
- return true;
- }
- return false;
- }
-
- /**
- * To see if a node has child that is not transparent child only.
- *
- * @param node
- * @return true if node has transparent children
- */
- boolean hasNonTransparentChild(Node node) {
- NodeList children = node.getChildNodes();
- for (int i = 0, n = children.getLength(); i < n; i++) {
- Object child = children.item(i);
- if (isText((Node) child)) {
- if (!isTransparentText((Node) child)) {
- return true;
- }
- } else {
- return true;
- }
- }
- return false;
- }
-
- /**
- * To see if a node has child that is not transparent child only.
- *
- * @param node
- * @param excludes
- * @return true if has transparent child
- */
- public boolean hasNonTransparentChild(Node node, String[] excludes) {
- if (!node.hasChildNodes()) {
- return false;
- }
- NodeList children = node.getChildNodes();
- for (int i = 0, n = children.getLength(); i < n; i++) {
- Object child = children.item(i);
- if (isText((Node) child)) {
- if (!isTransparentText((Node) child)) {
- return true;
- }
- } else if (!Arrays.asList(excludes).contains(
- ((Node) child).getLocalName())) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * To see whether tag has whitespace char.
- *
- * @param node
- * @return true if has whitespace neighbor
- */
- public boolean hasWhitespaceNeighbor(Node node) {
- node = getNeighbor(node, true);
- if (isWidget(node)) {
- return false;
- }
- node = getFirstLeafChild(node);
- return isTransparentText(node);
-
- }
-
- /**
- * @param host
- * @return true if host is a widget
- */
- public static boolean isWidget(Object host) {
- boolean result = false;
- EditPart part = null;
- if (host instanceof EditPart) {
- part = (EditPart) host;
- } else if (host instanceof Node) {
- part = Target.resolvePart((Node) host);
- if (part == null) {
- part = new HTMLEditPartsFactory(
- (IDOMDocument) getDocumentNode((Node) host))
- .createEditPart(null, host);
- }
- }
- if (part instanceof NodeEditPart) {
- result = ((NodeEditPart) part).isWidget();
- }
- return result;
- }
-
- /**
- * To combind whitespace chars, only one whitespace string should be create.
- *
- * @param node
- * @return true if node is redundant whitespace
- */
- boolean isRedundantWightspaces(Node node) {
- if (isTransparentText(node) && hasWhitespaceNeighbor(node)) {
- return true;
- }
- return false;
- }
-
- /**
- * @param node
- * @param names
- * @param ignoreCase
- * @return true if node has ancestors in the name list
- * TODO: bad practice
- */
- public static boolean hasAncestor(Node node, String names[],
- boolean ignoreCase) {
- Assert.isTrue(names != null);
- while (node != null && !EditModelQuery.isDocument(node)) {
- if (isElement(node))
- if (containItem(names, node, ignoreCase)) {
- return true;
- }
- node = node.getParentNode();
- }
- return false;
- }
-
- /**
- * To see if 'node' has ancestor that has name as 'name'
- *
- * @param node
- * @param name
- * @param ignoreCase
- * @return true if node has the named ancestor
- */
- public static boolean hasAncestor(Node node, String name, boolean ignoreCase) {
- Assert.isTrue(name != null);
- while (node != null && !EditModelQuery.isDocument(node)) {
- if (node.getNodeName() != null)
- if ((ignoreCase && name.equalsIgnoreCase(node.getNodeName())) || //
- (!ignoreCase && name.equals(node.getNodeName()))) {
- return true;
- }
- node = node.getParentNode();
- }
- return false;
- }
-
- /**
- * To see if 'node' has direct ancestors that has names listed in 'name[]'
- *
- * @param node
- * @param top
- * @param ignoreCase
- * @return the list of ancestors
- */
- public static List getAncestors(Node node, String top, boolean ignoreCase) {
- List result = new ArrayList();
- Assert.isTrue(node != null);
- while (node != null && !EditModelQuery.isDocument(node)) {
- result.add(node);
- String name = node.getLocalName();
- if (ignoreCase && top.equalsIgnoreCase(name) || //
- (!ignoreCase && top.equals(name))) {
- break;
- }
- node = node.getParentNode();
- }
- return result;
- }
-
- /**
- * Copy old node's children to newNode.If the newNode is the father of the
- * old node,then the old node's children will be inserted before the old
- * node,otherwise,the old node's children just append to the newNode.
- *
- * @param old
- * @param newNode
- */
- public static void copyChildren(Node old, Node newNode) {
- Node child = old.getFirstChild();
- while (child != null) {
- Node next = child.getNextSibling();
- child = old.removeChild(child);
- if (old.getParentNode() == newNode) {
- newNode.insertBefore(child, old);
- } else {
- newNode.appendChild(child);
- }
- child = next;
- }
- }
-
- /**
- * @param node
- * @return true if node is an element
- */
- private static boolean isElement(Node node) {
- return node.getNodeType() == Node.ELEMENT_NODE;
- }
-
- /**
- * Return a offspring of ancestor, the offsprint has a name listed in
- * childrenNames.
- *
- * @param ancestor
- * @param childrenNames
- * @param maxLevelToSearch
- * the max level from ancestor to the offspring in family tree.
- * @param ignoreCase
- * @return the node
- */
- public static Node getChild(Node ancestor, String childrenNames[],
- int maxLevelToSearch, boolean ignoreCase) {
- if (ancestor == null || maxLevelToSearch < 0) {
- return null;
- }
- if (ancestor.getLocalName() != null
- && ignoreCase
- && Arrays.asList(childrenNames).contains(
- ancestor.getLocalName().toLowerCase())
- || !ignoreCase
- && Arrays.asList(childrenNames).contains(
- ancestor.getLocalName())) {
- return ancestor;
- }
- NodeList children = ancestor.getChildNodes();
- for (int i = 0, n = children.getLength(); i < n; i++) {
- Node result = getChild(children.item(i), childrenNames,
- maxLevelToSearch - 1, ignoreCase);
- if (result != null) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Return a offspring of ancestor, the nodes on the tree are type of
- * DeferredElementImpl, the offsprint has a name listed in childrenNames.
- *
- * @param ancestor
- * @param childrenNames
- * @param maxLevelToSearch
- * the max level from ancestor to the offspring in family tree.
- * @param ignoreCase
- * @return the node
- */
- static Node getChildDeferredNode(Node ancestor,
- String childrenNames[], int maxLevelToSearch, boolean ignoreCase) {
- if (ancestor == null || maxLevelToSearch < 0) {
- return null;
- }
- String nodeName = ancestor.getNodeName();
- if (nodeName != null && ignoreCase
- && Arrays.asList(childrenNames).contains(nodeName)
- || !ignoreCase
- && Arrays.asList(childrenNames).contains(nodeName)) {
- return ancestor;
- }
- NodeList children = ancestor.getChildNodes();
- for (int i = 0, n = children.getLength(); i < n; i++) {
- Node result = getChildDeferredNode(children.item(i), childrenNames,
- maxLevelToSearch - 1, ignoreCase);
- if (result != null) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * @param node
- * @return if has tranparent node only
- */
- public static boolean hasTransparentNodeOnly(Node node) {
- NodeList children = node.getChildNodes();
- for (int i = 0, n = children.getLength(); i < n; i++) {
- if (!EditModelQuery.isTransparentText(children.item(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param name
- * @param node
- * @param ignoreCase
- * @return the node
- */
- public static Node getParent(String name, Node node, boolean ignoreCase) {
- if (node == null) {
- return null;
- }
-
- while (node != null && node.getNodeType() != Node.DOCUMENT_NODE) {
- String nodeName = node.getLocalName();
- if (nodeName != null
- && (ignoreCase && name.equalsIgnoreCase(nodeName) || !ignoreCase
- && name.equalsIgnoreCase(nodeName))) {
- return node;
- }
- node = node.getParentNode();
- }
- return null;
- }
-
- /**
- * get Elements with the same localName as the input localName under the
- * rootNode,it is a recursive computation.
- *
- * @param rootNode
- * @param localName
- * @param caseSensitive
- * @param list
- * The input list to hold the matched elements.
- */
- public static void getElementByLocalName(Node rootNode, String localName,
- boolean caseSensitive, List list) {
- if (list == null) {
- return;
- }
- NodeList nodeList = rootNode.getChildNodes();
- if (nodeList != null && nodeList.getLength() > 0) {
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- String nodeLocalName = node.getLocalName();
- if (caseSensitive && localName.equals(nodeLocalName)) {
- list.add(node);
- } else if (!caseSensitive
- && localName.equalsIgnoreCase(nodeLocalName)) {
- list.add(node);
- }
- getElementByLocalName(node, localName, true, list);
- }
-
- }
- }
- }
-
- /**
- * @param tags
- * @param node
- * @param ignoreCase
- * @return the true if contains item
- */
- public static boolean containItem(String[] tags, Node node,
- boolean ignoreCase) {
- if (ignoreCase) {
- for (int i = 0, size = tags.length; i < size; i++) {
- if (tags[i] == null) {
- continue;
- }
- if (tags[i].equalsIgnoreCase(node.getNodeName())) {
- return true;
- }
- }
- } else {
- for (int i = 0, size = tags.length; i < size; i++) {
- if (tags[i] == null) {
- continue;
- }
- if (tags[i].equals(node.getNodeName())) {
- return true;
- }
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditValidateUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditValidateUtil.java
deleted file mode 100644
index 46409debd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditValidateUtil.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * This class is used for debug purpose, and can be used to test some invalid
- * status in the functions. Generally all the methods here will throw exception
- * when invalid status happens.
- *
- * @author mengbo
- */
-public final class EditValidateUtil {
- private static final Logger _logger = PDPlugin
- .getLogger(EditValidateUtil.class);
-
- private static final boolean ALERT = false;
-
- private static final boolean REPORT = false;
-
- /**
- * A valid position means container node, offset are all valid.
- *
- * @param position
- * @return true if the position is valid
- */
- public static boolean validPosition(IDOMPosition position) {
- try {
- boolean result = true;
- Assert.isTrue(position != null
- && position.getContainerNode() != null
- && position.getOffset() >= 0);
- Node container = position.getContainerNode();
- result &= validNode(container);
- int offset = position.getOffset();
- if (position.isText()) {
- int length = ((Text) container).getLength();
- Assert.isTrue(offset <= length);
- } else {
- if (position instanceof DOMPosition && offset > 0) {
- Assert.isTrue(container.hasChildNodes()
- && container.getChildNodes().getLength() >= offset);
- }
- }
- return result;
- } catch (Exception e) {
- // "error", "Error in validPosition"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.Position", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid position:"
- _logger.error("Error.EditValidateUtil.Position", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * @param position
- * @return true if position is valid
- */
- public static boolean validPosition(DesignPosition position) {
- try {
- boolean result = true;
- Assert.isTrue(position != null
- && position.getContainerPart() != null
- && position.getContainerNode() != null
- && position.getOffset() >= 0);
- Node container = position.getContainerNode();
- result &= validNode(container);
- int offset = position.getOffset();
- if (EditModelQuery.isText(container)) {
- int length = ((Text) container).getLength();
- Assert.isTrue(offset <= length);
- } else {
- if (position instanceof DesignRefPosition && offset > 0) {
- Assert.isTrue(container.hasChildNodes()
- && container.getChildNodes().getLength() >= offset);
- }
- }
- return result;
- } catch (Exception e) {
- // "error", "Error in validPosition"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.Position", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid position:"
- _logger.error("Error.EditValidateUtil.Position", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * Valid node is TextNode and it's valid node.
- *
- * @param node
- * @return true if node is valid
- */
- public static boolean validText(Node node) {
- try {
- boolean result = true;
- Assert.isTrue(node.getNodeType() == Node.TEXT_NODE);
- Assert.isTrue(((Text) node).getData() != null);
- result &= validNode(node);
- return result;
- } catch (Exception e) {
- // "Error", "Error in validText"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.Text", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid Text:"
- _logger.error("Error.EditValidateUtil.Text", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * A valid node is resided in the model tree
- *
- * @param node
- * @return true if node is valid
- */
- public static boolean validNode(Node node) {
- try {
- Assert.isTrue(node instanceof IDOMNode);
- Assert.isTrue((node.getNodeType() == Node.DOCUMENT_NODE)
- || (node.getParentNode() != null));
- // What's this?
- return true;
- } catch (Exception e) {
- // "Error", "Error in validNode"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.Node", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid node:"
- _logger.error("Error.EditValidateUtil.Node", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * A valid DOMRange contains valid IDOMPosition, and it should not be within
- * node like 'HEAD'. The later one might not be suitble to valid in this
- * util, it should be checked by some edit valid helper.
- *
- * @param range
- * @return true if range is valid
- */
- public static boolean validRange(DOMRange range) {
- try {
- // TODO: never read EditModelQuery modelQuery = EditModelQuery.getInstance();
- boolean result = true;
- IDOMPosition start = range.getStartPosition();
- IDOMPosition end = range.getEndPosition();
- result &= validPosition(start);
- result &= validPosition(end);
- // TODO: never read
-// Node startContainer = start.getContainerNode();
-// Node endContainer = end.getContainerNode();
- // Assert.isTrue(isValidForEditing(modelQuery.getCommonAncestor(startContainer,
- // endContainer)));
- return result;
- } catch (Exception e) {
- // "Error", "Error in validRange"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.Range", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid Range:"
- _logger.error("Error.EditValidateUtil.Range", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * @param text
- * @param index
- * @return true if the index is valid
- */
- public static boolean validStringIndex(Node text, int index) {
- try {
- Assert.isTrue(index >= 0 && ((Text) text).getLength() >= index);
- return validText(text);
- } catch (Exception e) {
- // "Error", "Error in validStringIndex"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.StringIndex", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid Index in String:"
- _logger.error("Error.EditValidateUtil.StringIndex", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
- /**
- * @param text
- * @param index
- * @param offset
- * @return true if the index offset is valid
- */
- public static boolean validStringIndexOffset(Node text, int index,
- int offset) {
- try {
- Assert.isTrue(index >= 0 && (index + offset) >= 0
- && ((Text) text).getLength() >= (index + offset)
- && ((Text) text).getLength() >= index);
- return validText(text);
- } catch (Exception e) {
- // "error", "Error in validStringIndex"
- if (ALERT) {
- PDPlugin
- .getAlerts()
- .confirm(
- "Alert.EditValidateUtil.Title", "Alert.EditValidateUtil.IndexOffset", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (REPORT) {
- // "Invalid index or offset in String:"
- _logger.error("Error.EditValidateUtil.IndexOffset", e); //$NON-NLS-1$
- }
- return false;
- }
- }
-
-// private static void dumpPosition(String message, IDOMPosition position,
-// boolean forward) {
- // for future internal debug
- // message(message);
- // _logger.debug("vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv");
- // if (position != null)
- // {
- // Node container = position.getContainerNode();
- // Node node = null;
- // String text = null;
- // if (getContainerLength(container) > 0)
- // {
- // if (!position.isText())
- // {
- // int index = forward ? position.getOffset() : position.getOffset() -
- // 1;
- // node = container.getChildNodes().item(index);
- // }
- // else
- // {
- // int index = forward ? position.getOffset() : position.getOffset() -
- // 1;
- // if (index >= 0 && index < getContainerLength(container))
- // {
- // text = ((Text) container).substringData(index, 1);
- // }
- // else
- // {
- // text = null;
- // }
- // }
- // }
- // _logger.debug("DOMPosition type?:" + (position instanceof
- // DOMPosition) + " container name: " +
- // position.getContainerNode().getLocalName() + " offset:" +
- // position.getOffset()
- // + " length:" + getContainerLength(position.getContainerNode()));
- // if (node != null)
- // {
- // _logger.debug("node to operate:" + node.getLocalName());
- // }
- // if (text != null)
- // {
- // _logger.debug("text to operate:\"" + text + "\" length:" +
- // text.length());
- // }
- // }
- // _logger.debug("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
-// }
-
- /**
- * @param pos
- * @param forward
- * @return true if the position if vallid for editing relative to forward (true) or backward (false)
- */
- public static boolean isValidForEditing(IDOMPosition pos, boolean forward) {
- if (pos == null) {
- return false;
- }
- if (pos.isText()) {
- return true;
- }
- Node container = pos.getContainerNode();
- // only head can't be edited
- if (EditModelQuery.isChild(IHTMLConstants.TAG_HEAD, container,
- true)) {
- return false;
- }
- Node sibling = EditModelQuery.getInstance().getSibling(pos,
- forward);
- if (sibling != null) {
- if (EditModelQuery.isText(sibling)) {
- return true;
- }
- Assert.isTrue(sibling.getLocalName() != null);
- if (EditModelQuery.UNREMOVEBLE_TAGS.contains(sibling
- .getLocalName().toLowerCase())) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param node
- * @return true if node is valid for editing
- */
- public static boolean isValidForEditing(Node node) {
- if (EditModelQuery.isChild(IHTMLConstants.TAG_HEAD, node, true)) {
- return false;
- }
- return true;
- }
-
- private EditValidateUtil()
- {
- // do nothing
- }
- // Reserved for inner use.
- //
- // private static void errorNotice()
- // {
- // try
- // {
- // // FileInputStream fileau = new
- // FileInputStream("C:\\WINNT\\Media\\ringout.wav");
- // // AudioStream as = new AudioStream(fileau);
- // // AudioPlayer.player.start(as);
- // }
- // catch (Exception e)
- // {
- // System.out.println("error in file open");
- // }
- //
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMPosition.java
deleted file mode 100644
index fa3169d49..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMPosition.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-
-/**
- * An IDOMPosition represents a position in the DOM tree. There are multiple
- * ways of identify a position in the tree, such as by saying a offset in
- * parent, or before/after a particular node.
- *
- * NOTE: IDOMPosition and its child class should be implemented as literal. that
- * is, they should not be changed after it is constructed.
- *
- * @author mengbo
- */
-public interface IDOMPosition {
- /**
- *
- * @param forward
- * if true, same as getNextSiblingNode(), if false, same as
- * getPreviousSiblingNode
- * @return the sibling
- */
- public Node getSibling(boolean forward);
-
- /**
- * @return the next sibling node
- */
- public Node getNextSiblingNode();
-
- /**
- * @return the previous sibling node
- */
- public Node getPreviousSiblingNode();
-
- /**
- * @return the container node
- */
- public Node getContainerNode();
-
- /**
- * @return the offset
- */
- public int getOffset();
-
- /**
- * @return true if is text
- */
- public boolean isText();
-
- /**
- * "original" has been replace by "replacement" in the model. If this
- * replacement will affect this IDOMPosition, then this method should return
- * a new position that is valid after the replacement. If this replacement
- * won't affect this position, then the original position should be
- * returned.
- *
- * @param original
- * @param replacement
- * @return the dom position
- */
- public IDOMPosition handleReplacement(Node original, Node replacement);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMRefPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMRefPosition.java
deleted file mode 100644
index 5a841dff3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/IDOMRefPosition.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import org.w3c.dom.Node;
-
-/**
- * A IDOMRefPosition locate a position by reference a node in the dom tree. It
- * mean a position after node, before a node, or before anything in a node, or
- * after anything in a node.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface IDOMRefPosition extends IDOMPosition {
- /**
- *
- * @return the reference (wrapped) node
- */
- public Node getReferenceNode();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/ValidatorSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/ValidatorSupport.java
deleted file mode 100644
index 215f93ff1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/ValidatorSupport.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.adapters.IBodyInfo;
-import org.eclipse.jst.pagedesigner.adapters.internal.BodyInfo;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.utils.CommandUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * Simple utility class.
- *
- * @author mengbo
- * @version 1.5
- */
-public class ValidatorSupport
-{
- /**
- * Equivalent to checkContainer(position new QName[]{qname}
- *
- * @param position
- * @param qname
- * @return true if the tag identified by qname is found as a parent
- * of position.
- */
- public static boolean checkContainer(IDOMPosition position, QName qname) {
- return checkContainer(position, new QName[] { qname });
- }
-
- /**
- * Check for any of the containers listed in qname starting from qname and working
- * up the DOM parent chain.
- *
- * @param position
- * @param qname
- * @return true if one of the tags identified by qname is found as a parent
- * of position.
- */
- public static boolean checkContainer(IDOMPosition position, QName qname[]) {
- Node node = position.getContainerNode();
- while (node != null) {
- if (node instanceof Text) {
- node = node.getParentNode();
- continue;
- }
- if (node instanceof Element) {
- Element ele = (Element) node;
- String url = CMUtil.getElementNamespaceURI(ele);
- String tag = ele.getLocalName();
-
- for (int i = 0; i < qname.length; i++) {
- if (tag.equalsIgnoreCase(qname[i].getLocalPart())) {
- if (url == null) {
- // this means something wrong. To be error tolerant,
- // we treat it
- // as if url is same
- return true;
- } else if (url.equalsIgnoreCase(qname[i].getNamespaceURI())) {
- return true;
- }
- }
- }
-
- node = node.getParentNode();
- continue;
- }
- break;
- }
- return false;
- }
-
- /**
- * @param position
- * @param model
- * @param creationProvider
- * @param customizationData
- * @return the new dom position for the inserted container or null if could
- * not insert
- */
- public static IDOMPosition insertContainer(final IDOMPosition position,
- final IDOMModel model,
- final ITagDropSourceData creationProvider, final IAdaptable customizationData)
- {
- final Element newContainer = CommandUtil.executeInsertion(
- creationProvider, model, position, customizationData);
- if (newContainer != null)
- {
- DOMPosition pos = new DOMPosition(newContainer, 0);
- return pos;
- }
- return null;
- }
-
- /**
- * @return the body info
- */
- public static IBodyInfo getBodyInfo() {
- //TODO: change this to be meta-data driven.
- return BodyInfo.getInstance();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/ColStructure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/ColStructure.java
deleted file mode 100644
index 2f4f9c17f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/ColStructure.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom.html;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class ColStructure implements Comparable {
- private final int _column;
-
- private final int _colSpan;
-
- /**
- * @param column
- * @param colSpan
- */
- public ColStructure(int column, int colSpan) {
- this._column = column;
- this._colSpan = colSpan;
- }
-
- /**
- * @return the column span
- */
- public int getColSpan() {
- return _colSpan;
- }
-
- /**
- * @return the column
- */
- public int getColumn() {
- return _column;
- }
-
- public int compareTo(Object o) {
- ColStructure cs = (ColStructure) o;
- if (this._column > cs.getColumn()) {
- return 1;
- } else if (this._column == cs.getColumn()) {
- return 0;
- } else {
- return -1;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableChildElementPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableChildElementPosition.java
deleted file mode 100644
index 1b290efbf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableChildElementPosition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom.html;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableChildElementPosition {
- private int _rowIndex = -10;
-
- private int _columnIndex = -10;
-
- /**
- * @return Returns the _columnIndex.
- */
- public int getColumnIndex() {
- return _columnIndex;
- }
-
- /**
- * @param index
- * The _columnIndex to set.
- */
- public void setColumnIndex(int index) {
- _columnIndex = index;
- }
-
- /**
- * @return Returns the _rowIndex.
- */
- public int getRowIndex() {
- return _rowIndex;
- }
-
- /**
- * @param index
- * The _rowIndex to set.
- */
- public void setRowIndex(int index) {
- _rowIndex = index;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableUtil.java
deleted file mode 100644
index 2f0b663e6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/html/TableUtil.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dom.html;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableUtil {
- private Element _fakeCell = null;
-
- private Element _table = null;
-
- private List[] _trCellLists = null;
-
- /**
- * judge whether there is rowspan>1 cell in the tr
- *
- * @param tr
- * TR element in a table
- * @return true if there is rowspan>1 cell in the tr
- */
- public static boolean hasRowSpanElement(Element tr) {
- List list = DOMUtil.getElementChildren(tr);
- Iterator itr = list.iterator();
- while (itr.hasNext()) {
- Element ele = (Element) itr.next();
- int value = DOMUtil.getIntAttributeIgnoreCase(ele,
- IHTMLConstants.ATTR_ROWSPAN, 1);
- if (value > 1) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * judge whether a tr is affected by row span cell in the previous trs.
- *
- * @param trList
- * list holds all tr elements in a table
- * @param tr
- * @param index
- * tr index in the DOM tree
- * @return true if tr is affected by row span cell in the previous trs
- */
- public static boolean isAffectedByRowSpan(List trList, Element tr, int index) {
- Node parent = tr.getParentNode();
- int dex = index;
- while (--dex >= 0) {
- Element preTr = (Element) trList.get(dex);
- if (preTr.getParentNode() != parent) {
- break;
- }
- int maxRowSpan = countMaxRowSpan(preTr);
- if (maxRowSpan > (index - dex)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * count all tr in the table
- *
- * @param element
- * table
- * @param list
- * list to hold tr elements
- */
- public static void getTrElements(Element element, List list) {
- NodeList nodeList = element.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element ele = (Element) node;
- if (ele.getNodeName().equalsIgnoreCase(IHTMLConstants.TAG_TR)) {
- list.add(ele);
- } else if (ele.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_THEAD)
- || ele.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_TBODY)
- || ele.getNodeName().equalsIgnoreCase(
- IHTMLConstants.TAG_TFOOT)) {
- getTrElements(ele, list);
- }
- }
-
- }
- }
-
- /**
- * count row index in the code DOM tree according to the display index
- *
- * @param table
- * @param displayIndex
- * @return the row index
- */
- public static int countRowIndexInDOMTree(Element table, int displayIndex) {
-
- int footRows = countSectionRows(table, IHTMLConstants.TAG_TFOOT);
- if (footRows == 0) {
- return displayIndex;
- }
- int headRows = countSectionRows(table, IHTMLConstants.TAG_THEAD);
- List list = new ArrayList();
- getTrElements(table, list);
- int bodyRows = list.size() - headRows - footRows;
- // if display index is in TFOOT area
- if (displayIndex >= (list.size() - footRows)) {
- int index = displayIndex - bodyRows;
- return index;
- }
- // if display index is in TBODY area
- else if (displayIndex >= headRows) {
- int index = displayIndex + footRows;
- return index;
- }
- // if display index is in THEAD area
- else {
- return displayIndex;
- }
- }
-
- /**
- * get row count in the specified section
- *
- * @param table
- * @param sectionName
- * child element name of table, like THEAD or TFOOT
- * @return the row count in the section
- */
- public static int countSectionRows(Element table, String sectionName) {
- NodeList nodeList = table.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element ele = (Element) node;
- if (node.getNodeName().equalsIgnoreCase(sectionName)) {
- List list = DOMUtil.getChildElementsByTagIgnoreCase(ele,
- IHTMLConstants.TAG_TR);
- if (list != null) {
- return list.size();
- }
- }
- }
-
- }
- return 0;
- }
-
- /**
- * constructor
- *
- * @param table
- */
- public TableUtil(Element table) {
- this._table = table;
- this._trCellLists = fillTrCells();
- }
-
- /**
- * get tr cells list
- *
- * @return the list of tr cells
- */
- public List[] getTrCellLists() {
- return this._trCellLists;
- }
-
- /**
- * calculate row and column index for tr or td/th
- *
- * @param node
- * tr or td/th
- * @return the position
- */
- public TableChildElementPosition getPosition(Node node) {
- TableChildElementPosition position = new TableChildElementPosition();
- if (node == null) {
- return position;
- }
- String tagName = node.getLocalName();
- if (IHTMLConstants.TAG_TR.equalsIgnoreCase(tagName)) {
- List list = new ArrayList();
- getTrElements(this._table, list);
- for (int i = 0, size = list.size(); i < size; i++) {
- Element tr = (Element) list.get(i);
- if (tr == node) {
- position.setRowIndex(i);
- break;
- }
- }
- } else if (IHTMLConstants.TAG_TD.equalsIgnoreCase(tagName)
- || IHTMLConstants.TAG_TH.equalsIgnoreCase(tagName)) {
- Element tr = (Element) node.getParentNode();
- TableChildElementPosition pos = getPosition(tr);
- position.setRowIndex(pos.getRowIndex());
- List[] lists = getTrCellLists();
- List list = lists[pos.getRowIndex()];
- for (int i = 0, size = list.size(); i < size; i++) {
- Element td = (Element) list.get(i);
- if (td == node) {
- position.setColumnIndex(i);
- break;
- }
- }
- } else {
- boolean hasTDParent = false;
- Node childBackup = node;
- while (!IHTMLConstants.TAG_TABLE.equalsIgnoreCase(childBackup
- .getParentNode().getLocalName())) {
- childBackup = childBackup.getParentNode();
- String localName = childBackup.getLocalName();
- if (IHTMLConstants.TAG_TD.equalsIgnoreCase(localName)
- || IHTMLConstants.TAG_TH.equalsIgnoreCase(localName)) {
- hasTDParent = true;
- break;
- }
- }
- if (hasTDParent) {
- position = getPosition(childBackup);
- }
- }
- return position;
- }
-
- /**
- * get column count
- *
- * @return the column count
- */
- public int getColumnCount() {
- List[] lists = this._trCellLists;
- if (lists != null) {
- int max = 0;
- for (int i = 0, size = lists.length; i < size; i++) {
- List list = lists[i];
- if (list.size() > max) {
- max = list.size();
- }
- }
- return max;
- }
- return 0;
- }
-
- /**
- * judge whether there is columnspan>1 cell in the column
- *
- * @param columnIndex
- * column index in a table
- * @return true if there is columnspan>1 cell in the column
- */
- public boolean hasColumnSpanElement(int columnIndex) {
- List cells = getColumnCells(columnIndex);
- if (cells != null) {
- Iterator itr = cells.iterator();
- while (itr.hasNext()) {
- Element cell = (Element) itr.next();
- int value = DOMUtil.getIntAttributeIgnoreCase(cell,
- IHTMLConstants.ATTR_COLSPAN, 1);
- if (value > 1) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * judge whether the column has cell affected by column span cell in
- * privious columns
- *
- * @param columnIndex
- * @return true if the column has cell affected by column span cell in
- * privious columns
- */
- public boolean isAffectedByColSpan(int columnIndex) {
- int index = columnIndex;
- while (--index >= 0) {
- List cells = getColumnCells(index);
- int max = countMaxColSpan(cells);
- if (max > (columnIndex - index)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * get cells in the specified column of the table
- *
- * @param columnIndex
- * @return the column cells
- */
- public List getColumnCells(int columnIndex) {
- List list = new ArrayList();
-
- List[] lists = this._trCellLists;
- for (int i = 0; i < lists.length; i++) {
- List tempList = lists[i];
- if (tempList.size() <= columnIndex) {
- continue;
- }
- list.add(tempList.get(columnIndex));
- }
- return list;
- }
-
- /**
- * count max row span in the tr
- *
- * @param tr
- * @return
- */
- private static int countMaxRowSpan(Element tr) {
- List list = DOMUtil.getElementChildren(tr);
- int max = countMaxValue(list, IHTMLConstants.ATTR_ROWSPAN);
- return max;
- }
-
- /**
- * count max attr value
- *
- * @param list
- * @param attr
- * @return
- */
- private static int countMaxValue(List list, String attr) {
- int max = 1;
- Iterator itr = list.iterator();
- while (itr.hasNext()) {
- Element ele = (Element) itr.next();
- int value = DOMUtil.getIntAttributeIgnoreCase(ele, attr, 1);
- if (value > max) {
- max = value;
- }
- }
- return max;
- }
-
- /**
- * count max col span in a column
- *
- * @param list
- * @return
- */
- private int countMaxColSpan(List list) {
- int max = countMaxValue(list, IHTMLConstants.ATTR_COLSPAN);
- return max;
- }
-
- /**
- * get fake element to fill tr cell
- *
- * @return
- */
- private Element getFakeElement() {
- if (_fakeCell != null) {
- return _fakeCell;
- }
- _fakeCell = this._table.getOwnerDocument().createElement("fake"); //$NON-NLS-1$
- return _fakeCell;
- }
-
- /**
- * initial every tr cells according to th and td under each tr element
- *
- * @param trList
- * @return
- */
- private List[] initialTrCells(List trList) {
- int size = trList.size();
- List[] lists = new ArrayList[size];
-
- if (trList != null) {
- for (int i = 0, n = trList.size(); i < n; i++) {
- lists[i] = new ArrayList();
- Element tr = (Element) trList.get(i);
- List domCells = DOMUtil.getElementChildren(tr);
- Iterator itr = domCells.iterator();
- while (itr.hasNext()) {
- Element cell = (Element) itr.next();
- lists[i].add(cell);
- int colSpan = DOMUtil.getIntAttributeIgnoreCase(cell,
- IHTMLConstants.ATTR_COLSPAN, 1);
- while (--colSpan > 0) {
- Element fakeElement = getFakeElement();
- lists[i].add(fakeElement);
- }
- }
- }
-
- }
-
- return lists;
-
- }
-
- /**
- * after initial tr cells,fill tr with fake cells if necessary.
- *
- * @return
- */
- private List[] fillTrCells() {
- List list = new ArrayList();
- getTrElements(this._table, list);
-
- List[] lists = initialTrCells(list);
- int size = lists.length;
-
- int headRows = countSectionRows(this._table, IHTMLConstants.TAG_THEAD);
- if (headRows > 0) {
- List[] headList = new ArrayList[headRows];
- for (int i = 0; i < headRows; i++) {
- headList[i] = lists[i];
- }
- fillSectionTrCells(headList);
- }
-
- int footRows = countSectionRows(this._table, IHTMLConstants.TAG_TFOOT);
- if (footRows > 0) {
- List[] footList = new ArrayList[footRows];
- for (int i = 0; i < footRows; i++) {
- footList[i] = lists[headRows + i];
- }
- fillSectionTrCells(footList);
- }
-
- int bodyRows = size - headRows - footRows;
- if (bodyRows > 0) {
- int bodyCount = 1;
- int k = 0;
- List bodys = new ArrayList();
- Element tr = (Element) list.get(headRows + footRows);
- Node node = tr.getParentNode();
- for (int i = 1; i < bodyRows; i++) {
- Element tempTr = (Element) list.get(headRows + footRows + i);
- if (tempTr.getParentNode() != node) {
- node = tempTr.getParentNode();
- bodys.add(new Integer(i - k));
- k = i;
- bodyCount++;
- }
- }
- bodys.add(new Integer(bodyRows - k));
-
- for (int j = 0; j < bodyCount; j++) {
- int num = ((Integer) bodys.get(j)).intValue();
- List[] bodyList = new ArrayList[num];
- int m = headRows + footRows;
-
- for (int i = 0; i < num; i++) {
- bodyList[i] = lists[m + i];
- }
- fillSectionTrCells(bodyList);
- m = m + num;
- }
-
- }
-
- return lists;
- }
-
- /**
- * fill tr cells under each table section,like THEAD,TFOOT,TBODY.
- *
- * @param lists
- */
- private void fillSectionTrCells(List[] lists) {
- Element cell = null;
-
- if (lists != null) {
- for (int i = 1, size = lists.length; i < size; i++) {
- List insertPoints = new ArrayList();
-
- for (int j = 0; j < i; j++) {
- List list = lists[j];
- for (int column = 0; column < list.size(); column++) {
- cell = (Element) list.get(column);
- if (cell.getTagName().equalsIgnoreCase("fake")) { //$NON-NLS-1$
- continue;
- }
- int rowSpan = DOMUtil.getIntAttributeIgnoreCase(cell,
- IHTMLConstants.ATTR_ROWSPAN, 1);
- if (rowSpan > (i - j)) {
- int colSpan = DOMUtil.getIntAttributeIgnoreCase(
- cell, IHTMLConstants.ATTR_COLSPAN, 1);
- insertPoints.add(new ColStructure(column, colSpan));
- }
- }
- }
- // there are fake column cell need to be inserted into this tr
- if (insertPoints.size() > 0) {
- Collections.sort(insertPoints);
- List trCells = lists[i];
-
- Iterator itr = insertPoints.iterator();
- while (itr.hasNext()) {
- ColStructure cls = (ColStructure) itr.next();
- int loop = cls.getColSpan();
- int column = cls.getColumn();
- while (loop-- != 0) {
- trCells.add(column++, getFakeElement());
- }
-
- }
- }
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DTManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DTManager.java
deleted file mode 100644
index f62e2a55b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DTManager.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager;
-
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.converter.ConverterFactoryRegistry;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverterFactory;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-
-/**
- * DTManager is the top-level entry point for design-time (DT) services, such
- * as tag converters and design-time information.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class DTManager {
-
- private static DTManager instance;
- private IDTInfoFactory _dtInfoFactory;
-
- private DTManager() {
- // no external instantiation
- }
-
- /**
- * Gets the singleton DTManager instance.
- *
- * @return The singleton DTManager instance.
- */
- public static synchronized DTManager getInstance() {
- if (instance == null) {
- instance = new DTManager();
- }
- return instance;
- }
-
- /**
- * Gets an ITagConverter instance for the specified Element and mode.
- *
- * @param element Element instance for which to locate and return an
- * ITagConverter instance.
- * @param mode Mode flag (use IConverterFactory constants).
- * @param document Target IDOMDocument instance.
- * @return An ITagConverter instance for the specified Element and mode.
- */
- public ITagConverter getTagConverter(Element element, int mode, IDOMDocument document) {
- ITagConverter tagConverter = null;
- String nsURI = CMUtil.getElementNamespaceURI(element);
- //try MD-driven approach
- IConverterFactory tagConverterFactory = getTagConverterFactory(nsURI);
- if (tagConverterFactory != null) {
- tagConverter = tagConverterFactory.createConverter(element, mode);
- if (tagConverter != null) {
- tagConverter.setDestDocument(document);
- } else {
- //fallback to contributed (non-MD-driven) approach
- tagConverter = ConverterFactoryRegistry.getInstance().createTagConverter(element, mode, document);
- }
- }
- return tagConverter;
- }
-
- /**
- * Gets an IConverterFactory instance for the specified namespace URI.
- *
- * @param nsURI Namespace URI.
- * @return An IConverterFactory instance for the specified namespace URI.
- */
- protected IConverterFactory getTagConverterFactory(String nsURI) {
- //TODO: future - expand to first look for registered factories
- return new DTTagConverterFactory();
- }
-
- /**
- * Gets an IDTInfo instance for the specified Element.
- *
- * @param element Element instance for which to locate and return IDTInfo
- * instance.
- * @return An IDTInfo instance for the specified Element.
- */
- public IDTInfo getDTInfo(Element element) {
- IDTInfo dtInfo = null;
- String nsURI = CMUtil.getElementNamespaceURI(element);
- IDTInfoFactory dtInfoFactory = getDTInfoFactory(nsURI);
- if (dtInfoFactory != null) {
- dtInfo = dtInfoFactory.getDTInfo(element);
- }
- return dtInfo;
- }
-
- /**
- * Gets an IDTInfoFactory instance for the specified namespace URI.
- *
- * @param nsURI Namespace URI.
- * @return An IDTInfoFactory instance for the specified namespace URI.
- */
- protected IDTInfoFactory getDTInfoFactory(String nsURI) {
- if (_dtInfoFactory == null) {
- _dtInfoFactory = new DefaultDTInfoFactory();
- }
- return _dtInfoFactory;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfo.java
deleted file mode 100644
index 6d57cfc48..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfo.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-
-/**
- * Default IDTInfo implementation.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultDTInfo implements IDTInfo {
-
- private DTInfo dtInfo = null;
- private Trait trait = null;
-
- /**
- * Constructs an instance that wraps the specified DTInfo instance.
- *
- * @param dtInfo DTInfo (EMF model object) instance.
- * @param trait Trait instance that was queried to load this data.
- */
- public DefaultDTInfo(DTInfo dtInfo, Trait trait) {
- this.dtInfo = dtInfo;
- this.trait = trait;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfo#getTagConvertInfo()
- */
- public TagConvertInfo getTagConvertInfo() {
- return dtInfo.getTagConvertInfo();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfo#getTagDecorateInfos()
- */
- public List getTagDecorateInfos() {
- return dtInfo.getTagDecorateInfos();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfo#getTagDecorateInfo(java.lang.String)
- */
- public TagDecorateInfo getTagDecorateInfo(String id) {
- TagDecorateInfo tdInfo = null;
- EList tdInfos = dtInfo.getTagDecorateInfos();
- Iterator itTDInfos = tdInfos.iterator();
- while (itTDInfos.hasNext()) {
- TagDecorateInfo curTDInfo = (TagDecorateInfo)itTDInfos.next();
- if (curTDInfo.getId().equals(id)) {
- tdInfo = curTDInfo;
- break;
- }
- }
- return tdInfo;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfo#getTrait()
- */
- public Trait getTrait() {
- return trait;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java
deleted file mode 100644
index e65f5dcf1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-
-/**
- * Default IDTInfoFactory implementation.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultDTInfoFactory implements IDTInfoFactory {
-
- /**
- * Key (in metadata) of IDTInfo trait.
- */
- public static final String DTINFO_TRAIT_KEY = "dt-info"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.internal.provisional.IDTInfoFactory#getDTInfo(org.w3c.dom.Element)
- */
- public IDTInfo getDTInfo(Element element) {
- IDTInfo dtInfo = null;
- String nsURI = CMUtil.getElementNamespaceURI(element);
- IProject project = getProject(element);
- if (project != null) {
- ITaglibDomainMetaDataModelContext context = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI);
- if (context != null) {
- Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(context, element.getLocalName(), DTINFO_TRAIT_KEY);
- if (trait != null) {
- DTInfo dtInfoModelObject = (DTInfo)trait.getValue();
- if (dtInfoModelObject != null) {
- dtInfo = new DefaultDTInfo(dtInfoModelObject, trait);
- }
- }
- }
- }
- return dtInfo;
- }
-
- /**
- * Gets the IProject instance that contains the model of the specified
- * Element.
- *
- * @param element Element instance.
- * @return IProject instance that contains the model of the specified
- * Element.
- */
- protected IProject getProject(Element element) {
- IProject project = null;
- if (element instanceof IDOMNode) {
- IDOMModel model = ((IDOMNode)element).getModel();
- if (model != null) {
- project = StructuredModelUtil.getProjectFor(model);
- }
- }
- return project;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfo.java
deleted file mode 100644
index 9ce9e070e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfo.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-
-/**
- * Encapsulates design-time (DT) information.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface IDTInfo {
-
- /**
- * Gets the encapsulated TagConvertInfo instance.
- *
- * @return TagConvertInfo instance.
- */
- public TagConvertInfo getTagConvertInfo();
-
- /**
- * Gets the collection of encapsulated TagDecorateInfo instances.
- *
- * @return Collection of TagDecorateInfo instances.
- */
- public List getTagDecorateInfos();
-
- /**
- * Gets an encapsulated TagDecorateInfo instance matching specified ID.
- *
- * @param id ID of desired TagDecorateInfo instance.
- * @return TagDecorateInfo instance matching specified ID.
- */
- public TagDecorateInfo getTagDecorateInfo(String id);
-
- /**
- * Gets the Trait instance that was queried to load the metadata.
- *
- * @return Trait instance that was queried to load the metadata.
- */
- public Trait getTrait();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfoFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfoFactory.java
deleted file mode 100644
index 80f3b6d71..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/IDTInfoFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager;
-
-import org.w3c.dom.Element;
-
-/**
- * Factory that provides IDTInfo instances.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface IDTInfoFactory {
-
- /**
- * Gets an IDTInfo instance for the specified Element.
- *
- * @param element Element instance for which to locate and return IDTInfo
- * instance.
- * @return An IDTInfo instance for the specified Element.
- */
- public IDTInfo getDTInfo(Element element);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/AbstractTagConverterContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/AbstractTagConverterContext.java
deleted file mode 100644
index b37242b0c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/AbstractTagConverterContext.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * Abstract ITagConverter implementation of ITagConverterContext.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractTagConverterContext implements ITagConverterContext {
-
- /**
- * ITagConverter instance.
- */
- protected ITagConverter tagConverter;
-
- /**
- * Instantiates an instance for the specified ITagConverter instance.
- * @param tagConverter ITagConverter instance.
- */
- public AbstractTagConverterContext(ITagConverter tagConverter) {
- this.tagConverter = tagConverter;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#addChild(org.w3c.dom.Node, org.eclipse.jst.pagedesigner.converter.ConvertPosition)
- */
- public abstract void addChild(Node childNode, ConvertPosition position);
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#copyChildren(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public abstract void copyChildren(Element srcElement, Element destElement);
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#createElement(java.lang.String)
- */
- public abstract Element createElement(String tag);
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#createText(java.lang.String)
- */
- public abstract Text createText(String content);
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#getHostElement()
- */
- public Element getHostElement() {
- Element element = null;
- if (tagConverter != null) {
- element = tagConverter.getHostElement();
- }
- return element;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/IOutputRenderer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/IOutputRenderer.java
deleted file mode 100644
index 30263d7f9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/IOutputRenderer.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * Produces output rendering for ITagConverter instances.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface IOutputRenderer {
-
- /**
- * Uses the ITagConverterContext argument to produce output rendering.
- *
- * @param tagConverterContext ITagConverterContext instance providing
- * ITagConverter-specific context and functionality.
- * @return Element instance representing top Element in resulting output
- * tree.
- *
- * TODO: let's parameterize the return type either with a generic type
- * or with Object so that sub-classes can co-vary
- */
- public Element render(ITagConverterContext tagConverterContext);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterContext.java
deleted file mode 100644
index b857c4e61..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterContext.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * Represents ITagConverter-specific context and functionality.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface ITagConverterContext {
-
- /**
- * Gets ITagConverter instance's host Element instance.
- *
- * @return ITagConverter instance's host Element instance.
- */
- public Element getHostElement();
-
- /**
- * Creates an Element instance to be used in ITagConverter's Document
- * instance.
- *
- * @param tag Name of element to be created.
- * @return Element instance to be used in ITagConverter's Document
- * instance.
- */
- public Element createElement(String tag);
-
- /**
- * Creates a Text node instance to be used in ITagConverter's Document
- * instance.
- *
- * @param content Textual content of the created text node.
- * @return Text node instance to be used in ITagConverter's Document
- * instance.
- */
- public Text createText(String content);
-
- /**
- * Adds a child Node instance to ITagConverter's collection of Nodes
- * requiring subsequent processing.
- *
- * @param childNode Child Node instance requiring subsequent processing.
- * @param position ConvertPosition instance describing child Node
- * instance's position, relative to another Node instance.
- */
- public void addChild(Node childNode, ConvertPosition position);
-
- /**
- * Add all child Element instances of srcElement to ITagConverter's
- * collection of Nodes requiring subsequent processing.
- *
- * @param srcElement Source Element instance from which child Elements are
- * copied.
- * @param destElement Destination Element instance to which child Elements
- * will be relative.
- */
- public void copyChildren(Element srcElement, Element destElement);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterDecorator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterDecorator.java
deleted file mode 100644
index 713245f4f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITagConverterDecorator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-
-/**
- * Decorates an ITagConverter instance as appropriate (generally
- * client-specific decoration performed after tag conversion).
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface ITagConverterDecorator {
-
- /**
- * Decorates the ITagConverter instance as appropriate.
- *
- * @param tagConverter ITagConverter instance to be decorated.
- */
- public void decorate(ITagConverter tagConverter);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformOperation.java
deleted file mode 100644
index dfb847ad6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import java.util.List;
-
-import org.w3c.dom.Element;
-
-/**
- * Defines an operation used during transformation of input Element instances
- * to output Element instances.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- *
- * TODO: as with ITransformer, I'd like to consider
- * ITransfomOperation<SRC, RESULT>
- */
-public interface ITransformOperation {
-
- /**
- * Transforms an input element instance to an output Element instance.
- *
- * @param srcElement Original input Element instance.
- * @param curElement Current Element instance.
- * @return Resulting transformed Element instance.
- */
- public Element transform(Element srcElement, Element curElement);
-
- /**
- * Sets the ITagConverterContext instance allowing access to context and
- * functionality of the current ITagConverter instance.
- *
- * @param tagConverterContext ITagConverterContext instance allowing access
- * to context and functionality of the current ITagConverter instance.
- *
- */
- public void setTagConverterContext(ITagConverterContext tagConverterContext);
-
- /**
- * Appends a child ITransformOperation instance.
- *
- * @param operation Child ITransformOperation instance to be appended.
- */
- public void appendChildOperation(ITransformOperation operation);
-
- /**
- * Gets collection of child ITransformOperation instances.
- *
- * @return Collection of child ITransformOperation instances (may be null).
- */
- public List getChildOperations();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformer.java
deleted file mode 100644
index 49e99f216..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/ITransformer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
-
-import org.w3c.dom.Element;
-
-/**
- * Transforms an original input Element instance to an output Element instance
- * by invoking a collection of ITransformOperation instances.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public interface ITransformer {
-
- /**
- * Appends an ITransformOperation instance to the collection.
- *
- * @param operation ITransformOperation instance to be appended.
- * API: does this need to be on the interface or could it be pushed
- * into the instance constructor (i.e. factory).
- */
- public void appendTransformOperation(ITransformOperation operation);
-
- /**
- * Transforms an original input Element instance to an output Element
- * instance, typically by invoking each ITransformOperation instance in
- * this instance's collection.
- *
- * @param srcElement Original input Element instance.
- * @return Transformed output Element instance.
- *
- * TODO: I'd like to consider templating the generic ITransformer
- * interface to ITransformer<I,O> and making this a normative instance
- * case of ITransformer<Element, Element>
- */
- public Element transform(Element srcElement);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AbstractAttributeValueResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AbstractAttributeValueResolver.java
deleted file mode 100644
index 3fbfae562..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AbstractAttributeValueResolver.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import org.w3c.dom.Element;
-
-/**
- *
- *
- */
-public abstract class AbstractAttributeValueResolver implements
- IAttributeValueResolver
-{
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.internal.IAttributeValueResolver#canResolve(org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String)
- */
- public abstract boolean canResolve(Element originalElement,
- Element convertedElement, String convertedAttrName,
- final String convertedAttrValue);
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.internal.IAttributeValueResolver#resolveAttribute(org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String)
- */
- public abstract String resolveAttribute(Element originalElement,
- Element convertedElement, String convertedAttrName,
- final String convertedAttrValue);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AttributeValueResolverRegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AttributeValueResolverRegistryReader.java
deleted file mode 100644
index 64d045b8c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AttributeValueResolverRegistryReader.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.jsf.common.internal.pde.AbstractSimpleClassExtensionRegistryReader;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class AttributeValueResolverRegistryReader extends
- AbstractSimpleClassExtensionRegistryReader<IAttributeValueResolver>
-{
- private final static AttributeValueResolverRegistryReader INSTANCE = new AttributeValueResolverRegistryReader();
-
- /**
- * Not externally instantiable.
- */
- private AttributeValueResolverRegistryReader()
- {
- super(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER,
- "attributeValueResolver", //$NON-NLS-1$
- "class", //$NON-NLS-1$
- new CanonicalComparatorWithPrefixExceptions<IAttributeValueResolver>()
- {
- @Override
- protected int prefixSort(
- SortableExecutableExtension<IAttributeValueResolver> o1,
- SortableExecutableExtension<IAttributeValueResolver> o2)
- {
- // if o1 is contributed by open source, sort it
- // after
- if (o1.getContributorId().startsWith("org.eclipse.jst")) //$NON-NLS-1$
- {
- return 1;
- }
- // if o2 is contributed by open source, sort o1 first
- else if (o2.getContributorId().startsWith("org.eclipse.jst")) //$NON-NLS-1$
- {
- return -1;
- }
- // otherwise, we don't care
- return 0;
- }
- });
- }
-
- /**
- * @return singleton instance.
- */
- public static AttributeValueResolverRegistryReader getInstance()
- {
- return INSTANCE;
- }
-
- @Override
- protected void handleLoadFailure(CoreException ce)
- {
- PDPlugin.log("Loading Attribute Value Resolver extensions", ce); //$NON-NLS-1$
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTHTMLOutputRenderer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTHTMLOutputRenderer.java
deleted file mode 100644
index b54675033..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTHTMLOutputRenderer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.jst.pagedesigner.dtmanager.IDTInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.IOutputRenderer;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformer;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.TransformOperationFactory;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-import org.w3c.dom.Element;
-
-/**
- * Design-time metadata-driven HTML IOutputRenderer implementation.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTHTMLOutputRenderer implements IOutputRenderer {
-
- private ITagConverterContext tagConverterContext;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.IOutputRenderer#render(org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext)
- */
- public Element render(ITagConverterContext newTagConverterContext) {
- this.tagConverterContext = newTagConverterContext;
- Element srcElement = newTagConverterContext.getHostElement();
- Element resultElement = null;
- if (srcElement != null) {
- ITransformer transformer = createTransformerFromDTInfo(srcElement);
- if (transformer != null) {
- resultElement = transformer.transform(srcElement);
- }
- }
- return resultElement;
- }
-
- /**
- * Configures and returns an ITransformer instance for the specified source
- * Element.
- *
- * @param element Element for which to configure and return an ITransformer
- * instance.
- * @return Configured ITransformer instance for the specified Element.
- */
- protected ITransformer createTransformerFromDTInfo(Element element) {
- ITransformer transformer = null;
- DTManager dtManager = DTManager.getInstance();
- IDTInfo dtInfo = dtManager.getDTInfo(element);
- if (dtInfo != null) {
- TagConvertInfo tcInfo = dtInfo.getTagConvertInfo();
- if (tcInfo != null) {
- transformer = new DefaultTransformer(tagConverterContext);
- EList operations = tcInfo.getOperations();
- if (!appendOperationsToTransformer(transformer, operations, dtInfo)) {
- transformer = null;
- }
- }
- }
- return transformer;
- }
-
- private boolean appendOperationsToTransformer(ITransformer transformer, EList operations, IDTInfo dtInfo) {
- Iterator itOperations = operations.iterator();
- while (itOperations.hasNext()) {
- Operation operation = (Operation)itOperations.next();
- ITransformOperation currentTransformOperation = null;
- String opID = operation.getId();
- String[] params = getParamsArray(operation);
- currentTransformOperation =
- TransformOperationFactory.getInstance().getTransformOperation(opID, params);
- if (currentTransformOperation != null) {
- transformer.appendTransformOperation(currentTransformOperation);
- EList childOperations = operation.getOperations();
- if (childOperations != null && childOperations.size() > 0) {
- if (!appendChildOperations(currentTransformOperation, childOperations, dtInfo)) {
- return false;
- }
- }
- } else {
- return false;
- }
- }
- return true;
- }
-
- private boolean appendChildOperations(ITransformOperation parentOperation, EList operations, IDTInfo dtInfo) {
- Iterator itOperations = operations.iterator();
- while (itOperations.hasNext()) {
- Operation operation = (Operation)itOperations.next();
- ITransformOperation currentTransformOperation = null;
- String opID = operation.getId();
- String[] params = getParamsArray(operation);
- currentTransformOperation =
- TransformOperationFactory.getInstance().getTransformOperation(opID, params);
- if (currentTransformOperation != null) {
- parentOperation.appendChildOperation(currentTransformOperation);
- EList childOperations = operation.getOperations();
- if (childOperations != null && childOperations.size() > 0) {
- if (!appendChildOperations(currentTransformOperation, childOperations, dtInfo)) {
- return false;
- }
- }
-
- } else {
- return false;
- }
- }
- return true;
- }
-
- private String[] getParamsArray(Operation operation) {
- EList paramsList = operation.getParameters();
- if (paramsList != null) {
- Iterator itParamsList = paramsList.iterator();
- String[] paramsArray = new String[paramsList.size()];
- int index = 0;
- while (itParamsList.hasNext()) {
- Parameter param = (Parameter)itParamsList.next();
- paramsArray[index++] = param.getValue();
- }
- return paramsArray;
- }
- //fall through - no params
- return new String[0];
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverter.java
deleted file mode 100644
index f0d5099a9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverter.java
+++ /dev/null
@@ -1,467 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.eclipse.jst.pagedesigner.converter.IDOMFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo;
-import org.eclipse.jst.pagedesigner.editors.palette.TagImageManager;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * Design-Time metadata-driven tag converter.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTTagConverter implements
- ITagConverter, ITagEditInfo, INodeAdapter, IDOMFactory {
-
- private Element hostElement;
- private Element resultElement;
- private Image visualImage;
- private ImageDescriptor visualImageDescriptor;
- private IDOMDocument destDocument;
- private List childNodeList = Collections.EMPTY_LIST;
- private NodeConvertPositionMap childVisualPositionMap;
- private List nonVisualChildElementList = Collections.EMPTY_LIST;
- private boolean isMultiLevel = false;
- private boolean isVisualByHTML = true;
- private boolean isWidget = false;
- private int mode;
- private int minHeight;
- private int minWidth;
- private boolean needBorderDecorator = false;
- private boolean needTableDecorator = false;
-
- /**
- * Constructs an instance for the specified source Element.
- *
- * @param hostElement Source Element instance.
- */
- public DTTagConverter(Element hostElement) {
- this.hostElement = hostElement;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#convertRefresh(java.lang.Object)
- */
- public void convertRefresh(Object context) {
- childNodeList = new ArrayList();
- childVisualPositionMap = new NodeConvertPositionMap();
- nonVisualChildElementList = new ArrayList();
- resultElement = new DTHTMLOutputRenderer().render(new DTTagConverterContext(this));
- new DTTagConverterDecorator().decorate(this);
- if (resultElement instanceof INodeNotifier) {
- ((INodeNotifier)resultElement).addAdapter(this);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#dispose()
- */
- public void dispose() {
- visualImage = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getChildModeList()
- */
- public List getChildModeList() {
- //need to reset the NodeConvertPositionMap at this time
- childVisualPositionMap.reset();
- return childNodeList;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getChildVisualPosition(org.w3c.dom.Node)
- */
- public ConvertPosition getChildVisualPosition(Node childModel) {
- return childVisualPositionMap.get(childModel);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getHostElement()
- */
- public Element getHostElement() {
- return hostElement;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getNonVisualChildren()
- */
- public List getNonVisualChildren() {
- return nonVisualChildElementList;
- }
-
- /**
- * Sets the result Element instance; allows decorators to set an "unknown
- * tag" Element when tag conversion has not produced a result.
- *
- * @param resultElement Result Element instance to be set.
- */
- public void setResultElement(Element resultElement) {
- this.resultElement = resultElement;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getResultElement()
- */
- public Element getResultElement() {
- return resultElement;
- }
-
- /**
- * Sets the visual Image instance.
- *
- * @param visualImage Visual Image instance.
- */
- public void setVisualImage(Image visualImage) {
- this.visualImage = visualImage;
- }
-
- /**
- * Sets the visual ImageDescriptor instance.
- *
- * @param imageDescriptor Visual ImageDescriptor instance.
- */
- public void setVisualImageDescriptor(ImageDescriptor imageDescriptor) {
- this.visualImageDescriptor = imageDescriptor;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#getVisualImage()
- */
- public Image getVisualImage() {
- if (visualImage == null && visualImageDescriptor != null) {
- visualImage = TagImageManager.getOrCreateImage(visualImageDescriptor);
- }
- return visualImage;
- }
-
- /**
- * Sets the "isMultiLevel" flag; allows decorators to manipulate this
- * setting.
- *
- * @param isMultiLevel Sets the "isMultiLevel" flag to true or false.
- */
- public void setMultiLevel(boolean isMultiLevel) {
- this.isMultiLevel = isMultiLevel;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isMultiLevel()
- */
- public boolean isMultiLevel() {
- return isMultiLevel;
- }
-
- /**
- * Sets the "isVisualByHTML" flag; allows decorators to manipulate this
- * setting.
- *
- * @param isVisualByHTML Sets the "isVisualByHTML" flag to true or false.
- */
- public void setVisualByHTML(boolean isVisualByHTML) {
- this.isVisualByHTML = isVisualByHTML;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isVisualByHTML()
- */
- public boolean isVisualByHTML() {
- return isVisualByHTML;
- }
-
- /**
- * Sets the "isWidget" flag; allows decorators to manipulate this setting.
- *
- * @param isWidget Sets the "isWidget" flag to true or false.
- */
- public void setWidget(boolean isWidget) {
- this.isWidget = isWidget;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#isWidget()
- */
- public boolean isWidget() {
- return isWidget;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#setDestDocument(org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument)
- */
- public void setDestDocument(IDOMDocument destDocument) {
- this.destDocument = destDocument;
- }
-
- /**
- * Gets the IDOMDocument instance on which new Nodes are created.
- *
- * @return IDOMDocument instance.
- */
- public IDOMDocument getDestDocument() {
- IDOMDocument document = null;
- if (destDocument != null) {
- document = destDocument;
- } else {
- document = (IDOMDocument)hostElement.getOwnerDocument();
- }
- return document;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.ITagConverter#setMode(int)
- */
- public void setMode(int mode) {
- this.mode = mode;
- }
-
- /**
- * Gets this instance's "mode", as set by setMode(int mode).
- *
- * @return This instance's "mode".
- */
- public int getMode() {
- return mode;
- }
-
- /**
- * Sets the desired minimum height of the visual representation; allows
- * decorators to manipulate this setting.
- *
- * @param minHeight The desired minimum height of the visual
- * representation.
- */
- public void setMinHeight(int minHeight) {
- this.minHeight = minHeight;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#getMinHeight()
- */
- public int getMinHeight() {
- return minHeight;
- }
-
- /**
- * Sets the desired minimum width of the visual representation; allows
- * decorators to manipulate this setting.
- *
- * @param minWidth The desired minimum width of the visual
- * representation.
- */
- public void setMinWidth(int minWidth) {
- this.minWidth = minWidth;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#getMinWidth()
- */
- public int getMinWidth() {
- return minWidth;
- }
-
- /**
- * Sets the "needBorderDecorator" flag; allows decorators to manipulate
- * this setting.
- *
- * @param needBorderDecorator Sets the "needBorderDecorator" flag to true
- * or false.
- */
- public void setNeedBorderDecorator(boolean needBorderDecorator) {
- this.needBorderDecorator = needBorderDecorator;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#needBorderDecorator()
- */
- public boolean needBorderDecorator() {
- return needBorderDecorator;
- }
-
- /**
- * Sets the "needTableDecorator" flag; allows decorators to manipulate
- * this setting.
- *
- * @param needTableDecorator Sets the "needTableDecorator" flag to true
- * or false.
- */
- public void setNeedTableDecorator(boolean needTableDecorator) {
- this.needTableDecorator = needTableDecorator;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.css2.style.ITagEditInfo#needTableDecorator()
- */
- public boolean needTableDecorator() {
- return needTableDecorator;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- if (type == ITagEditInfo.class) {
- return true;
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier, int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- //do nothing
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.IDOMFactory#createElement(java.lang.String)
- */
- public Element createElement(String tag) {
- return getDestDocument().createElement(tag);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.IDOMFactory#createText(java.lang.String)
- */
- public Text createText(String content) {
- return getDestDocument().createTextNode(content);
- }
-
- /**
- * Adds a child Node to the collection of Nodes requiring subsequent tag
- * conversion.
- *
- * @param childNode Node instance to be added.
- * @param position ConvertPosition instance describing indexed position
- * relative to another Node in the Document.
- */
- public void addChild(Node childNode, ConvertPosition position) {
- childNodeList.add(childNode);
- childVisualPositionMap.put(childNode, position);
- }
-
- /**
- * Adds all child Nodes to the collection of Nodes requiring subsequent tag
- * conversion.
- *
- * @param srcElement Source Element for which all child Nodes should be
- * added.
- * @param destElement Element to which added Nodes are relative.
- */
- public void copyChildren(Element srcElement, Element destElement) {
- int index = 0;
- NodeList childNodes = srcElement.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node curNode = childNodes.item(i);
- if (
- curNode.getNodeType() == Node.ELEMENT_NODE ||
- curNode.getNodeType() == Node.TEXT_NODE ||
- curNode.getNodeType() == Node.CDATA_SECTION_NODE) {
- addChild(curNode, new ConvertPosition(destElement, index++));
- }
- }
- }
-
- /**
- * Adds a non-visual child Element to the collection of non-visual
- * children (subsequently retrieved via a call to "getNonVisualChildren".
- *
- * @param childElement Child Element to be added.
- */
- public void addNonVisualChildElement(Element childElement) {
- nonVisualChildElementList.add(childElement);
- }
-
- /**
- * Supports multiple ConvertPosition instances associated with a single
- * Node instance.
- */
- private class NodeConvertPositionMap {
-
- private Map mapOfConvertPositions = new HashMap();
- private Map mapOfIndexes = new HashMap();
-
- /**
- * Puts a ConvertPosition instance for the specified Node instance into
- * the map.
- *
- * @param node Node instance for which the ConvertPosition is to be
- * applied.
- * @param convertPosition ConvertPosition instance for the specified
- * Node instance.
- */
- public void put(Node node, ConvertPosition convertPosition) {
- List convertPositions = (List)mapOfConvertPositions.get(node);
- if (convertPositions == null) {
- convertPositions = new ArrayList();
- mapOfConvertPositions.put(node, convertPositions);
- }
- convertPositions.add(convertPosition);
- }
-
- /**
- * Gets the current ConvertPosition instance for the specified Node
- * instance. Note that each time this is called without a reset having
- * occurred, the next ConvertPosition instance mapped to the Node
- * instance is returned.
- *
- * @param node Node instance for which a ConvertPosition instance is
- * being requested.
- * @return the current ConvertPosition instance for the specified Node
- * instance.
- */
- public ConvertPosition get(Node node) {
- ConvertPosition convertPosition = null;
- List convertPositions = (List)mapOfConvertPositions.get(node);
- if (convertPositions != null) {
- int index;
- Object obj = mapOfIndexes.get(node);
- if (obj != null) {
- index = ((Integer)obj).intValue();
- } else {
- index = 0;
- }
- convertPosition = (ConvertPosition)convertPositions.get(index);
- mapOfIndexes.put(node, new Integer(++index));
- }
- return convertPosition;
- }
-
- /**
- * Resets the concept of "current" ConvertPosition instance for all
- * Node instances. Typically called when the List of child Nodes is
- * retrieved.
- */
- public void reset() {
- mapOfIndexes.clear();
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterContext.java
deleted file mode 100644
index aa60bff01..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterContext.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.AbstractTagConverterContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * Design-time tag converter implementation of ITagConverterContext.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTTagConverterContext extends AbstractTagConverterContext {
-
- /**
- * Constructs an instance for the specified DTTagConverter instance.
- *
- * @param tagConverter DTTagConverter instance.
- */
- public DTTagConverterContext(DTTagConverter tagConverter) {
- super(tagConverter);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#createElement(java.lang.String)
- */
- public Element createElement(String tag) {
- Element element = null;
- if (tagConverter != null) {
- element = ((DTTagConverter)tagConverter).createElement(tag);
- }
- return element;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#createText(java.lang.String)
- */
- public Text createText(String content) {
- Text text = null;
- if (tagConverter != null) {
- text = ((DTTagConverter)tagConverter).createText(content);
- }
- return text;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#addChild(org.w3c.dom.Node, org.eclipse.jst.pagedesigner.converter.ConvertPosition)
- */
- public void addChild(Node childNode, ConvertPosition position) {
- if (tagConverter != null) {
- ((DTTagConverter)tagConverter).addChild(childNode, position);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext#copyChildren(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public void copyChildren(Element srcElement, Element destElement) {
- if (tagConverter != null) {
- ((DTTagConverter)tagConverter).copyChildren(srcElement, destElement);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java
deleted file mode 100644
index 124c1ba1d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import java.net.URL;
-
-import javax.servlet.jsp.el.ELException;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IImageDescriptorProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IResourceURLProvider;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.jst.pagedesigner.dtmanager.IDTInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterDecorator;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-import org.eclipse.jst.pagedesigner.preview.PageExpressionContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * ITagConverterDecorator implementation for DTTagConverter.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTTagConverterDecorator implements ITagConverterDecorator
-{
-
- private static final String DECORATE_INFO_ID_DESIGN = "vpd-decorate-design"; //$NON-NLS-1$
- private static final String DECORATE_INFO_ID_PREVIEW = "vpd-decorate-preview"; //$NON-NLS-1$
- private static final String MD_PLUGIN_LOCATION = "$metadata-plugin-location$"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterDecorator
- * #decorate(org.eclipse.jst.pagedesigner.converter.ITagConverter)
- */
- public void decorate(ITagConverter tagConverter)
- {
- if (!(tagConverter instanceof DTTagConverter))
- {
- throw new IllegalArgumentException(
- "ITagConverter argument must be an instance of DTTagConverter"); //$NON-NLS-1$
- }
- DTTagConverter dtTagConverter = (DTTagConverter) tagConverter;
-
- if (dtTagConverter.getMode() == IConverterFactory.MODE_DESIGNER)
- {
- decorateFromDTInfo(dtTagConverter, DECORATE_INFO_ID_DESIGN);
- } else if (dtTagConverter.getMode() == IConverterFactory.MODE_PREVIEW)
- {
- decorateFromDTInfo(dtTagConverter, DECORATE_INFO_ID_PREVIEW);
- }
-
- if (tagConverter.getResultElement() == null
- && tagConverter.isVisualByHTML())
- {
- createUnknownTagRepresentation(dtTagConverter);
- }
- }
-
- /**
- * Performs decoration of the specified DTTagConverter instance from IDTInfo
- * (metadata) for the specified (by ID) TagDecorateInfo.
- *
- * @param dtTagConverter
- * DTTagConverter instance.
- * @param tagDecorateInfoID
- * ID of the TagDecorateInfo to be located in metadata.
- */
- protected void decorateFromDTInfo(DTTagConverter dtTagConverter,
- String tagDecorateInfoID)
- {
- Element srcElement = dtTagConverter.getHostElement();
- DTManager dtManager = DTManager.getInstance();
- IDTInfo dtInfo = dtManager.getDTInfo(srcElement);
- if (dtInfo != null)
- {
- TagDecorateInfo tdInfo = dtInfo
- .getTagDecorateInfo(tagDecorateInfoID);
- if (tdInfo != null)
- {
- dtTagConverter.setMultiLevel(tdInfo.isMultiLevel());
- dtTagConverter.setNeedBorderDecorator(tdInfo
- .isNeedBorderDecorator());
- dtTagConverter.setNeedTableDecorator(tdInfo
- .isNeedTableDecorator());
- if (tdInfo.isNonVisual())
- {
- setNonVisual(dtTagConverter, dtInfo, tdInfo
- .getNonVisualImagePath());
- }
- if (tdInfo.isResolveChildText())
- {
- resolveChildText(dtTagConverter.getResultElement(), dtInfo);
- }
- if (tdInfo.isSetNonVisualChildElements())
- {
- setNonVisualChildElements(dtTagConverter, srcElement);
- }
- dtTagConverter.setWidget(tdInfo.isWidget());
- dtTagConverter.setMinHeight(tdInfo.getMinHeight());
- dtTagConverter.setMinWidth(tdInfo.getMinWidth());
- ResolveAttributeValue resAttrValue = tdInfo
- .getResolveAttributeValue();
- if (resAttrValue != null)
- {
- String attributeName = resAttrValue.getAttributeName();
- if (attributeName != null && attributeName.length() > 0)
- {
- resolveAttributeValue(dtTagConverter.getHostElement(),
- dtTagConverter.getResultElement(),
- attributeName, dtInfo, tagDecorateInfoID);
- }
- }
- }
- }
- }
-
- /**
- * Creates a visual representation result Element for an unknown tag.
- *
- * @param dtTagConverter
- * DTTagConverter instance.
- */
- protected void createUnknownTagRepresentation(DTTagConverter dtTagConverter)
- {
- Element element = dtTagConverter.createElement("span"); //$NON-NLS-1$
- element.setAttribute("style", "color:red;font-weight:bold;"); //$NON-NLS-1$ //$NON-NLS-2$
- Text text = dtTagConverter
- .createText("<" + dtTagConverter.getHostElement().getTagName() + "/>"); //$NON-NLS-1$ //$NON-NLS-2$
- element.appendChild(text);
- dtTagConverter.setResultElement(element);
- dtTagConverter.setWidget(true);
- }
-
- /**
- * Adds child Elements of the specified source Element to the specified
- * DTTagConverter instance's collection of non-visual children.
- *
- * @param dtTagConverter
- * DTTagConverter instance.
- * @param srcElement
- * Source Element for which child Elements are to be added.
- */
- protected void setNonVisualChildElements(DTTagConverter dtTagConverter,
- Element srcElement)
- {
- NodeList childNodes = srcElement.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++)
- {
- Node curNode = childNodes.item(i);
- if (curNode.getNodeType() == Node.ELEMENT_NODE)
- {
- dtTagConverter.addNonVisualChildElement((Element) curNode);
- }
- }
- }
-
- /**
- * Performs simple EL resolution for the child Text Node of the specified
- * source Element instance.
- *
- * @param srcElement
- * Source Element for which child Text Node EL resolution is to
- * be performed.
- * @param dtInfo
- * IDTInfo instance.
- */
- protected void resolveChildText(Element srcElement, IDTInfo dtInfo)
- {
- if (srcElement != null)
- {
- NodeList childNodes = srcElement.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++)
- {
- Node childNode = childNodes.item(i);
- if (childNode.getNodeType() == Node.TEXT_NODE)
- {
- Text textNode = (Text) childNode;
- String textNodeValue = textNode.getNodeValue();
- try
- {
- String newTextNodeValue;
- if (textNodeValue.contains(MD_PLUGIN_LOCATION))
- {
- newTextNodeValue = resolveMDPluginLocation(
- textNodeValue, dtInfo);
- } else
- {
- newTextNodeValue = (String) PageExpressionContext
- .getCurrent().evaluateExpression(
- textNodeValue, String.class, null);
- }
- if (newTextNodeValue != null
- && !textNodeValue.equals(newTextNodeValue))
- {
- textNode.setNodeValue(newTextNodeValue);
- }
- } catch (Exception ex)
- {
- // ignore - could not resolve, do not change existing
- // value
- }
- }
- }
- }
- }
-
- /**
- * Performs simple EL resolution for the value of the specified attribute of
- * the specified Element.
- *
- * @param srcElement
- *
- * @param targetElement
- * Source Element instance.
- * @param attributeName
- * Name of attribute for which the value should be resolved.
- * @param dtInfo
- * IDTInfo instance.
- * @param tagDecorateInfoID
- */
- protected void resolveAttributeValue(Element srcElement,
- Element targetElement, String attributeName, IDTInfo dtInfo,
- String tagDecorateInfoID)
- {
- if (targetElement != null)
- {
- String oldAttributeValue = null;
- String targetAttributeName = attributeName;
- // determine if attributeName is XPath and re-target as appropriate
- if (attributeName.contains("/")) { //$NON-NLS-1$
- int lastSlashPos = attributeName.lastIndexOf("/"); //$NON-NLS-1$
- String xPathExpression = attributeName.substring(0,
- lastSlashPos);
- XPath xPath = XPathFactory.newInstance().newXPath();
- try
- {
- Object resultObject = xPath.evaluate(xPathExpression,
- targetElement, XPathConstants.NODE);
- if (resultObject instanceof Element)
- {
- targetElement = (Element) resultObject;
- targetAttributeName = attributeName
- .substring(lastSlashPos + 1);
- }
- else if (resultObject instanceof Text)
- {
- Node parentNode = ((Text)resultObject).getParentNode();
- if (parentNode instanceof Element)
- {
- parentNode.normalize();
- targetAttributeName = IAttributeValueResolver.TEXT_NODE_KEY;
- oldAttributeValue = ((Text)resultObject).getNodeValue();
- }
- }
- }
- catch (XPathExpressionException xee)
- {
- // could not evaluate - leave targetElement and
- // targetAttributeName unchanged
- }
- }
-
-
- if (!IAttributeValueResolver.TEXT_NODE_KEY.equals(targetAttributeName))
- {
- oldAttributeValue = targetElement.getAttribute(targetAttributeName);
- }
-
- if (oldAttributeValue != null && oldAttributeValue.length() > 0)
- {
- String newAttributeValue;
- if (oldAttributeValue.contains(MD_PLUGIN_LOCATION))
- {
- newAttributeValue = resolveMDPluginLocation(
- oldAttributeValue, dtInfo);
- }
- else
- {
- newAttributeValue = resolveAttributeValue(srcElement,
- targetElement, targetAttributeName,
- oldAttributeValue, tagDecorateInfoID);
- }
- if (newAttributeValue != null
- && !oldAttributeValue.equals(newAttributeValue))
- {
- if (IAttributeValueResolver.TEXT_NODE_KEY
- .equals(targetAttributeName))
- {
- for (int i = targetElement.getChildNodes().getLength()-1; i >= 0; i--)
- {
- Node childNode = targetElement.getChildNodes().item(i);
- if (childNode.getNodeType() == Node.TEXT_NODE)
- {
- targetElement.removeChild(childNode);
- }
- }
- targetElement.appendChild(targetElement.getOwnerDocument().createTextNode(newAttributeValue));
- }
- else
- {
- targetElement.setAttribute(targetAttributeName,
- newAttributeValue);
- }
- }
- }
- }
- }
-
- private String resolveAttributeValue(final Element originalElement,
- final Element convertedElement,
- final String convertedAttributeName, final String oldAttributeValue,
- final String tagDecorateInfoID)
- {
- String newValue = null;
- boolean valueResolved = false;
- final String[] result = new String[1];
-
- for (final IAttributeValueResolver resolver : AttributeValueResolverRegistryReader
- .getInstance().getExtensions())
- {
- SafeRunner.run(new ISafeRunnable()
- {
- public void handleException(Throwable exception)
- {
- PDPlugin
- .log(
- "While resolving attribute in converter decorator", exception); //$NON-NLS-1$
- }
-
- public void run() throws Exception
- {
- if (resolver.canResolve(originalElement,
- convertedElement, convertedAttributeName, oldAttributeValue))
- {
- result[0] = resolver.resolveAttribute(
- originalElement, convertedElement,
- convertedAttributeName, oldAttributeValue);
- }
- }
- });
- if (result[0] != null)
- {
- newValue = result[0];
- valueResolved = true;
- break;
- }
- }
-
- if (!valueResolved &&
- // maintain backward compatibility: only do this default
- // behaviour for the preview
- tagDecorateInfoID.equals(DECORATE_INFO_ID_PREVIEW))
- {
- // fall- through to default case.
- try
- {
-
- PageExpressionContext current = PageExpressionContext.getCurrent();
- if (current != null)
- {
- return (String) current
- .evaluateExpression(oldAttributeValue, String.class,
- null);
- }
- } catch (ELException e)
- {
- // ignore. we will just return null since couldn't resolve
- }
- }
- return newValue;
- }
-
- /**
- * Resolves any instance of MD_PLUGIN_LOCATION in input String.
- *
- * @param input
- * Input String.
- * @param dtInfo
- * IDTInfo instance.
- * @return Input String with any instance of MD_PLUGIN_LOCATION resolved.
- */
- protected String resolveMDPluginLocation(String input, IDTInfo dtInfo)
- {
- String output = input;
- if (input != null && input.contains(MD_PLUGIN_LOCATION))
- {
- int tokenStart = input.indexOf(MD_PLUGIN_LOCATION);
- int tokenEnd = tokenStart + MD_PLUGIN_LOCATION.length();
- String prefix = input.substring(0, tokenStart);
- String suffix = input.substring(tokenEnd);
- Trait trait = dtInfo.getTrait();
- IMetaDataSourceModelProvider mdSourceModelProvider = trait
- .getSourceModelProvider();
- IResourceURLProvider resourceURLProvider = (IResourceURLProvider) mdSourceModelProvider
- .getAdapter(IResourceURLProvider.class);
- URL url = resourceURLProvider.getResourceURL("/META-INF/"); //$NON-NLS-1$
- String resolvedToken = url.toExternalForm();
- resolvedToken = resolvedToken.substring(0,
- resolvedToken.length() - 10);
- output = prefix + resolvedToken + suffix;
- }
- return output;
- }
-
- /**
- * Sets DTTagConverter instance as non-visual as HTML and sets the
- * ImageDescriptor instance that DTTagConverter will use to return an Image
- * for rendering.
- *
- * @param dtTagConverter
- * DTTagConverter instance.
- * @param dtInfo
- * IDTInfo instance.
- * @param imagePath
- * Image path, relative to declaring plug-in.
- */
- protected void setNonVisual(DTTagConverter dtTagConverter, IDTInfo dtInfo,
- String imagePath)
- {
- dtTagConverter.setVisualByHTML(false);
- if (imagePath != null && imagePath.length() > 0)
- {
- Trait trait = dtInfo.getTrait();
- IImageDescriptorProvider imgDescProvider = (IImageDescriptorProvider) trait
- .getSourceModelProvider().getAdapter(
- IImageDescriptorProvider.class);
- if (imgDescProvider != null)
- {
- ImageDescriptor imageDescriptor = imgDescProvider
- .getImageDescriptor(imagePath);
- dtTagConverter.setVisualImageDescriptor(imageDescriptor);
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterFactory.java
deleted file mode 100644
index df4083111..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.jst.pagedesigner.dtmanager.IDTInfo;
-import org.w3c.dom.Element;
-
-/**
- * Produces DTTagConverter instances.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTTagConverterFactory implements IConverterFactory {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#createConverter(org.w3c.dom.Element, int)
- */
- public ITagConverter createConverter(Element element, int mode) {
- ITagConverter tagConverter = null;
- IDTInfo dtInfo = DTManager.getInstance().getDTInfo(element);
- if (dtInfo != null) {
- tagConverter = new DTTagConverter(element);
- tagConverter.setMode(mode);
- }
- return tagConverter;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#getSupportedURI()
- */
- public String getSupportedURI() {
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DefaultTransformer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DefaultTransformer.java
deleted file mode 100644
index 4e6ce6250..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DefaultTransformer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformer;
-import org.w3c.dom.Element;
-
-/**
- * Default ITransformer implementation.
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultTransformer implements ITransformer {
-
- private ITagConverterContext tagConverterContext;
- // synchronization occurs on this object, so it must never
- // be allowed to be null
- private final Collection transformOperations = new ArrayList();
-
- /**
- * Instantiates an instance.
- *
- * @param context ITagConverterContext instance.
- */
- public DefaultTransformer(ITagConverterContext context) {
- this.tagConverterContext = context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformer#appendTransformOperation(org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation)
- */
- public void appendTransformOperation(ITransformOperation operation) {
- synchronized(transformOperations) {
- if (operation != null) {
- operation.setTagConverterContext(tagConverterContext);
- transformOperations.add(operation);
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.internal.provisional.ITransformer#transform(org.w3c.dom.Element)
- */
- public Element transform(Element srcElement) {
- Element curElement = null;
- if (srcElement != null) {
- synchronized(transformOperations) {
- if (transformOperations.size() > 0) {
- curElement = srcElement;
- Iterator itOperations = transformOperations.iterator();
- while (itOperations.hasNext()) {
- ITransformOperation operation = (ITransformOperation)itOperations.next();
- curElement = operation.transform(srcElement, curElement);
- }
- }
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/IAttributeValueResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/IAttributeValueResolver.java
deleted file mode 100644
index e654f5cae..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/IAttributeValueResolver.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.jst.pagedesigner.dtmanager.converter.internal;
-
-import org.w3c.dom.Element;
-
-/**
- * Marks an object that can resolve the runtime value of an attribute at
- * design time. The "runtime" value may be a best-guess or simulated value.
- *
- * @author cbateman
- *
- */
-public interface IAttributeValueResolver
-{
- /**
- * Passed as convertedAttrName if the convertedElement's text content
- * is the 'attribute' to be resolved.
- */
- public static final String TEXT_NODE_KEY = "#text"; //$NON-NLS-1$
-
- /**
- * @param originalElement
- * @param convertedElement
- * @param convertedAttrName
- * @param convertedAttrValue
- *
- * @return true if this resolver can resolve the value of attrName on domNode
- */
- public abstract boolean canResolve(final Element originalElement,
- final Element convertedElement,
- final String convertedAttrName,
- final String convertedAttrValue);
-
- /**
- * @param originalElement
- * @param convertedElement
- * @param convertedAttrName
- * @param convertedAttrValue
- * @return the resolved String value of attrName. A value of null does not necessarily
- * mean that the value couldn't be resolved.
- */
- public abstract String resolveAttribute(final Element originalElement,
- final Element convertedElement, final String convertedAttrName,
- final String convertedAttrValue);
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/AbstractTransformOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/AbstractTransformOperation.java
deleted file mode 100644
index dc2ab993d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/AbstractTransformOperation.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITagConverterContext;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Abstract ITransformOperation implementation. Maintains ITagConverterContext
- * instance and collection of child ITransformOperation instances.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractTransformOperation implements ITransformOperation {
-
- /**
- * ITagConverterContext instance.
- */
- protected ITagConverterContext tagConverterContext;
-
- /**
- * Collection of child ITransformOperation instances.
- */
- protected List childOperations;
-
- private String[] params;
-
- private String id = "<not set>"; //$NON-NLS-1$
-
- /**
- * Zero-argument constructor
- */
- public AbstractTransformOperation(){
- //
- }
-
- /**
- * Called by TransformOperationFactory
- * @param params for the operation
- */
- void setParameters(String[] params) {
- if (params != null) {
- this.params = new String[params.length];
- System.arraycopy(params, 0, this.params, 0, params.length);
- }
- }
-
- /**
- * @return parameters for the operation
- */
- protected String[] getParameters(){
- return params;
- }
-
- /**
- * Called by TransformOperationFactory
- * @param id for the operation
- */
- void setTransformOperationID(String id){
- this.id = id;
- }
-
- /**
- * @return id for the operation
- */
- protected String getTransformOperationID(){
- return id;
- }
-
- /**
- * @return Logger
- */
- protected Logger getLog() {
- return PDPlugin.getLogger(TransformOperationFactory.class);
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public abstract Element transform(Element srcElement, Element curElement);
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation#setTagConverterContext(org.eclipse.jst.pagedesigner.dtmanager.converter.internal.provisional.ITagConverterContext)
- */
- public void setTagConverterContext(ITagConverterContext tagConverterContext) {
- // API: this should really be set on construction since other methods
- // cannot be called until it is set.
- this.tagConverterContext = tagConverterContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation#appendChildOperation(org.eclipse.jst.pagedesigner.dtmanager.converter.internal.provisional.ITransformOperation)
- */
- public void appendChildOperation(ITransformOperation operation) {
- if (operation != null) {
- if (childOperations == null) {
- childOperations = new ArrayList();
- }
- operation.setTagConverterContext(tagConverterContext);
- childOperations.add(operation);
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation#getChildOperations()
- */
- public List getChildOperations() {
- return childOperations;
- }
-
- /**
- * Convenience method to execute child ITransformOperation instances.
- *
- * @param srcElement Source Element instance.
- * @param curElement Current Element instance (that is being transformed).
- * @return New current Element instance.
- */
- protected Element executeChildOperations(Element srcElement, Element curElement) {
- Element retElement = curElement;
- if (childOperations != null && childOperations.size() > 0) {
- Iterator itChildOperations = childOperations.iterator();
- while (itChildOperations.hasNext()) {
- ITransformOperation childOperation = (ITransformOperation)itChildOperations.next();
- retElement = childOperation.transform(srcElement, retElement);
- }
- }
- return retElement;
- }
-
- /**
- * Creates a new Element.
- *
- * @param tagName Name of Element to be created.
- * @return New Element instance.
- */
- protected Element createElement(String tagName) {
- ITransformOperation operation =
- TransformOperationFactory.getInstance().getTransformOperation(
- TransformOperationFactory.OP_CreateElementOperation,
- new String[]{tagName});
- operation.setTagConverterContext(tagConverterContext);
- return operation.transform(null, null);
- }
-
- /**
- * Creates and appends a new child Element.
- *
- * @param tagName Name of child Element to be created.
- * @param parentElement Element instance to which to append the new
- * Element.
- * @return New Element instance.
- */
- protected Element appendChildElement(String tagName, Element parentElement) {
- ITransformOperation operation =
- TransformOperationFactory.getInstance().getTransformOperation(
- TransformOperationFactory.OP_AppendChildElementOperation,
- new String[]{tagName});
- operation.setTagConverterContext(tagConverterContext);
- return operation.transform(null, parentElement);
- }
-
- /**
- * Creates and appends a new child Text.
- *
- * @param content Content of new child Text.
- * @param parentElement Element instance to which to append the new Text.
- */
- protected void appendChildText(String content, Element parentElement) {
- ITransformOperation operation =
- TransformOperationFactory.getInstance().getTransformOperation(
- TransformOperationFactory.OP_AppendChildTextOperation,
- new String[]{content});
- operation.setTagConverterContext(tagConverterContext);
- operation.transform(null, parentElement);
- }
-
- /**
- * Gets collection of child Element instances who's local name matches
- * specified tag name.
- *
- * @param srcNode Source Node instance.
- * @param tagName Tag local name.
- * @return Collection of child Element instances who's local name matches
- * specified tag name.
- */
- protected List getChildElements(Node srcNode, String tagName) {
- List childElements = new ArrayList();
- NodeList childNodes = srcNode.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- Node curNode = childNodes.item(i);
- if (curNode.getNodeType() == Node.ELEMENT_NODE) {
- String curNodeName = curNode.getLocalName();
- if (curNodeName != null && curNodeName.equals(tagName)) {
- childElements.add(curNode);
- }
- }
- }
- return childElements;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/TransformOperationFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/TransformOperationFactory.java
deleted file mode 100644
index 0c8e6ed9d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/TransformOperationFactory.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation;
-import org.osgi.framework.Bundle;
-
-/**
- * Factory responsible for producing {@link org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation} instances from the <br>
- * <code>org.eclipse.jst.pagedesigner.pageDesignerExtension.tagTransformOperation</code> extensions
- * <br>
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author Ian Trimble - Oracle
- */
-public final class TransformOperationFactory {
- /**
- * AppendChildElementOperation
- */
- public static final String OP_AppendChildElementOperation = PDPlugin.getPluginId()+".AppendChildElementOperation"; //$NON-NLS-1$
- /**
- * AppendChildTextFromXPathOperation
- */
- public static final String OP_AppendChildTextFromXPathOperation = PDPlugin.getPluginId()+".AppendChildTextFromXPathOperation"; //$NON-NLS-1$
- /**
- * AppendChildTextOperation
- */
- public static final String OP_AppendChildTextOperation = PDPlugin.getPluginId()+".AppendChildTextOperation"; //$NON-NLS-1$
- /**
- * ConvertAttributeToTextOperation
- */
- public static final String OP_ConvertAttributeToTextOperation = PDPlugin.getPluginId()+".ConvertAttributeToTextOperation"; //$NON-NLS-1$
- /**
- * CopyAllAttributesOperation
- */
- public static final String OP_CopyAllAttributesOperation = PDPlugin.getPluginId()+".CopyAllAttributesOperation"; //$NON-NLS-1$
- /**
- * CopyAttributeOperation
- */
- public static final String OP_CopyAttributeOperation = PDPlugin.getPluginId()+".CopyAttributeOperation"; //$NON-NLS-1$
- /**
- * CopyAttributeWithRenameOperation
- */
- public static final String OP_CopyAttributeWithRenameOperation = PDPlugin.getPluginId()+".CopyAttributeWithRenameOperation"; //$NON-NLS-1$
- /**
- * CopyChildrenOperation
- */
- public static final String OP_CopyChildrenOperation = PDPlugin.getPluginId()+".CopyChildrenOperation"; //$NON-NLS-1$
- /**
- * CreateAttributeFromXPathOperation
- */
- public static final String OP_CreateAttributeFromXPathOperation = PDPlugin.getPluginId()+".CreateAttributeFromXPathOperation"; //$NON-NLS-1$
- /**
- * CreateAttributeOperation
- */
- public static final String OP_CreateAttributeOperation = PDPlugin.getPluginId()+".CreateAttributeOperation"; //$NON-NLS-1$
- /**
- * CreateElementOperation
- */
- public static final String OP_CreateElementOperation = PDPlugin.getPluginId()+".CreateElementOperation"; //$NON-NLS-1$
- /**
- * CustomTransformOperation
- */
- public static final String OP_CustomTransformOperation = PDPlugin.getPluginId()+".CustomTransformOperation"; //$NON-NLS-1$
- /**
- * IfNotOperation
- */
- public static final String OP_IfNotOperation = PDPlugin.getPluginId()+".IfNotOperation"; //$NON-NLS-1$
- /**
- * IfOperation
- */
- public static final String OP_IfOperation = PDPlugin.getPluginId()+".IfOperation"; //$NON-NLS-1$
- /**
- * IterateOverElementsOperation
- */
- public static final String OP_IterateOverElementsOperation = PDPlugin.getPluginId()+".IterateOverElementsOperation"; //$NON-NLS-1$
- /**
- * MakeParentElementCurrentOperation
- */
- public static final String OP_MakeParentElementCurrentOperation = PDPlugin.getPluginId()+".MakeParentElementCurrentOperation"; //$NON-NLS-1$
- /**
- * RemoveAttributeOperation
- */
- public static final String OP_RemoveAttributeOperation = PDPlugin.getPluginId()+".RemoveAttributeOperation"; //$NON-NLS-1$
- /**
- * RenameAttributeOperation
- */
- public static final String OP_RenameAttributeOperation = PDPlugin.getPluginId()+".RenameAttributeOperation"; //$NON-NLS-1$
-
- private static TransformOperationFactory instance;
-
- private Logger log = PDPlugin.getLogger(TransformOperationFactory.class);
-
- private Map<String, Class> _tagTransformOpsRegistry;
-
- /**
- * Instantiates an instance.
- */
- private TransformOperationFactory() {
- //no external instantiation
-
- //read extensions
- readAllTagTransformOperations();
- }
-
-
- /**
- * Gets the singleton instance.
- *
- * @return The singleton instance.
- */
- public static synchronized TransformOperationFactory getInstance() {
- if (instance == null) {
- instance = new TransformOperationFactory();
- }
- return instance;
- }
-
- /**
- * Gets an ITransformOperation instance for the specified operation ID and
- * parameters.
- *
- * @param opID - the plugin-qualified Operation extension ID.
- * @param params - array of String parameters
- * @return ITransformOperation
- */
- public ITransformOperation getTransformOperation(String opID, String[] params) {
- Class opClass = null;
- try {
- opClass = _tagTransformOpsRegistry.get(opID);
- if (opClass != null) {
- Object opObject = opClass.newInstance();
- if (opObject instanceof AbstractTransformOperation) {
- ((AbstractTransformOperation)opObject).setParameters(params);
- ((AbstractTransformOperation)opObject).setTransformOperationID(opID);
- return (AbstractTransformOperation)opObject;
- }
- log.error("Warning.TransformOperationFactory.NotAbstractTransformOperation", opClass.getName()); //$NON-NLS-1$
- } else {
- log.error("Warning.TransformOperationFactory.ExtensionNotFound", opID); //$NON-NLS-1$
- }
- } catch(IllegalAccessException iae) {
- log.error("Warning.TransformOperationFactory.IllegalAccess", opClass.getName(), iae); //$NON-NLS-1$
- } catch(InstantiationException ie) {
- log.error("Warning.TransformOperationFactory.Instantiation", opClass.getName(), ie); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * Reads the custom tag transform operations from WPE registry
- */
- private void readAllTagTransformOperations() {
- try {
- _tagTransformOpsRegistry = new HashMap<String, Class>();
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(PDPlugin.getPluginId(), IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = point.getExtensions();
- for (int i=0;i < extensions.length;i++){
- IExtension ext = extensions[i];
- for (int j=0;j < ext.getConfigurationElements().length;j++){
- if (ext.getConfigurationElements()[j].getName()
- .equals(IJMTConstants.TAG_TRANSFORM_OPERATION)) {
- registerTransformOperation(ext.getConfigurationElements()[j]);
- }
- }
- }
- } catch (InvalidRegistryObjectException e) {
- log.error("Warning.TransformOperationFactory.RegistryError", PDPlugin.getPluginId()+IJMTConstants.EXTENSION_POINT_PAGEDESIGNER+"."+IJMTConstants.TAG_TRANSFORM_OPERATION, e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- private void registerTransformOperation(final IConfigurationElement element) {
-
- final Bundle bundle = Platform.getBundle(element.getContributor().getName());
- final String id = element.getContributor().getName()+"."+element.getAttribute("id"); //$NON-NLS-1$ //$NON-NLS-2$
- if (bundle != null) {
- try {
- final Class transformClass = bundle.loadClass(element.getAttribute("class")); //$NON-NLS-1$
- // Not checking instance type here. Class gets checked as ITransformOperation at
- //instantiation time...
- //best to log error then rather than now.
- _tagTransformOpsRegistry.put(id, transformClass);
- }
- catch (Exception e) {
- log.error("Warning.TransformOperationFactory.CannotLoadOpClass",id, e); //$NON-NLS-1$
- }
- }
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildElementOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildElementOperation.java
deleted file mode 100644
index 37178ef69..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildElementOperation.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that appends a child Element and
- * optionally makes the new Element current.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class AppendChildElementOperation extends AbstractTransformOperation {
-
- private String tagName;
- private boolean makeChildCurrent = true;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- } else if (getParameters().length < 2) {
- tagName = getParameters()[0];
- } else {
- tagName = getParameters()[0];
- makeChildCurrent = Boolean.valueOf(getParameters()[1]).booleanValue();
- }
-
- Assert.isNotNull(tagName);
- Element element = null;
- if (tagConverterContext != null && curElement != null && tagName != null && tagName.length() > 0) {
- Element childElement = tagConverterContext.createElement(tagName);
- curElement.appendChild(childElement);
- if (makeChildCurrent) {
- element = childElement;
- } else {
- element = curElement;
- }
- }
- return element;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextFromXPathOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextFromXPathOperation.java
deleted file mode 100644
index b0a7391ec..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextFromXPathOperation.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-/**
- * ITransformOperation implementation that creates a new child Text node by
- * getting a value from the specified XPath expression.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class AppendChildTextFromXPathOperation extends AbstractTransformOperation {
-
- private String xPathExpression;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
-
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- xPathExpression = getParameters()[0];
- Assert.isNotNull(xPathExpression);
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.STRING);
- if (tagConverterContext != null && resultObject instanceof String && curElement != null) {
- Text childText = tagConverterContext.createText((String)resultObject);
- curElement.appendChild(childText);
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextOperation.java
deleted file mode 100644
index 5d910c59d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/AppendChildTextOperation.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-/**
- * ITransformOperation implementation that appends a child Text.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class AppendChildTextOperation extends AbstractTransformOperation {
-
- private String content;
-
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- content = getParameters()[0];
- Assert.isNotNull(content);
-
- if (tagConverterContext != null && curElement != null && content != null && content.length() > 0) {
- Text childText = tagConverterContext.createText(content);
- curElement.appendChild(childText);
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/ConvertAttributeToTextOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/ConvertAttributeToTextOperation.java
deleted file mode 100644
index 51fdd9a61..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/ConvertAttributeToTextOperation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-/**
- * ITransformOperation implementation that converts an attribute to a child
- * Text Node and optionally removes the specified attribute.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class ConvertAttributeToTextOperation extends AbstractTransformOperation {
-
- private String attributeName;
- private boolean removeAttribute = true;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- } else if (getParameters().length < 2) {
- attributeName = getParameters()[0];
- } else {
- attributeName = getParameters()[0];
- removeAttribute = Boolean.valueOf(getParameters()[1]).booleanValue();
- }
-
- Assert.isNotNull(attributeName);
- if (tagConverterContext != null && srcElement != null && curElement != null) {
- String content = srcElement.getAttribute(attributeName);
- if (content != null && content.length() > 0) {
- Text text = tagConverterContext.createText(content);
- curElement.appendChild(text);
- if (removeAttribute) {
- curElement.removeAttribute(attributeName);
- }
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAllAttributesOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAllAttributesOperation.java
deleted file mode 100644
index 59b13f590..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAllAttributesOperation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * ITransformOperation implementation that copies all attributes from the
- * source Element instance to the current Element instance.
- *
- * @author Ian Trimble - Oracle
- */
-public class CopyAllAttributesOperation extends AbstractTransformOperation {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (srcElement != null && curElement != null) {
- NamedNodeMap attributes = srcElement.getAttributes();
- for (int i = 0; i < attributes.getLength(); i++) {
- Attr attribute = (Attr)attributes.item(i);
- curElement.setAttribute(attribute.getName(), attribute.getValue());
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeOperation.java
deleted file mode 100644
index a169436e4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeOperation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * Copies a single attribute from the source Element instance to the current
- * Element instance, and optionally creates a new attribute on the current
- * Element instance if no such attribute exists on the source Element instance.
- *
- * @author Ian Trimble - Oracle
- */
-public class CopyAttributeOperation extends AbstractTransformOperation {
-
- private String attributeName;
- private boolean create;
- private String newAttributeValue;
-
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- } else if (getParameters().length < 3) {
- attributeName = getParameters()[0];
- } else {
- attributeName = getParameters()[0];
- create = Boolean.valueOf(getParameters()[1]).booleanValue();
- newAttributeValue = getParameters()[2];
- }
-
- Assert.isNotNull(attributeName);
- if (srcElement != null && curElement != null) {
- Attr attribute = srcElement.getAttributeNode(attributeName);
- if (attribute != null) {
- curElement.setAttribute(attributeName, attribute.getValue());
- } else if (create && newAttributeValue != null) {
- curElement.setAttribute(attributeName, newAttributeValue);
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeWithRenameOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeWithRenameOperation.java
deleted file mode 100644
index 0a0a25b24..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyAttributeWithRenameOperation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- */
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * Copies a single attribute from the source Element instance to the current
- * Element instance, renaming the attribute on the current Element instance.
- *
- * @author Ian Trimble - Oracle
- */
-public class CopyAttributeWithRenameOperation extends AbstractTransformOperation {
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 2) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- String srcAttributeName = getParameters()[0];
- String destAttributeName = getParameters()[1];
- Assert.isNotNull(srcAttributeName);
- Assert.isNotNull(destAttributeName);
-
- if (srcElement != null && curElement != null) {
- Attr attribute = srcElement.getAttributeNode(srcAttributeName);
- if (attribute != null) {
- curElement.setAttribute(destAttributeName, attribute.getValue());
- }
- }
-
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyChildrenOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyChildrenOperation.java
deleted file mode 100644
index 206e595b3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CopyChildrenOperation.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that copies all child Elements as Nodes
- * requiring subsequent tag conversion.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class CopyChildrenOperation extends AbstractTransformOperation {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (tagConverterContext != null) {
- tagConverterContext.copyChildren(srcElement, curElement);
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeFromXPathOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeFromXPathOperation.java
deleted file mode 100644
index dc5badb16..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeFromXPathOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that creates a new attribute on the
- * current Element by getting a value from the specified XPath expression.
- *
- * @author Ian Trimble - Oracle
- */
-public class CreateAttributeFromXPathOperation extends AbstractTransformOperation {
-
- private String attributeName;
- private String xPathExpression;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
-
- if (getParameters().length < 2) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- attributeName = getParameters()[0];
- xPathExpression = getParameters()[1];
- Assert.isNotNull(attributeName);
- Assert.isNotNull(xPathExpression);
-
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.STRING);
- if (resultObject instanceof String && curElement != null) {
- curElement.setAttribute(attributeName, (String)resultObject);
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeOperation.java
deleted file mode 100644
index 7ffc0bb18..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeOperation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that creates a new attribute on the
- * current Element.
- *
- * @author Ian Trimble - Oracle
- */
-public class CreateAttributeOperation extends AbstractTransformOperation {
-
- private String attributeName;
- private String attributeValue;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 2) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- attributeName = getParameters()[0];
- attributeValue = getParameters()[1];
- Assert.isNotNull(attributeName);
- Assert.isNotNull(attributeValue);
-
- if (curElement != null) {
- curElement.setAttribute(attributeName, attributeValue);
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateElementOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateElementOperation.java
deleted file mode 100644
index 038fec245..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateElementOperation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that creates a new Element.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class CreateElementOperation extends AbstractTransformOperation {
-
- private String tagName;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- tagName = getParameters()[0];
- Assert.isNotNull(tagName);
-
- Element element = null;
- if (tagConverterContext != null && tagName != null && tagName.length() > 0) {
- element = tagConverterContext.createElement(tagName);
- }
- return element;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfNotOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfNotOperation.java
deleted file mode 100644
index 95c62f269..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfNotOperation.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that executes child ITransformOperation
- * instances if the XPath expression evaluated against the source Element
- * instance returns a "false" result.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class IfNotOperation extends AbstractTransformOperation {
-
- private String xPathExpression;
-
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- xPathExpression = getParameters()[0];
- Assert.isNotNull(xPathExpression);
-
- Element retElement = curElement;
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.BOOLEAN);
- if (!((Boolean)resultObject).booleanValue()) {
- retElement = executeChildOperations(srcElement, retElement);
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return retElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfOperation.java
deleted file mode 100644
index f617e357c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IfOperation.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that executes child ITransformOperation
- * instances if the XPath expression evaluated against the source Element
- * instance returns a "true" result.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class IfOperation extends AbstractTransformOperation {
-
- private String xPathExpression;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- xPathExpression = getParameters()[0];
- Assert.isNotNull(xPathExpression);
-
- Element retElement = curElement;
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.BOOLEAN);
- if (((Boolean)resultObject).booleanValue()) {
- retElement = executeChildOperations(srcElement, retElement);
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return retElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IterateOverElementsOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IterateOverElementsOperation.java
deleted file mode 100644
index cc4e8dfed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IterateOverElementsOperation.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * ITransformOperation implementation that executes child ITransformOperation
- * instances for each Element in the NodeList returned by the XPath expression,
- * which is evaluated against the source Element.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class IterateOverElementsOperation extends AbstractTransformOperation {
-
- private String xPathExpression;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- xPathExpression = getParameters()[0];
- Assert.isNotNull(xPathExpression);
-
- Element retElement = curElement;
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.NODESET);
- if (resultObject instanceof NodeList) {
- NodeList nodes = (NodeList)resultObject;
- for (int i = 0; i < nodes.getLength(); i++) {
- Node node = nodes.item(i);
- if (node instanceof Element) {
- retElement = executeChildOperations((Element)node, retElement);
- }
- }
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return retElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/MakeParentElementCurrentOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/MakeParentElementCurrentOperation.java
deleted file mode 100644
index b0e32aff8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/MakeParentElementCurrentOperation.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * ITransformOperation implementation that makes the current Element's parent
- * Element the new current Element.
- *
- * @author Ian Trimble - Oracle
- */
-public class MakeParentElementCurrentOperation extends AbstractTransformOperation {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- Element resultElement = null;
- if (curElement != null) {
- Node parentNode = curElement.getParentNode();
- while (parentNode != null && parentNode.getNodeType() != Node.DOCUMENT_NODE) {
- if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
- resultElement = (Element)parentNode;
- break;
- }
- parentNode = parentNode.getParentNode();
- }
- }
- return resultElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RemoveAttributeOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RemoveAttributeOperation.java
deleted file mode 100644
index b217c6aef..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RemoveAttributeOperation.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that removes an attribute from the
- * current Element.
- *
- * @author Ian Trimble - Oracle
- */
-public class RemoveAttributeOperation extends AbstractTransformOperation {
-
- private String attributeName;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- attributeName = getParameters()[0];
- Assert.isNotNull(attributeName);
-
- if (curElement != null) {
- curElement.removeAttribute(attributeName);
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RenameAttributeOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RenameAttributeOperation.java
deleted file mode 100644
index c924538aa..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/RenameAttributeOperation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation that renames an attribute of the current
- * Element.
- *
- * @author Ian Trimble - Oracle
- */
-public class RenameAttributeOperation extends AbstractTransformOperation {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 2) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", getTransformOperationID()); //$NON-NLS-1$
- return null;
- }
-
- String oldAttributeName = getParameters()[0];
- String newAttributeName = getParameters()[1];
- Assert.isNotNull(oldAttributeName);
- Assert.isNotNull(newAttributeName);
-
- if (curElement != null) {
- Attr oldAttribute = curElement.getAttributeNode(oldAttributeName);
- if (oldAttribute != null) {
- curElement.setAttribute(newAttributeName, oldAttribute.getValue());
- curElement.removeAttribute(oldAttributeName);
- }
- }
- return curElement;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/package-info.java
deleted file mode 100644
index 0b15e7d20..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Basic tag conversion operations.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/package-info.java
deleted file mode 100644
index dd15b1b7d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Meta-data driven tag converters.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.dtmanager.converter;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfo.java
deleted file mode 100644
index a77dd4df6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>DT Info</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagConvertInfo <em>Tag Convert Info</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagDecorateInfos <em>Tag Decorate Infos</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getDTInfo()
- * @model
- * @generated
- */
-public interface DTInfo extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Tag Convert Info</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tag Convert Info</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Tag Convert Info</em>' containment reference.
- * @see #setTagConvertInfo(TagConvertInfo)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getDTInfo_TagConvertInfo()
- * @model containment="true" required="true"
- * extendedMetaData="kind='element' name='tag-convert-info'"
- * @generated
- */
- TagConvertInfo getTagConvertInfo();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagConvertInfo <em>Tag Convert Info</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Tag Convert Info</em>' containment reference.
- * @see #getTagConvertInfo()
- * @generated
- */
- void setTagConvertInfo(TagConvertInfo value);
-
- /**
- * Returns the value of the '<em><b>Tag Decorate Infos</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Tag Decorate Infos</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Tag Decorate Infos</em>' containment reference list.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getDTInfo_TagDecorateInfos()
- * @model type="org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.provisional.TagDecorateInfo" containment="true"
- * extendedMetaData="kind='element' name='tag-decorate-info'"
- * @generated
- */
- EList getTagDecorateInfos();
-
-} // DTInfo
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoFactory.java
deleted file mode 100644
index 25771262f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoFactory.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage
- * @generated
- */
-public interface DTInfoFactory extends EFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- DTInfoFactory eINSTANCE = org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>DT Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>DT Info</em>'.
- * @generated
- */
- DTInfo createDTInfo();
-
- /**
- * Returns a new object of class '<em>Tag Convert Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Convert Info</em>'.
- * @generated
- */
- TagConvertInfo createTagConvertInfo();
-
- /**
- * Returns a new object of class '<em>Operation</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Operation</em>'.
- * @generated
- */
- Operation createOperation();
-
- /**
- * Returns a new object of class '<em>Parameter</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Parameter</em>'.
- * @generated
- */
- Parameter createParameter();
-
- /**
- * Returns a new object of class '<em>Tag Decorate Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Tag Decorate Info</em>'.
- * @generated
- */
- TagDecorateInfo createTagDecorateInfo();
-
- /**
- * Returns a new object of class '<em>Resolve Attribute Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Resolve Attribute Value</em>'.
- * @generated
- */
- ResolveAttributeValue createResolveAttributeValue();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- DTInfoPackage getDTInfoPackage();
-
-} //DTInfoFactory
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoPackage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoPackage.java
deleted file mode 100644
index c42846eaa..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/DTInfoPackage.java
+++ /dev/null
@@ -1,892 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoFactory
- * @model kind="package"
- * @generated
- */
-public interface DTInfoPackage extends EPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "dtinfo"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://org.eclipse.jsf.pagedesigner/dtinfo.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "dti"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- DTInfoPackage eINSTANCE = org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl <em>DT Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getDTInfo()
- * @generated
- */
- int DT_INFO = 0;
-
- /**
- * The feature id for the '<em><b>Tag Convert Info</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DT_INFO__TAG_CONVERT_INFO = 0;
-
- /**
- * The feature id for the '<em><b>Tag Decorate Infos</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DT_INFO__TAG_DECORATE_INFOS = 1;
-
- /**
- * The number of structural features of the '<em>DT Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DT_INFO_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagConvertInfoImpl <em>Tag Convert Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagConvertInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getTagConvertInfo()
- * @generated
- */
- int TAG_CONVERT_INFO = 1;
-
- /**
- * The feature id for the '<em><b>Operations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CONVERT_INFO__OPERATIONS = 0;
-
- /**
- * The number of structural features of the '<em>Tag Convert Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_CONVERT_INFO_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl <em>Operation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getOperation()
- * @generated
- */
- int OPERATION = 2;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OPERATION__ID = 0;
-
- /**
- * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OPERATION__PARAMETERS = 1;
-
- /**
- * The feature id for the '<em><b>Operations</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OPERATION__OPERATIONS = 2;
-
- /**
- * The number of structural features of the '<em>Operation</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int OPERATION_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ParameterImpl <em>Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ParameterImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getParameter()
- * @generated
- */
- int PARAMETER = 3;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER__VALUE = 0;
-
- /**
- * The number of structural features of the '<em>Parameter</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int PARAMETER_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl <em>Tag Decorate Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getTagDecorateInfo()
- * @generated
- */
- int TAG_DECORATE_INFO = 4;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__ID = 0;
-
- /**
- * The feature id for the '<em><b>Min Height</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__MIN_HEIGHT = 1;
-
- /**
- * The feature id for the '<em><b>Min Width</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__MIN_WIDTH = 2;
-
- /**
- * The feature id for the '<em><b>Multi Level</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__MULTI_LEVEL = 3;
-
- /**
- * The feature id for the '<em><b>Need Border Decorator</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__NEED_BORDER_DECORATOR = 4;
-
- /**
- * The feature id for the '<em><b>Need Table Decorator</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__NEED_TABLE_DECORATOR = 5;
-
- /**
- * The feature id for the '<em><b>Non Visual</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__NON_VISUAL = 6;
-
- /**
- * The feature id for the '<em><b>Non Visual Image Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH = 7;
-
- /**
- * The feature id for the '<em><b>Resolve Child Text</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT = 8;
-
- /**
- * The feature id for the '<em><b>Resolve Attribute Value</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE = 9;
-
- /**
- * The feature id for the '<em><b>Set Non Visual Child Elements</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS = 10;
-
- /**
- * The feature id for the '<em><b>Widget</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO__WIDGET = 11;
-
- /**
- * The number of structural features of the '<em>Tag Decorate Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int TAG_DECORATE_INFO_FEATURE_COUNT = 12;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ResolveAttributeValueImpl <em>Resolve Attribute Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ResolveAttributeValueImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getResolveAttributeValue()
- * @generated
- */
- int RESOLVE_ATTRIBUTE_VALUE = 5;
-
- /**
- * The feature id for the '<em><b>Attribute Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME = 0;
-
- /**
- * The number of structural features of the '<em>Resolve Attribute Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOLVE_ATTRIBUTE_VALUE_FEATURE_COUNT = 1;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo <em>DT Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>DT Info</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo
- * @generated
- */
- EClass getDTInfo();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagConvertInfo <em>Tag Convert Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Tag Convert Info</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagConvertInfo()
- * @see #getDTInfo()
- * @generated
- */
- EReference getDTInfo_TagConvertInfo();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagDecorateInfos <em>Tag Decorate Infos</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Tag Decorate Infos</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo#getTagDecorateInfos()
- * @see #getDTInfo()
- * @generated
- */
- EReference getDTInfo_TagDecorateInfos();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo <em>Tag Convert Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Convert Info</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo
- * @generated
- */
- EClass getTagConvertInfo();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo#getOperations <em>Operations</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Operations</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo#getOperations()
- * @see #getTagConvertInfo()
- * @generated
- */
- EReference getTagConvertInfo_Operations();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation <em>Operation</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Operation</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation
- * @generated
- */
- EClass getOperation();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getId()
- * @see #getOperation()
- * @generated
- */
- EAttribute getOperation_Id();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getParameters <em>Parameters</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Parameters</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getParameters()
- * @see #getOperation()
- * @generated
- */
- EReference getOperation_Parameters();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getOperations <em>Operations</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Operations</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getOperations()
- * @see #getOperation()
- * @generated
- */
- EReference getOperation_Operations();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter <em>Parameter</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Parameter</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter
- * @generated
- */
- EClass getParameter();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter#getValue <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter#getValue()
- * @see #getParameter()
- * @generated
- */
- EAttribute getParameter_Value();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo <em>Tag Decorate Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Tag Decorate Info</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo
- * @generated
- */
- EClass getTagDecorateInfo();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getId()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_Id();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinHeight <em>Min Height</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Min Height</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinHeight()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_MinHeight();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinWidth <em>Min Width</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Min Width</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinWidth()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_MinWidth();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isMultiLevel <em>Multi Level</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Multi Level</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isMultiLevel()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_MultiLevel();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedBorderDecorator <em>Need Border Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Need Border Decorator</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedBorderDecorator()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_NeedBorderDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedTableDecorator <em>Need Table Decorator</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Need Table Decorator</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedTableDecorator()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_NeedTableDecorator();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNonVisual <em>Non Visual</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Non Visual</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNonVisual()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_NonVisual();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getNonVisualImagePath <em>Non Visual Image Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Non Visual Image Path</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getNonVisualImagePath()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_NonVisualImagePath();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isResolveChildText <em>Resolve Child Text</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Resolve Child Text</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isResolveChildText()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_ResolveChildText();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getResolveAttributeValue <em>Resolve Attribute Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Resolve Attribute Value</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getResolveAttributeValue()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EReference getTagDecorateInfo_ResolveAttributeValue();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isSetNonVisualChildElements <em>Set Non Visual Child Elements</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Set Non Visual Child Elements</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isSetNonVisualChildElements()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_SetNonVisualChildElements();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isWidget <em>Widget</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Widget</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isWidget()
- * @see #getTagDecorateInfo()
- * @generated
- */
- EAttribute getTagDecorateInfo_Widget();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue <em>Resolve Attribute Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Resolve Attribute Value</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue
- * @generated
- */
- EClass getResolveAttributeValue();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue#getAttributeName <em>Attribute Name</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Attribute Name</em>'.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue#getAttributeName()
- * @see #getResolveAttributeValue()
- * @generated
- */
- EAttribute getResolveAttributeValue_AttributeName();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- DTInfoFactory getDTInfoFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("hiding")
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl <em>DT Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getDTInfo()
- * @generated
- */
- EClass DT_INFO = eINSTANCE.getDTInfo();
-
- /**
- * The meta object literal for the '<em><b>Tag Convert Info</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DT_INFO__TAG_CONVERT_INFO = eINSTANCE.getDTInfo_TagConvertInfo();
-
- /**
- * The meta object literal for the '<em><b>Tag Decorate Infos</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DT_INFO__TAG_DECORATE_INFOS = eINSTANCE.getDTInfo_TagDecorateInfos();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagConvertInfoImpl <em>Tag Convert Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagConvertInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getTagConvertInfo()
- * @generated
- */
- EClass TAG_CONVERT_INFO = eINSTANCE.getTagConvertInfo();
-
- /**
- * The meta object literal for the '<em><b>Operations</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_CONVERT_INFO__OPERATIONS = eINSTANCE.getTagConvertInfo_Operations();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl <em>Operation</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getOperation()
- * @generated
- */
- EClass OPERATION = eINSTANCE.getOperation();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute OPERATION__ID = eINSTANCE.getOperation_Id();
-
- /**
- * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference OPERATION__PARAMETERS = eINSTANCE.getOperation_Parameters();
-
- /**
- * The meta object literal for the '<em><b>Operations</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference OPERATION__OPERATIONS = eINSTANCE.getOperation_Operations();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ParameterImpl <em>Parameter</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ParameterImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getParameter()
- * @generated
- */
- EClass PARAMETER = eINSTANCE.getParameter();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl <em>Tag Decorate Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getTagDecorateInfo()
- * @generated
- */
- EClass TAG_DECORATE_INFO = eINSTANCE.getTagDecorateInfo();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__ID = eINSTANCE.getTagDecorateInfo_Id();
-
- /**
- * The meta object literal for the '<em><b>Min Height</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__MIN_HEIGHT = eINSTANCE.getTagDecorateInfo_MinHeight();
-
- /**
- * The meta object literal for the '<em><b>Min Width</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__MIN_WIDTH = eINSTANCE.getTagDecorateInfo_MinWidth();
-
- /**
- * The meta object literal for the '<em><b>Multi Level</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__MULTI_LEVEL = eINSTANCE.getTagDecorateInfo_MultiLevel();
-
- /**
- * The meta object literal for the '<em><b>Need Border Decorator</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__NEED_BORDER_DECORATOR = eINSTANCE.getTagDecorateInfo_NeedBorderDecorator();
-
- /**
- * The meta object literal for the '<em><b>Need Table Decorator</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__NEED_TABLE_DECORATOR = eINSTANCE.getTagDecorateInfo_NeedTableDecorator();
-
- /**
- * The meta object literal for the '<em><b>Non Visual</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__NON_VISUAL = eINSTANCE.getTagDecorateInfo_NonVisual();
-
- /**
- * The meta object literal for the '<em><b>Non Visual Image Path</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH = eINSTANCE.getTagDecorateInfo_NonVisualImagePath();
-
- /**
- * The meta object literal for the '<em><b>Resolve Child Text</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT = eINSTANCE.getTagDecorateInfo_ResolveChildText();
-
- /**
- * The meta object literal for the '<em><b>Resolve Attribute Value</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE = eINSTANCE.getTagDecorateInfo_ResolveAttributeValue();
-
- /**
- * The meta object literal for the '<em><b>Set Non Visual Child Elements</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS = eINSTANCE.getTagDecorateInfo_SetNonVisualChildElements();
-
- /**
- * The meta object literal for the '<em><b>Widget</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute TAG_DECORATE_INFO__WIDGET = eINSTANCE.getTagDecorateInfo_Widget();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ResolveAttributeValueImpl <em>Resolve Attribute Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ResolveAttributeValueImpl
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoPackageImpl#getResolveAttributeValue()
- * @generated
- */
- EClass RESOLVE_ATTRIBUTE_VALUE = eINSTANCE.getResolveAttributeValue();
-
- /**
- * The meta object literal for the '<em><b>Attribute Name</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME = eINSTANCE.getResolveAttributeValue_AttributeName();
-
- }
-
-} //DTInfoPackage
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Operation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Operation.java
deleted file mode 100644
index 4377cc0d0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Operation.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Operation</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getParameters <em>Parameters</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getOperations <em>Operations</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getOperation()
- * @model
- * @generated
- */
-public interface Operation extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getOperation_Id()
- * @model id="true" required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Parameters</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Parameters</em>' containment reference list.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getOperation_Parameters()
- * @model type="org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.provisional.Parameter" containment="true"
- * extendedMetaData="kind='element' name='parameter'"
- * @generated
- */
- EList getParameters();
-
- /**
- * Returns the value of the '<em><b>Operations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Operations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Operations</em>' containment reference list.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getOperation_Operations()
- * @model type="org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.provisional.Operation" containment="true"
- * extendedMetaData="kind='element' name='operation'"
- * @generated
- */
- EList getOperations();
-
-} // Operation
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Parameter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Parameter.java
deleted file mode 100644
index 312a2974e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/Parameter.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Parameter</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getParameter()
- * @model
- * @generated
- */
-public interface Parameter extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Value</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Value</em>' attribute.
- * @see #setValue(String)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getParameter_Value()
- * @model required="true"
- * @generated
- */
- String getValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter#getValue <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Value</em>' attribute.
- * @see #getValue()
- * @generated
- */
- void setValue(String value);
-
-} // Parameter
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/ResolveAttributeValue.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/ResolveAttributeValue.java
deleted file mode 100644
index 07a4271ba..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/ResolveAttributeValue.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Resolve Attribute Value</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue#getAttributeName <em>Attribute Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getResolveAttributeValue()
- * @model
- * @generated
- */
-public interface ResolveAttributeValue extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Attribute Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Attribute Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Attribute Name</em>' attribute.
- * @see #setAttributeName(String)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getResolveAttributeValue_AttributeName()
- * @model required="true"
- * @generated
- */
- String getAttributeName();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue#getAttributeName <em>Attribute Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Attribute Name</em>' attribute.
- * @see #getAttributeName()
- * @generated
- */
- void setAttributeName(String value);
-
-} // ResolveAttributeValue
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagConvertInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagConvertInfo.java
deleted file mode 100644
index 0f0049c64..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagConvertInfo.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Convert Info</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo#getOperations <em>Operations</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagConvertInfo()
- * @model
- * @generated
- */
-public interface TagConvertInfo extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Operations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Operations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Operations</em>' containment reference list.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagConvertInfo_Operations()
- * @model type="org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.provisional.Operation" containment="true"
- * extendedMetaData="kind='element' name='operation'"
- * @generated
- */
- EList getOperations();
-
-} // TagConvertInfo
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagDecorateInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagDecorateInfo.java
deleted file mode 100644
index 726e23799..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/TagDecorateInfo.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Tag Decorate Info</b></em>'.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinHeight <em>Min Height</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinWidth <em>Min Width</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isMultiLevel <em>Multi Level</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedBorderDecorator <em>Need Border Decorator</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedTableDecorator <em>Need Table Decorator</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNonVisual <em>Non Visual</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getNonVisualImagePath <em>Non Visual Image Path</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isResolveChildText <em>Resolve Child Text</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getResolveAttributeValue <em>Resolve Attribute Value</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isSetNonVisualChildElements <em>Set Non Visual Child Elements</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isWidget <em>Widget</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo()
- * @model
- * @generated
- */
-public interface TagDecorateInfo extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_Id()
- * @model id="true" required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Min Height</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Min Height</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Min Height</em>' attribute.
- * @see #setMinHeight(int)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_MinHeight()
- * @model
- * @generated
- */
- int getMinHeight();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinHeight <em>Min Height</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Min Height</em>' attribute.
- * @see #getMinHeight()
- * @generated
- */
- void setMinHeight(int value);
-
- /**
- * Returns the value of the '<em><b>Min Width</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Min Width</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Min Width</em>' attribute.
- * @see #setMinWidth(int)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_MinWidth()
- * @model
- * @generated
- */
- int getMinWidth();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getMinWidth <em>Min Width</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Min Width</em>' attribute.
- * @see #getMinWidth()
- * @generated
- */
- void setMinWidth(int value);
-
- /**
- * Returns the value of the '<em><b>Multi Level</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Multi Level</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Multi Level</em>' attribute.
- * @see #setMultiLevel(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_MultiLevel()
- * @model default="false"
- * @generated
- */
- boolean isMultiLevel();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isMultiLevel <em>Multi Level</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Multi Level</em>' attribute.
- * @see #isMultiLevel()
- * @generated
- */
- void setMultiLevel(boolean value);
-
- /**
- * Returns the value of the '<em><b>Need Border Decorator</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Need Border Decorator</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Need Border Decorator</em>' attribute.
- * @see #setNeedBorderDecorator(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_NeedBorderDecorator()
- * @model default="false"
- * @generated
- */
- boolean isNeedBorderDecorator();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedBorderDecorator <em>Need Border Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Need Border Decorator</em>' attribute.
- * @see #isNeedBorderDecorator()
- * @generated
- */
- void setNeedBorderDecorator(boolean value);
-
- /**
- * Returns the value of the '<em><b>Need Table Decorator</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Need Table Decorator</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Need Table Decorator</em>' attribute.
- * @see #setNeedTableDecorator(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_NeedTableDecorator()
- * @model default="false"
- * @generated
- */
- boolean isNeedTableDecorator();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNeedTableDecorator <em>Need Table Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Need Table Decorator</em>' attribute.
- * @see #isNeedTableDecorator()
- * @generated
- */
- void setNeedTableDecorator(boolean value);
-
- /**
- * Returns the value of the '<em><b>Non Visual</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Non Visual</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Non Visual</em>' attribute.
- * @see #setNonVisual(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_NonVisual()
- * @model default="false"
- * @generated
- */
- boolean isNonVisual();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isNonVisual <em>Non Visual</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Non Visual</em>' attribute.
- * @see #isNonVisual()
- * @generated
- */
- void setNonVisual(boolean value);
-
- /**
- * Returns the value of the '<em><b>Non Visual Image Path</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Non Visual Image Path</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Non Visual Image Path</em>' attribute.
- * @see #setNonVisualImagePath(String)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_NonVisualImagePath()
- * @model
- * @generated
- */
- String getNonVisualImagePath();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getNonVisualImagePath <em>Non Visual Image Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Non Visual Image Path</em>' attribute.
- * @see #getNonVisualImagePath()
- * @generated
- */
- void setNonVisualImagePath(String value);
-
- /**
- * Returns the value of the '<em><b>Resolve Child Text</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Resolve Child Text</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Resolve Child Text</em>' attribute.
- * @see #setResolveChildText(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_ResolveChildText()
- * @model default="false"
- * @generated
- */
- boolean isResolveChildText();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isResolveChildText <em>Resolve Child Text</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Resolve Child Text</em>' attribute.
- * @see #isResolveChildText()
- * @generated
- */
- void setResolveChildText(boolean value);
-
- /**
- * Returns the value of the '<em><b>Resolve Attribute Value</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Resolve Attribute Value</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Resolve Attribute Value</em>' containment reference.
- * @see #setResolveAttributeValue(ResolveAttributeValue)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_ResolveAttributeValue()
- * @model containment="true"
- * extendedMetaData="kind='element' name='resolve-attribute-value'"
- * @generated
- */
- ResolveAttributeValue getResolveAttributeValue();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#getResolveAttributeValue <em>Resolve Attribute Value</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Resolve Attribute Value</em>' containment reference.
- * @see #getResolveAttributeValue()
- * @generated
- */
- void setResolveAttributeValue(ResolveAttributeValue value);
-
- /**
- * Returns the value of the '<em><b>Set Non Visual Child Elements</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Set Non Visual Child Elements</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Set Non Visual Child Elements</em>' attribute.
- * @see #setSetNonVisualChildElements(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_SetNonVisualChildElements()
- * @model default="false"
- * @generated
- */
- boolean isSetNonVisualChildElements();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isSetNonVisualChildElements <em>Set Non Visual Child Elements</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Set Non Visual Child Elements</em>' attribute.
- * @see #isSetNonVisualChildElements()
- * @generated
- */
- void setSetNonVisualChildElements(boolean value);
-
- /**
- * Returns the value of the '<em><b>Widget</b></em>' attribute.
- * The default value is <code>"false"</code>.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Widget</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Widget</em>' attribute.
- * @see #setWidget(boolean)
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#getTagDecorateInfo_Widget()
- * @model default="false"
- * @generated
- */
- boolean isWidget();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo#isWidget <em>Widget</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Widget</em>' attribute.
- * @see #isWidget()
- * @generated
- */
- void setWidget(boolean value);
-
-} // TagDecorateInfo
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoFactoryImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoFactoryImpl.java
deleted file mode 100644
index 32c888ca9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoFactoryImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class DTInfoFactoryImpl extends EFactoryImpl implements DTInfoFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * @return the factory
- * <!-- end-user-doc -->
- * @generated
- */
- public static DTInfoFactory init() {
- try {
- DTInfoFactory theDTInfoFactory = (DTInfoFactory)EPackage.Registry.INSTANCE.getEFactory("http://org.eclipse.jsf.pagedesigner/dtinfo.ecore"); //$NON-NLS-1$
- if (theDTInfoFactory != null) {
- return theDTInfoFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new DTInfoFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfoFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case DTInfoPackage.DT_INFO: return createDTInfo();
- case DTInfoPackage.TAG_CONVERT_INFO: return createTagConvertInfo();
- case DTInfoPackage.OPERATION: return createOperation();
- case DTInfoPackage.PARAMETER: return createParameter();
- case DTInfoPackage.TAG_DECORATE_INFO: return createTagDecorateInfo();
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE: return createResolveAttributeValue();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfo createDTInfo() {
- DTInfoImpl dtInfo = new DTInfoImpl();
- return dtInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagConvertInfo createTagConvertInfo() {
- TagConvertInfoImpl tagConvertInfo = new TagConvertInfoImpl();
- return tagConvertInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Operation createOperation() {
- OperationImpl operation = new OperationImpl();
- return operation;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Parameter createParameter() {
- ParameterImpl parameter = new ParameterImpl();
- return parameter;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagDecorateInfo createTagDecorateInfo() {
- TagDecorateInfoImpl tagDecorateInfo = new TagDecorateInfoImpl();
- return tagDecorateInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ResolveAttributeValue createResolveAttributeValue() {
- ResolveAttributeValueImpl resolveAttributeValue = new ResolveAttributeValueImpl();
- return resolveAttributeValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfoPackage getDTInfoPackage() {
- return (DTInfoPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the package
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- public static DTInfoPackage getPackage() {
- return DTInfoPackage.eINSTANCE;
- }
-
-} //DTInfoFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoImpl.java
deleted file mode 100644
index d4533a445..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoImpl.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>DT Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl#getTagConvertInfo <em>Tag Convert Info</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.DTInfoImpl#getTagDecorateInfos <em>Tag Decorate Infos</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DTInfoImpl extends EObjectImpl implements DTInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getTagConvertInfo() <em>Tag Convert Info</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTagConvertInfo()
- * @generated
- * @ordered
- */
- protected TagConvertInfo tagConvertInfo;
-
- /**
- * The cached value of the '{@link #getTagDecorateInfos() <em>Tag Decorate Infos</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTagDecorateInfos()
- * @generated
- * @ordered
- */
- protected EList tagDecorateInfos;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DTInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.DT_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TagConvertInfo getTagConvertInfo() {
- return tagConvertInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newTagConvertInfo
- * @param msgs
- * @return the notification chaing
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetTagConvertInfo(TagConvertInfo newTagConvertInfo, NotificationChain msgs) {
- TagConvertInfo oldTagConvertInfo = tagConvertInfo;
- tagConvertInfo = newTagConvertInfo;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DTInfoPackage.DT_INFO__TAG_CONVERT_INFO, oldTagConvertInfo, newTagConvertInfo);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setTagConvertInfo(TagConvertInfo newTagConvertInfo) {
- if (newTagConvertInfo != tagConvertInfo) {
- NotificationChain msgs = null;
- if (tagConvertInfo != null)
- msgs = ((InternalEObject)tagConvertInfo).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DTInfoPackage.DT_INFO__TAG_CONVERT_INFO, null, msgs);
- if (newTagConvertInfo != null)
- msgs = ((InternalEObject)newTagConvertInfo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DTInfoPackage.DT_INFO__TAG_CONVERT_INFO, null, msgs);
- msgs = basicSetTagConvertInfo(newTagConvertInfo, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.DT_INFO__TAG_CONVERT_INFO, newTagConvertInfo, newTagConvertInfo));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getTagDecorateInfos() {
- if (tagDecorateInfos == null) {
- tagDecorateInfos = new EObjectContainmentEList(TagDecorateInfo.class, this, DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS);
- }
- return tagDecorateInfos;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case DTInfoPackage.DT_INFO__TAG_CONVERT_INFO:
- return basicSetTagConvertInfo(null, msgs);
- case DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS:
- return ((InternalEList)getTagDecorateInfos()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.DT_INFO__TAG_CONVERT_INFO:
- return getTagConvertInfo();
- case DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS:
- return getTagDecorateInfos();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.DT_INFO__TAG_CONVERT_INFO:
- setTagConvertInfo((TagConvertInfo)newValue);
- return;
- case DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS:
- getTagDecorateInfos().clear();
- getTagDecorateInfos().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.DT_INFO__TAG_CONVERT_INFO:
- setTagConvertInfo((TagConvertInfo)null);
- return;
- case DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS:
- getTagDecorateInfos().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.DT_INFO__TAG_CONVERT_INFO:
- return tagConvertInfo != null;
- case DTInfoPackage.DT_INFO__TAG_DECORATE_INFOS:
- return tagDecorateInfos != null && !tagDecorateInfos.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //DTInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoPackageImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoPackageImpl.java
deleted file mode 100644
index 9fa791f84..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/DTInfoPackageImpl.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoFactory;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class DTInfoPackageImpl extends EPackageImpl implements DTInfoPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass dtInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagConvertInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass operationEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass parameterEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass tagDecorateInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass resolveAttributeValueEClass = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private DTInfoPackageImpl() {
- super(eNS_URI, DTInfoFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static DTInfoPackage init() {
- if (isInited) return (DTInfoPackage)EPackage.Registry.INSTANCE.getEPackage(DTInfoPackage.eNS_URI);
-
- // Obtain or create and register package
- DTInfoPackageImpl theDTInfoPackage = (DTInfoPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof DTInfoPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new DTInfoPackageImpl());
-
- isInited = true;
-
- // Create package meta-data objects
- theDTInfoPackage.createPackageContents();
-
- // Initialize created meta-data
- theDTInfoPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theDTInfoPackage.freeze();
-
- return theDTInfoPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getDTInfo() {
- return dtInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getDTInfo_TagConvertInfo() {
- return (EReference)dtInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getDTInfo_TagDecorateInfos() {
- return (EReference)dtInfoEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagConvertInfo() {
- return tagConvertInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagConvertInfo_Operations() {
- return (EReference)tagConvertInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getOperation() {
- return operationEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getOperation_Id() {
- return (EAttribute)operationEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getOperation_Parameters() {
- return (EReference)operationEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getOperation_Operations() {
- return (EReference)operationEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getParameter() {
- return parameterEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getParameter_Value() {
- return (EAttribute)parameterEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getTagDecorateInfo() {
- return tagDecorateInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_Id() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_MinHeight() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_MinWidth() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_MultiLevel() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_NeedBorderDecorator() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_NeedTableDecorator() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_NonVisual() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_NonVisualImagePath() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_ResolveChildText() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getTagDecorateInfo_ResolveAttributeValue() {
- return (EReference)tagDecorateInfoEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_SetNonVisualChildElements() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(10);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getTagDecorateInfo_Widget() {
- return (EAttribute)tagDecorateInfoEClass.getEStructuralFeatures().get(11);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getResolveAttributeValue() {
- return resolveAttributeValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getResolveAttributeValue_AttributeName() {
- return (EAttribute)resolveAttributeValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfoFactory getDTInfoFactory() {
- return (DTInfoFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- dtInfoEClass = createEClass(DT_INFO);
- createEReference(dtInfoEClass, DT_INFO__TAG_CONVERT_INFO);
- createEReference(dtInfoEClass, DT_INFO__TAG_DECORATE_INFOS);
-
- tagConvertInfoEClass = createEClass(TAG_CONVERT_INFO);
- createEReference(tagConvertInfoEClass, TAG_CONVERT_INFO__OPERATIONS);
-
- operationEClass = createEClass(OPERATION);
- createEAttribute(operationEClass, OPERATION__ID);
- createEReference(operationEClass, OPERATION__PARAMETERS);
- createEReference(operationEClass, OPERATION__OPERATIONS);
-
- parameterEClass = createEClass(PARAMETER);
- createEAttribute(parameterEClass, PARAMETER__VALUE);
-
- tagDecorateInfoEClass = createEClass(TAG_DECORATE_INFO);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__ID);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__MIN_HEIGHT);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__MIN_WIDTH);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__MULTI_LEVEL);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__NEED_BORDER_DECORATOR);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__NEED_TABLE_DECORATOR);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__NON_VISUAL);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT);
- createEReference(tagDecorateInfoEClass, TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS);
- createEAttribute(tagDecorateInfoEClass, TAG_DECORATE_INFO__WIDGET);
-
- resolveAttributeValueEClass = createEClass(RESOLVE_ATTRIBUTE_VALUE);
- createEAttribute(resolveAttributeValueEClass, RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Add supertypes to classes
-
- // Initialize classes and features; add operations and parameters
- initEClass(dtInfoEClass, DTInfo.class, "DTInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getDTInfo_TagConvertInfo(), this.getTagConvertInfo(), null, "tagConvertInfo", null, 1, 1, DTInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getDTInfo_TagDecorateInfos(), this.getTagDecorateInfo(), null, "tagDecorateInfos", null, 0, -1, DTInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagConvertInfoEClass, TagConvertInfo.class, "TagConvertInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getTagConvertInfo_Operations(), this.getOperation(), null, "operations", null, 0, -1, TagConvertInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getOperation_Id(), ecorePackage.getEString(), "id", null, 1, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getOperation_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getOperation_Operations(), this.getOperation(), null, "operations", null, 0, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getParameter_Value(), ecorePackage.getEString(), "value", null, 1, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(tagDecorateInfoEClass, TagDecorateInfo.class, "TagDecorateInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_Id(), ecorePackage.getEString(), "id", null, 1, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_MinHeight(), ecorePackage.getEInt(), "minHeight", null, 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_MinWidth(), ecorePackage.getEInt(), "minWidth", null, 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_MultiLevel(), ecorePackage.getEBoolean(), "multiLevel", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagDecorateInfo_NeedBorderDecorator(), ecorePackage.getEBoolean(), "needBorderDecorator", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagDecorateInfo_NeedTableDecorator(), ecorePackage.getEBoolean(), "needTableDecorator", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagDecorateInfo_NonVisual(), ecorePackage.getEBoolean(), "nonVisual", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagDecorateInfo_NonVisualImagePath(), ecorePackage.getEString(), "nonVisualImagePath", null, 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_ResolveChildText(), ecorePackage.getEBoolean(), "resolveChildText", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEReference(getTagDecorateInfo_ResolveAttributeValue(), this.getResolveAttributeValue(), null, "resolveAttributeValue", null, 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getTagDecorateInfo_SetNonVisualChildElements(), ecorePackage.getEBoolean(), "setNonVisualChildElements", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
- initEAttribute(getTagDecorateInfo_Widget(), ecorePackage.getEBoolean(), "widget", "false", 0, 1, TagDecorateInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-
- initEClass(resolveAttributeValueEClass, ResolveAttributeValue.class, "ResolveAttributeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getResolveAttributeValue_AttributeName(), ecorePackage.getEString(), "attributeName", null, 1, 1, ResolveAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations() {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation
- (getDTInfo_TagConvertInfo(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "tag-convert-info" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getDTInfo_TagDecorateInfos(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "tag-decorate-info" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagConvertInfo_Operations(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "operation" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getOperation_Parameters(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "parameter" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getOperation_Operations(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "operation" //$NON-NLS-1$ //$NON-NLS-2$
- });
- addAnnotation
- (getTagDecorateInfo_ResolveAttributeValue(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "resolve-attribute-value" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} //DTInfoPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/OperationImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/OperationImpl.java
deleted file mode 100644
index 0edf24051..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/OperationImpl.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Operation</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl#getParameters <em>Parameters</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.OperationImpl#getOperations <em>Operations</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class OperationImpl extends EObjectImpl implements Operation {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getParameters()
- * @generated
- * @ordered
- */
- protected EList parameters;
-
- /**
- * The cached value of the '{@link #getOperations() <em>Operations</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperations()
- * @generated
- * @ordered
- */
- protected EList operations;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected OperationImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.OPERATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.OPERATION__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getParameters() {
- if (parameters == null) {
- parameters = new EObjectContainmentEList(Parameter.class, this, DTInfoPackage.OPERATION__PARAMETERS);
- }
- return parameters;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getOperations() {
- if (operations == null) {
- operations = new EObjectContainmentEList(Operation.class, this, DTInfoPackage.OPERATION__OPERATIONS);
- }
- return operations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case DTInfoPackage.OPERATION__PARAMETERS:
- return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs);
- case DTInfoPackage.OPERATION__OPERATIONS:
- return ((InternalEList)getOperations()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.OPERATION__ID:
- return getId();
- case DTInfoPackage.OPERATION__PARAMETERS:
- return getParameters();
- case DTInfoPackage.OPERATION__OPERATIONS:
- return getOperations();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.OPERATION__ID:
- setId((String)newValue);
- return;
- case DTInfoPackage.OPERATION__PARAMETERS:
- getParameters().clear();
- getParameters().addAll((Collection)newValue);
- return;
- case DTInfoPackage.OPERATION__OPERATIONS:
- getOperations().clear();
- getOperations().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.OPERATION__ID:
- setId(ID_EDEFAULT);
- return;
- case DTInfoPackage.OPERATION__PARAMETERS:
- getParameters().clear();
- return;
- case DTInfoPackage.OPERATION__OPERATIONS:
- getOperations().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.OPERATION__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case DTInfoPackage.OPERATION__PARAMETERS:
- return parameters != null && !parameters.isEmpty();
- case DTInfoPackage.OPERATION__OPERATIONS:
- return operations != null && !operations.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: "); //$NON-NLS-1$
- result.append(id);
- result.append(')');
- return result.toString();
- }
-
-} //OperationImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ParameterImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ParameterImpl.java
deleted file mode 100644
index 2d6d389d3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ParameterImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Parameter</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ParameterImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ParameterImpl extends EObjectImpl implements Parameter {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected static final String VALUE_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getValue()
- * @generated
- * @ordered
- */
- protected String value = VALUE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ParameterImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.PARAMETER;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setValue(String newValue) {
- String oldValue = value;
- value = newValue;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.PARAMETER__VALUE, oldValue, value));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.PARAMETER__VALUE:
- return getValue();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.PARAMETER__VALUE:
- setValue((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.PARAMETER__VALUE:
- setValue(VALUE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.PARAMETER__VALUE:
- return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (value: "); //$NON-NLS-1$
- result.append(value);
- result.append(')');
- return result.toString();
- }
-
-} //ParameterImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ResolveAttributeValueImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ResolveAttributeValueImpl.java
deleted file mode 100644
index 6596a563a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/ResolveAttributeValueImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Resolve Attribute Value</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.ResolveAttributeValueImpl#getAttributeName <em>Attribute Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ResolveAttributeValueImpl extends EObjectImpl implements ResolveAttributeValue {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getAttributeName() <em>Attribute Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAttributeName()
- * @generated
- * @ordered
- */
- protected static final String ATTRIBUTE_NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getAttributeName() <em>Attribute Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getAttributeName()
- * @generated
- * @ordered
- */
- protected String attributeName = ATTRIBUTE_NAME_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ResolveAttributeValueImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.RESOLVE_ATTRIBUTE_VALUE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getAttributeName() {
- return attributeName;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setAttributeName(String newAttributeName) {
- String oldAttributeName = attributeName;
- attributeName = newAttributeName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME, oldAttributeName, attributeName));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME:
- return getAttributeName();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME:
- setAttributeName((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME:
- setAttributeName(ATTRIBUTE_NAME_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE__ATTRIBUTE_NAME:
- return ATTRIBUTE_NAME_EDEFAULT == null ? attributeName != null : !ATTRIBUTE_NAME_EDEFAULT.equals(attributeName);
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (attributeName: "); //$NON-NLS-1$
- result.append(attributeName);
- result.append(')');
- return result.toString();
- }
-
-} //ResolveAttributeValueImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagConvertInfoImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagConvertInfoImpl.java
deleted file mode 100644
index c124dcb3c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagConvertInfoImpl.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Convert Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagConvertInfoImpl#getOperations <em>Operations</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagConvertInfoImpl extends EObjectImpl implements TagConvertInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getOperations() <em>Operations</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOperations()
- * @generated
- * @ordered
- */
- protected EList operations;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagConvertInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.TAG_CONVERT_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList getOperations() {
- if (operations == null) {
- operations = new EObjectContainmentEList(Operation.class, this, DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS);
- }
- return operations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS:
- return ((InternalEList)getOperations()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS:
- return getOperations();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS:
- getOperations().clear();
- getOperations().addAll((Collection)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS:
- getOperations().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.TAG_CONVERT_INFO__OPERATIONS:
- return operations != null && !operations.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //TagConvertInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagDecorateInfoImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagDecorateInfoImpl.java
deleted file mode 100644
index 656759a36..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/impl/TagDecorateInfoImpl.java
+++ /dev/null
@@ -1,791 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue;
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Tag Decorate Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#getMinHeight <em>Min Height</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#getMinWidth <em>Min Width</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isMultiLevel <em>Multi Level</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isNeedBorderDecorator <em>Need Border Decorator</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isNeedTableDecorator <em>Need Table Decorator</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isNonVisual <em>Non Visual</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#getNonVisualImagePath <em>Non Visual Image Path</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isResolveChildText <em>Resolve Child Text</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#getResolveAttributeValue <em>Resolve Attribute Value</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isSetNonVisualChildElements <em>Set Non Visual Child Elements</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl.TagDecorateInfoImpl#isWidget <em>Widget</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TagDecorateInfoImpl extends EObjectImpl implements TagDecorateInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getMinHeight() <em>Min Height</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinHeight()
- * @generated
- * @ordered
- */
- protected static final int MIN_HEIGHT_EDEFAULT = 0;
-
- /**
- * The cached value of the '{@link #getMinHeight() <em>Min Height</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinHeight()
- * @generated
- * @ordered
- */
- protected int minHeight = MIN_HEIGHT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getMinWidth() <em>Min Width</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinWidth()
- * @generated
- * @ordered
- */
- protected static final int MIN_WIDTH_EDEFAULT = 0;
-
- /**
- * The cached value of the '{@link #getMinWidth() <em>Min Width</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getMinWidth()
- * @generated
- * @ordered
- */
- protected int minWidth = MIN_WIDTH_EDEFAULT;
-
- /**
- * The default value of the '{@link #isMultiLevel() <em>Multi Level</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMultiLevel()
- * @generated
- * @ordered
- */
- protected static final boolean MULTI_LEVEL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isMultiLevel() <em>Multi Level</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isMultiLevel()
- * @generated
- * @ordered
- */
- protected boolean multiLevel = MULTI_LEVEL_EDEFAULT;
-
- /**
- * The default value of the '{@link #isNeedBorderDecorator() <em>Need Border Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNeedBorderDecorator()
- * @generated
- * @ordered
- */
- protected static final boolean NEED_BORDER_DECORATOR_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isNeedBorderDecorator() <em>Need Border Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNeedBorderDecorator()
- * @generated
- * @ordered
- */
- protected boolean needBorderDecorator = NEED_BORDER_DECORATOR_EDEFAULT;
-
- /**
- * The default value of the '{@link #isNeedTableDecorator() <em>Need Table Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNeedTableDecorator()
- * @generated
- * @ordered
- */
- protected static final boolean NEED_TABLE_DECORATOR_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isNeedTableDecorator() <em>Need Table Decorator</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNeedTableDecorator()
- * @generated
- * @ordered
- */
- protected boolean needTableDecorator = NEED_TABLE_DECORATOR_EDEFAULT;
-
- /**
- * The default value of the '{@link #isNonVisual() <em>Non Visual</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNonVisual()
- * @generated
- * @ordered
- */
- protected static final boolean NON_VISUAL_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isNonVisual() <em>Non Visual</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isNonVisual()
- * @generated
- * @ordered
- */
- protected boolean nonVisual = NON_VISUAL_EDEFAULT;
-
- /**
- * The default value of the '{@link #getNonVisualImagePath() <em>Non Visual Image Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNonVisualImagePath()
- * @generated
- * @ordered
- */
- protected static final String NON_VISUAL_IMAGE_PATH_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getNonVisualImagePath() <em>Non Visual Image Path</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getNonVisualImagePath()
- * @generated
- * @ordered
- */
- protected String nonVisualImagePath = NON_VISUAL_IMAGE_PATH_EDEFAULT;
-
- /**
- * The default value of the '{@link #isResolveChildText() <em>Resolve Child Text</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isResolveChildText()
- * @generated
- * @ordered
- */
- protected static final boolean RESOLVE_CHILD_TEXT_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isResolveChildText() <em>Resolve Child Text</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isResolveChildText()
- * @generated
- * @ordered
- */
- protected boolean resolveChildText = RESOLVE_CHILD_TEXT_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getResolveAttributeValue() <em>Resolve Attribute Value</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getResolveAttributeValue()
- * @generated
- * @ordered
- */
- protected ResolveAttributeValue resolveAttributeValue;
-
- /**
- * The default value of the '{@link #isSetNonVisualChildElements() <em>Set Non Visual Child Elements</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetNonVisualChildElements()
- * @generated
- * @ordered
- */
- protected static final boolean SET_NON_VISUAL_CHILD_ELEMENTS_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isSetNonVisualChildElements() <em>Set Non Visual Child Elements</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isSetNonVisualChildElements()
- * @generated
- * @ordered
- */
- protected boolean setNonVisualChildElements = SET_NON_VISUAL_CHILD_ELEMENTS_EDEFAULT;
-
- /**
- * The default value of the '{@link #isWidget() <em>Widget</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isWidget()
- * @generated
- * @ordered
- */
- protected static final boolean WIDGET_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isWidget() <em>Widget</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #isWidget()
- * @generated
- * @ordered
- */
- protected boolean widget = WIDGET_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TagDecorateInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected EClass eStaticClass() {
- return DTInfoPackage.Literals.TAG_DECORATE_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getMinHeight() {
- return minHeight;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMinHeight(int newMinHeight) {
- int oldMinHeight = minHeight;
- minHeight = newMinHeight;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__MIN_HEIGHT, oldMinHeight, minHeight));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getMinWidth() {
- return minWidth;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMinWidth(int newMinWidth) {
- int oldMinWidth = minWidth;
- minWidth = newMinWidth;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__MIN_WIDTH, oldMinWidth, minWidth));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isMultiLevel() {
- return multiLevel;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setMultiLevel(boolean newMultiLevel) {
- boolean oldMultiLevel = multiLevel;
- multiLevel = newMultiLevel;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__MULTI_LEVEL, oldMultiLevel, multiLevel));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isNeedBorderDecorator() {
- return needBorderDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNeedBorderDecorator(boolean newNeedBorderDecorator) {
- boolean oldNeedBorderDecorator = needBorderDecorator;
- needBorderDecorator = newNeedBorderDecorator;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__NEED_BORDER_DECORATOR, oldNeedBorderDecorator, needBorderDecorator));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isNeedTableDecorator() {
- return needTableDecorator;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNeedTableDecorator(boolean newNeedTableDecorator) {
- boolean oldNeedTableDecorator = needTableDecorator;
- needTableDecorator = newNeedTableDecorator;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__NEED_TABLE_DECORATOR, oldNeedTableDecorator, needTableDecorator));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isNonVisual() {
- return nonVisual;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNonVisual(boolean newNonVisual) {
- boolean oldNonVisual = nonVisual;
- nonVisual = newNonVisual;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL, oldNonVisual, nonVisual));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getNonVisualImagePath() {
- return nonVisualImagePath;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setNonVisualImagePath(String newNonVisualImagePath) {
- String oldNonVisualImagePath = nonVisualImagePath;
- nonVisualImagePath = newNonVisualImagePath;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH, oldNonVisualImagePath, nonVisualImagePath));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isResolveChildText() {
- return resolveChildText;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setResolveChildText(boolean newResolveChildText) {
- boolean oldResolveChildText = resolveChildText;
- resolveChildText = newResolveChildText;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT, oldResolveChildText, resolveChildText));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ResolveAttributeValue getResolveAttributeValue() {
- return resolveAttributeValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param newResolveAttributeValue
- * @param msgs
- * @return the notification chain
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetResolveAttributeValue(ResolveAttributeValue newResolveAttributeValue, NotificationChain msgs) {
- ResolveAttributeValue oldResolveAttributeValue = resolveAttributeValue;
- resolveAttributeValue = newResolveAttributeValue;
- if (eNotificationRequired()) {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE, oldResolveAttributeValue, newResolveAttributeValue);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setResolveAttributeValue(ResolveAttributeValue newResolveAttributeValue) {
- if (newResolveAttributeValue != resolveAttributeValue) {
- NotificationChain msgs = null;
- if (resolveAttributeValue != null)
- msgs = ((InternalEObject)resolveAttributeValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE, null, msgs);
- if (newResolveAttributeValue != null)
- msgs = ((InternalEObject)newResolveAttributeValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE, null, msgs);
- msgs = basicSetResolveAttributeValue(newResolveAttributeValue, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE, newResolveAttributeValue, newResolveAttributeValue));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isSetNonVisualChildElements() {
- return setNonVisualChildElements;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSetNonVisualChildElements(boolean newSetNonVisualChildElements) {
- boolean oldSetNonVisualChildElements = setNonVisualChildElements;
- setNonVisualChildElements = newSetNonVisualChildElements;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS, oldSetNonVisualChildElements, setNonVisualChildElements));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean isWidget() {
- return widget;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setWidget(boolean newWidget) {
- boolean oldWidget = widget;
- widget = newWidget;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, DTInfoPackage.TAG_DECORATE_INFO__WIDGET, oldWidget, widget));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE:
- return basicSetResolveAttributeValue(null, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case DTInfoPackage.TAG_DECORATE_INFO__ID:
- return getId();
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_HEIGHT:
- return new Integer(getMinHeight());
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_WIDTH:
- return new Integer(getMinWidth());
- case DTInfoPackage.TAG_DECORATE_INFO__MULTI_LEVEL:
- return isMultiLevel() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_BORDER_DECORATOR:
- return isNeedBorderDecorator() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_TABLE_DECORATOR:
- return isNeedTableDecorator() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL:
- return isNonVisual() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH:
- return getNonVisualImagePath();
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT:
- return isResolveChildText() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE:
- return getResolveAttributeValue();
- case DTInfoPackage.TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS:
- return isSetNonVisualChildElements() ? Boolean.TRUE : Boolean.FALSE;
- case DTInfoPackage.TAG_DECORATE_INFO__WIDGET:
- return isWidget() ? Boolean.TRUE : Boolean.FALSE;
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case DTInfoPackage.TAG_DECORATE_INFO__ID:
- setId((String)newValue);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_HEIGHT:
- setMinHeight(((Integer)newValue).intValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_WIDTH:
- setMinWidth(((Integer)newValue).intValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MULTI_LEVEL:
- setMultiLevel(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_BORDER_DECORATOR:
- setNeedBorderDecorator(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_TABLE_DECORATOR:
- setNeedTableDecorator(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL:
- setNonVisual(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH:
- setNonVisualImagePath((String)newValue);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT:
- setResolveChildText(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE:
- setResolveAttributeValue((ResolveAttributeValue)newValue);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS:
- setSetNonVisualChildElements(((Boolean)newValue).booleanValue());
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__WIDGET:
- setWidget(((Boolean)newValue).booleanValue());
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void eUnset(int featureID) {
- switch (featureID) {
- case DTInfoPackage.TAG_DECORATE_INFO__ID:
- setId(ID_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_HEIGHT:
- setMinHeight(MIN_HEIGHT_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_WIDTH:
- setMinWidth(MIN_WIDTH_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__MULTI_LEVEL:
- setMultiLevel(MULTI_LEVEL_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_BORDER_DECORATOR:
- setNeedBorderDecorator(NEED_BORDER_DECORATOR_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_TABLE_DECORATOR:
- setNeedTableDecorator(NEED_TABLE_DECORATOR_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL:
- setNonVisual(NON_VISUAL_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH:
- setNonVisualImagePath(NON_VISUAL_IMAGE_PATH_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT:
- setResolveChildText(RESOLVE_CHILD_TEXT_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE:
- setResolveAttributeValue((ResolveAttributeValue)null);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS:
- setSetNonVisualChildElements(SET_NON_VISUAL_CHILD_ELEMENTS_EDEFAULT);
- return;
- case DTInfoPackage.TAG_DECORATE_INFO__WIDGET:
- setWidget(WIDGET_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case DTInfoPackage.TAG_DECORATE_INFO__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_HEIGHT:
- return minHeight != MIN_HEIGHT_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__MIN_WIDTH:
- return minWidth != MIN_WIDTH_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__MULTI_LEVEL:
- return multiLevel != MULTI_LEVEL_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_BORDER_DECORATOR:
- return needBorderDecorator != NEED_BORDER_DECORATOR_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__NEED_TABLE_DECORATOR:
- return needTableDecorator != NEED_TABLE_DECORATOR_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL:
- return nonVisual != NON_VISUAL_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__NON_VISUAL_IMAGE_PATH:
- return NON_VISUAL_IMAGE_PATH_EDEFAULT == null ? nonVisualImagePath != null : !NON_VISUAL_IMAGE_PATH_EDEFAULT.equals(nonVisualImagePath);
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_CHILD_TEXT:
- return resolveChildText != RESOLVE_CHILD_TEXT_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__RESOLVE_ATTRIBUTE_VALUE:
- return resolveAttributeValue != null;
- case DTInfoPackage.TAG_DECORATE_INFO__SET_NON_VISUAL_CHILD_ELEMENTS:
- return setNonVisualChildElements != SET_NON_VISUAL_CHILD_ELEMENTS_EDEFAULT;
- case DTInfoPackage.TAG_DECORATE_INFO__WIDGET:
- return widget != WIDGET_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: "); //$NON-NLS-1$
- result.append(id);
- result.append(", minHeight: "); //$NON-NLS-1$
- result.append(minHeight);
- result.append(", minWidth: "); //$NON-NLS-1$
- result.append(minWidth);
- result.append(", multiLevel: "); //$NON-NLS-1$
- result.append(multiLevel);
- result.append(", needBorderDecorator: "); //$NON-NLS-1$
- result.append(needBorderDecorator);
- result.append(", needTableDecorator: "); //$NON-NLS-1$
- result.append(needTableDecorator);
- result.append(", nonVisual: "); //$NON-NLS-1$
- result.append(nonVisual);
- result.append(", nonVisualImagePath: "); //$NON-NLS-1$
- result.append(nonVisualImagePath);
- result.append(", resolveChildText: "); //$NON-NLS-1$
- result.append(resolveChildText);
- result.append(", setNonVisualChildElements: "); //$NON-NLS-1$
- result.append(setNonVisualChildElements);
- result.append(", widget: "); //$NON-NLS-1$
- result.append(widget);
- result.append(')');
- return result.toString();
- }
-
-} //TagDecorateInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoAdapterFactory.java
deleted file mode 100644
index 5bbf09b32..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoAdapterFactory.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage
- * @generated
- */
-public class DTInfoAdapterFactory extends AdapterFactoryImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static DTInfoPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfoAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = DTInfoPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DTInfoSwitch modelSwitch =
- new DTInfoSwitch() {
- public Object caseDTInfo(DTInfo object) {
- return createDTInfoAdapter();
- }
- public Object caseTagConvertInfo(TagConvertInfo object) {
- return createTagConvertInfoAdapter();
- }
- public Object caseOperation(Operation object) {
- return createOperationAdapter();
- }
- public Object caseParameter(Parameter object) {
- return createParameterAdapter();
- }
- public Object caseTagDecorateInfo(TagDecorateInfo object) {
- return createTagDecorateInfoAdapter();
- }
- public Object caseResolveAttributeValue(ResolveAttributeValue object) {
- return createResolveAttributeValueAdapter();
- }
- public Object defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- public Adapter createAdapter(Notifier target) {
- return (Adapter)modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo <em>DT Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfo
- * @generated
- */
- public Adapter createDTInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo <em>Tag Convert Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagConvertInfo
- * @generated
- */
- public Adapter createTagConvertInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation <em>Operation</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Operation
- * @generated
- */
- public Adapter createOperationAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter <em>Parameter</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.Parameter
- * @generated
- */
- public Adapter createParameterAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo <em>Tag Decorate Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.TagDecorateInfo
- * @generated
- */
- public Adapter createTagDecorateInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue <em>Resolve Attribute Value</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.ResolveAttributeValue
- * @generated
- */
- public Adapter createResolveAttributeValueAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //DTInfoAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoSwitch.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoSwitch.java
deleted file mode 100644
index 82f4764e8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/internal/util/DTInfoSwitch.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.pagedesigner.dtmanager.dtinfo.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage
- * @generated
- */
-public class DTInfoSwitch {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static DTInfoPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DTInfoSwitch() {
- if (modelPackage == null) {
- modelPackage = DTInfoPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * <!-- end-user-doc -->
- * @generated
- */
- public Object doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * <!-- end-user-doc -->
- * @generated
- */
- protected Object doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch((EClass)eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * <!-- end-user-doc -->
- * @generated
- */
- protected Object doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case DTInfoPackage.DT_INFO: {
- DTInfo dtInfo = (DTInfo)theEObject;
- Object result = caseDTInfo(dtInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case DTInfoPackage.TAG_CONVERT_INFO: {
- TagConvertInfo tagConvertInfo = (TagConvertInfo)theEObject;
- Object result = caseTagConvertInfo(tagConvertInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case DTInfoPackage.OPERATION: {
- Operation operation = (Operation)theEObject;
- Object result = caseOperation(operation);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case DTInfoPackage.PARAMETER: {
- Parameter parameter = (Parameter)theEObject;
- Object result = caseParameter(parameter);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case DTInfoPackage.TAG_DECORATE_INFO: {
- TagDecorateInfo tagDecorateInfo = (TagDecorateInfo)theEObject;
- Object result = caseTagDecorateInfo(tagDecorateInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case DTInfoPackage.RESOLVE_ATTRIBUTE_VALUE: {
- ResolveAttributeValue resolveAttributeValue = (ResolveAttributeValue)theEObject;
- Object result = caseResolveAttributeValue(resolveAttributeValue);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>DT Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>DT Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseDTInfo(DTInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Tag Convert Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Tag Convert Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagConvertInfo(TagConvertInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Operation</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Operation</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseOperation(Operation object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Parameter</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Parameter</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseParameter(Parameter object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Tag Decorate Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Tag Decorate Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseTagDecorateInfo(TagDecorateInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>Resolve Attribute Value</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>Resolve Attribute Value</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public Object caseResolveAttributeValue(ResolveAttributeValue object) {
- return null;
- }
-
- /**
- * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public Object defaultCase(EObject object) {
- return null;
- }
-
-} //DTInfoSwitch
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/package-info.java
deleted file mode 100644
index 3f0ea2358..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/dtinfo/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Tag conversion model.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.dtmanager.dtinfo;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/package-info.java
deleted file mode 100644
index 8f5fa0230..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Tag conversion design time manager.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.dtmanager;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTResourceProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTResourceProvider.java
deleted file mode 100644
index fbcc62f26..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTResourceProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-/**
- * Abstract implementation of IDTResourceProvider that is intended for client
- * extension.
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractDTResourceProvider implements IDTResourceProvider {
-
- /**
- * The ID of this provider.
- */
- protected String id;
-
- /**
- * Constructs an instance.
- *
- * @param id The ID of this provider.
- */
- public AbstractDTResourceProvider(String id) {
- setId(id);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTResourceProvider#getId()
- */
- public String getId() {
- return id;
- }
-
- /**
- * Sets the ID of this provider.
- *
- * @param id The ID of this provider.
- */
- public void setId(String id) {
- this.id = id;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTSkin.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTSkin.java
deleted file mode 100644
index d0188363b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/AbstractDTSkin.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-/**
- * Abstract implementation of IDTSkin that is intended for client extension.
- *
- * @author Ian Trimble - Oracle
- */
-public abstract class AbstractDTSkin implements IDTSkin {
-
- /**
- * The human-readable name of the skin.
- */
- protected String name;
-
- /**
- * true if this instance is considered the default for its provider.
- */
- protected boolean isDefault;
-
- /**
- * Constructs an instance.
- *
- * @param name The human-readable name of the skin.
- */
- public AbstractDTSkin(String name) {
- this(name, false);
- }
-
- /**
- * Constructs an instance.
- *
- * @param name The human-readable name of the skin.
- * @param isDefault true if this instance is considered the default for its
- * provider.
- */
- public AbstractDTSkin(String name, boolean isDefault) {
- setName(name);
- setDefault(isDefault);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin#getName()
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the human-readable name of the skin.
- *
- * @param name The human-readable name of the skin.
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin#isDefault()
- */
- public boolean isDefault() {
- return isDefault;
- }
-
- /**
- * Sets if this instance is considered the default for its provider.
- *
- * @param isDefault true if this instance is considered the default for its
- * provider.
- */
- public void setDefault(boolean isDefault) {
- this.isDefault = isDefault;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java
deleted file mode 100644
index c4652a1df..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTResourceProviderFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsp.core.taglib.ITaglibDescriptor;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.osgi.framework.Bundle;
-
-/**
- * Factory responsible for producing {@link IDTResourceProvider} instances from
- * <code>org.eclipse.jst.pagedesigner.pageDesignerExtension.dtResourceProvider</code>
- * extensions.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTResourceProviderFactory {
-
- private static DTResourceProviderFactory instance;
- private ProviderClassMap providerClassMap;
- private Map<IProject, List<IDTResourceProvider>> providerMap;
- private Logger log = PDPlugin.getLogger(DTResourceProviderFactory.class);
-
- private DTResourceProviderFactory() {
- //singleton - no external instantiation
- providerClassMap = new ProviderClassMap();
- loadExtensions();
- providerMap = new HashMap<IProject, List<IDTResourceProvider>>();
- }
-
- /**
- * Gets the singleton instance.
- *
- * @return The singleton instance.
- */
- public static synchronized DTResourceProviderFactory getInstance() {
- if (instance == null) {
- instance = new DTResourceProviderFactory();
- }
- return instance;
- }
-
- /**
- * Returns a List of IDTResourceProvider instances that are active for the
- * specified IProject instance.
- *
- * @param project IProject instance for which to get the active
- * IDTResourceProvider instances.
- * @return A List of IDTResourceProvider instances that are active for the
- * specified IProject instance. List may be empty, but will not be null.
- */
- public List<IDTResourceProvider> getActiveDTResourceProviders(IProject project) {
- List<IDTResourceProvider> activeProviders = new ArrayList<IDTResourceProvider>();
- if (project != null) {
- ITaglibRecord[] taglibRecords = TaglibIndex.getAvailableTaglibRecords(project.getFullPath());
- if (taglibRecords != null && taglibRecords.length > 0) {
- for (ITaglibRecord taglibRecord: taglibRecords) {
- ITaglibDescriptor taglibDescriptor = taglibRecord.getDescriptor();
- if (taglibDescriptor != null) {
- String taglibURI = taglibDescriptor.getURI();
- if (taglibURI != null) {
- activeProviders.addAll(getDTResourceProviders(project, taglibURI));
- }
- }
- }
- }
- }
- return Collections.unmodifiableList(activeProviders);
- }
-
- /**
- * Convenience method to determine IProject instance from the specified
- * IDOMNode instance and then call {@link #getActiveDTResourceProviders(IProject)}.
- *
- * @param domNode IDOMNode instance from which to determine IProject
- * instance.
- * @return A List of IDTResourceProvider instances that are active for the
- * specified IDOMNode instance's IProject instance. List may be empty, but
- * will not be null.
- */
- public List<IDTResourceProvider> getActiveDTResourceProviders(IDOMNode domNode) {
- IDOMModel domModel = domNode.getModel();
- IProject project = null;
- if (domModel != null) {
- project = StructuredModelUtil.getProjectFor(domModel);
- }
- return getActiveDTResourceProviders(project);
- }
-
- /**
- * Returns a List of IDTResourceProvider instances for the specified
- * IProject instance and id.
- *
- * @param project IProject instance for which a List of IDTResourceProviders
- * is being requested.
- * @param id Identifier for which a List of IDTResourceProvider instances is
- * being requested.
- * @return A List of IDTResourceProvider instances for the specified
- * IProject instance and id. List may be empty, but will not be null.
- */
- public synchronized List<IDTResourceProvider> getDTResourceProviders(IProject project, String id) {
- List<IDTResourceProvider> providers = new ArrayList<IDTResourceProvider>();
- List<IDTResourceProvider> projectProviders = providerMap.get(project);
- if (projectProviders == null) {
- projectProviders = providerClassMap.createInstances();
- providerMap.put(project, projectProviders);
- }
- for (IDTResourceProvider curProvider: projectProviders) {
- if (curProvider.getId().equals(id)) {
- providers.add(curProvider);
- }
- }
- return providers;
- }
-
- private void loadExtensions() {
- try {
- final IExtensionPoint extPoint = Platform.getExtensionRegistry().getExtensionPoint(PDPlugin.getPluginId(), IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- final IExtension[] extensions = extPoint.getExtensions();
- for (int i = 0; i < extensions.length; i++) {
- final IExtension extension = extensions[i];
- final IConfigurationElement[] confElements = extension.getConfigurationElements();
- for (int j = 0; j < confElements.length; j++) {
- final IConfigurationElement confElement = confElements[j];
- if (confElement.getName().equals(IJMTConstants.DT_RESOURCE_PROVIDER)) {
- final String id = confElement.getAttribute("id"); //$NON-NLS-1$
- final String providerClassName = confElement.getAttribute("class"); //$NON-NLS-1$
- final Bundle bundle = Platform.getBundle(confElement.getContributor().getName());
- if (bundle != null) {
- try {
- providerClassMap.add(id, bundle.loadClass(providerClassName));
- } catch(ClassNotFoundException cnfe) {
- log.error("Warning.DTResourceProviderFactory.ClassNotFound", providerClassName, id, cnfe); //$NON-NLS-1$
- }
- }
- }
- }
- }
- } catch(InvalidRegistryObjectException iroe) {
- log.error("Warning.DTResourceProviderFactory.RegistryError", PDPlugin.getPluginId() + IJMTConstants.EXTENSION_POINT_PAGEDESIGNER + "." + IJMTConstants.DT_RESOURCE_PROVIDER, iroe); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTSkinManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTSkinManager.java
deleted file mode 100644
index 1055ced4a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DTSkinManager.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * Manages IDTSkin instances and provides skin-related services.
- *
- * @author Ian Trimble - Oracle
- */
-public class DTSkinManager {
-
- private static Map<IProject, DTSkinManager> dtSkinManagerMap =
- new HashMap<IProject, DTSkinManager>();
-
- private Map<String, IDTSkin> currentDTSkinMap;
-
- private IProject project;
-
- /**
- * Constructs an instance (no public instantiation).
- *
- * @param project IProject instance for which this instance applies.
- */
- private DTSkinManager(IProject project) {
- this.project = project;
- currentDTSkinMap = new HashMap<String, IDTSkin>();
- }
-
- /**
- * Gets a DTSkinManager instance for the specified project instance.
- *
- * @param aProject IProject instance for which a DTSkinManager is being
- * requested.
- * @return A DTSkinManager instance for the specified project instance.
- */
- public static synchronized DTSkinManager getInstance(IProject aProject) {
- DTSkinManager dtSkinManager = dtSkinManagerMap.get(aProject);
- if (dtSkinManager == null) {
- dtSkinManager = new DTSkinManager(aProject);
- dtSkinManagerMap.put(aProject, dtSkinManager);
- }
- return dtSkinManager;
- }
-
- /**
- * Gets a DTSkinManager instance for the IProject instance associated with
- * the specified IDOMNode instance.
- *
- * @param domNode IDOMNode instance for which a DTSkinManager is being
- * requested.
- * @return A DTSkinManager instance for the IProject instance associated
- * with the specified IDOMNode instance.
- */
- public static DTSkinManager getInstance(IDOMNode domNode) {
- IDOMModel domModel = domNode.getModel();
- IProject aProject = null;
- if (domModel != null) {
- aProject = StructuredModelUtil.getProjectFor(domModel);
- }
- return getInstance(aProject);
- }
-
- /**
- * Returns a List of available IDTSkin instances.
- *
- * @param id ID for which to get skins.
- * @return A List of available IDTSkin instances. List may be empty, but
- * will not be null.
- */
- public List<IDTSkin> getSkins(String id) {
- List<IDTSkin> dtSkins = new ArrayList<IDTSkin>();
- List<IDTResourceProvider> dtResourceProviders =
- DTResourceProviderFactory.getInstance().getActiveDTResourceProviders(project);
- for (IDTResourceProvider dtResourceProvider: dtResourceProviders) {
- if (dtResourceProvider.getId().equals(id)) {
- dtSkins.addAll(dtResourceProvider.getSkins());
- }
- }
- return dtSkins;
- }
-
- /**
- * Returns the current IDTSkin instance for the specified ID.
- *
- * @param id The ID (typically nsURI) for which the current IDTSkin instance
- * is being requested.
- * @return The current IDTSkin instance for the specified ID. May return
- * null if there is no current IDTSkin instance for the specified ID.
- */
- public IDTSkin getCurrentSkin(String id) {
- IDTSkin dtSkin = currentDTSkinMap.get(id);
- if (dtSkin == null) {
- dtSkin = getDefaultSkin(id);
- setCurrentSkin(id, dtSkin);
- }
- return dtSkin;
- }
-
- /**
- * Sets the current IDTSkin instance for the specified ID.
- *
- * @param id The ID (typically nsURI) for which the current IDTSkin instance
- * is being set.
- * @param dtSkin The current IDTSkin instance to be set for the specified ID.
- */
- public void setCurrentSkin(String id, IDTSkin dtSkin) {
- if (id != null) {
- IDTSkin existingDTSkin = currentDTSkinMap.get(id);
- if (existingDTSkin != null) {
- existingDTSkin.releaseResources();
- }
- if (dtSkin != null) {
- currentDTSkinMap.put(id, dtSkin);
- } else {
- currentDTSkinMap.remove(id);
- }
- }
- }
-
- /**
- * Returns a List of all current DTSkin instances (one per id).
- *
- * @return A List of all current DTSkin instances (one per id).
- */
- public List<IDTSkin> getCurrentSkins() {
- List<IDTSkin> currentDTSkins = new ArrayList<IDTSkin>();
- List <IDTResourceProvider> dtResourceProviders =
- DTResourceProviderFactory.getInstance().getActiveDTResourceProviders(project);
- for (IDTResourceProvider dtResourceProvider: dtResourceProviders) {
- IDTSkin dtSkin = getCurrentSkin(dtResourceProvider.getId());
- if (dtSkin != null && !currentDTSkins.contains(dtSkin)) {
- currentDTSkins.add(dtSkin);
- }
- }
- return Collections.unmodifiableList(currentDTSkins);
- }
-
- /**
- * Returns the default IDTSkin instance for the specified ID.
- *
- * @param id The ID (typically nsURI) for which the default IDTSkin instance
- * is being requested.
- * @return The default IDTSkin instance for the specified ID. May return
- * null if there is no default IDTSkin instance for the specified ID.
- */
- public IDTSkin getDefaultSkin(String id) {
- IDTSkin firstDTSkin = null;
- IDTSkin defaultDTSkin = null;
- for (IDTSkin dtSkin: getSkins(id)) {
- if (firstDTSkin == null) {
- firstDTSkin = dtSkin;
- }
- if (dtSkin.isDefault()) {
- defaultDTSkin = dtSkin;
- break;
- }
- }
- if (defaultDTSkin == null) {
- defaultDTSkin = firstDTSkin;
- }
- return defaultDTSkin;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTResourceProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTResourceProvider.java
deleted file mode 100644
index db5ad2901..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTResourceProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Concrete implementation of IDTResourceProvider.
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultDTResourceProvider extends AbstractDTResourceProvider {
-
- /**
- * List of IDTSkin instances.
- */
- protected List<IDTSkin> skins;
-
- /**
- * Constructs an instance.
- *
- * @param id The ID of this provider.
- */
- public DefaultDTResourceProvider(String id) {
- super(id);
- skins = new ArrayList<IDTSkin>();
- }
-
- /**
- * Constructs an instance.
- *
- * @param id The ID of this provider.
- * @param skins The List of IDTSkin instances.
- */
- public DefaultDTResourceProvider(String id, List<IDTSkin> skins) {
- super(id);
- if (skins != null) {
- this.skins = skins;
- } else {
- this.skins = new ArrayList<IDTSkin>();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTResourceProvider#getSkins()
- */
- public List<IDTSkin> getSkins() {
- return Collections.unmodifiableList(skins);
- }
-
- /**
- * Adds the specified IDTSkin instance to the List of IDTSkin instances.
- *
- * @param skin IDTSkin instance to be added.
- * @return true (as per the general contract of the Collection.add method).
- */
- public boolean addSkin(IDTSkin skin) {
- boolean ret = false;
- if (skin != null) {
- ret = skins.add(skin);
- }
- return ret;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTSkin.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTSkin.java
deleted file mode 100644
index cea5e920d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/DefaultDTSkin.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * Concrete implementation of AbstractDTSkin.
- *
- * @author Ian Trimble - Oracle
- */
-public class DefaultDTSkin extends AbstractDTSkin {
-
- private List<URL> styleSheetURLs;
- private List<StyleSheet> styleSheets;
- private List<IStructuredModel> models;
- private Logger log = PDPlugin.getLogger(DefaultDTSkin.class);
-
- /**
- * Constructs an instance.
- *
- * @param name The human-readable name of the skin.
- */
- public DefaultDTSkin(String name) {
- super(name);
- }
-
- /**
- * Constructs an instance.
- *
- * @param name The human-readable name of the skin.
- * @param isDefault true if this instance is considered the default for its
- * provider.
- */
- public DefaultDTSkin(String name, boolean isDefault) {
- super(name, isDefault);
- }
-
- /**
- * Constructs an instance.
- *
- * @param name The human-readable name of the skin.
- * @param styleSheetURLs The List of URL instances that provide an absolute
- * reference to the stylesheets.
- */
- public DefaultDTSkin(String name, List<URL> styleSheetURLs) {
- this(name);
- this.styleSheetURLs = styleSheetURLs;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin#getStyleSheets()
- */
- public List<StyleSheet> getStyleSheets() {
- if (styleSheets == null) {
- styleSheets = new ArrayList<StyleSheet>();
- if (styleSheetURLs != null) {
- for (URL currentURL: styleSheetURLs) {
- InputStream in = null;
- try {
- in = currentURL.openStream();
- if (in != null) {
- IStructuredModel model = StructuredModelManager.getModelManager().getModelForRead(currentURL.toExternalForm(), in, null);
- if (model instanceof ICSSModel) {
- styleSheets.add((StyleSheet)((ICSSModel)model).getDocument());
- if (models == null) {
- models = new ArrayList<IStructuredModel>();
- }
- models.add(model);
- } else {
- model.releaseFromRead();
- }
- }
- } catch(IOException ioe) {
- log.error("Warning.DefaultDTSkin.FailureLoadingStyleSheet", name, currentURL.toExternalForm(), ioe); //$NON-NLS-1$
- } finally {
- ResourceUtils.ensureClosed(in);
- }
- }
- }
- }
- return Collections.unmodifiableList(styleSheets);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin#getStyleSheetLocations()
- */
- public List<String> getStyleSheetLocations() {
- List<String> locations = new ArrayList<String>();
- if (styleSheetURLs != null) {
- for (URL currentURL: styleSheetURLs) {
- URL fileURL;
- try {
- fileURL = FileLocator.toFileURL(currentURL);
- } catch(IOException ioe) {
- //attempt to convert to a file protocol URI failed, revert to original form
- fileURL = currentURL;
- }
- locations.add(fileURL.toExternalForm());
- }
- }
- return Collections.unmodifiableList(locations);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin#releaseResources()
- */
- public void releaseResources() {
- if (models != null) {
- for (IStructuredModel model: models) {
- model.releaseFromRead();
- }
- models = null;
- }
- styleSheets = null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTResourceProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTResourceProvider.java
deleted file mode 100644
index acc15be3e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTResourceProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.List;
-
-/**
- * Defines the interface for a Design-Time (DT) "Resource Provider", which
- * offers such services as might be expected to be provided at runtime by, for
- * example, a resource servlet.
- *
- * @author Ian Trimble - Oracle
- */
-public interface IDTResourceProvider {
-
- /**
- * Returns this instance's ID.
- *
- * @return This instance's ID.
- */
- public String getId();
-
- /**
- * Returns a List of IDTSkin instances.
- *
- * @return A List of IDTSkin instances. May return an empty List, but should
- * not return null.
- */
- public List<IDTSkin> getSkins();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTSkin.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTSkin.java
deleted file mode 100644
index 01154f03b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/IDTSkin.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.List;
-
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * Interface that a design-time (DT) "skin" must implement.
- *
- * @author Ian Trimble - Oracle
- */
-public interface IDTSkin {
-
- /**
- * Returns the human-readable name of the skin.
- *
- * @return The human-readable name of the skin.
- */
- public String getName();
-
- /**
- * Returns a List of StyleSheet instances.
- *
- * @return A List of StyleSheet instances. May return an empty List, but
- * should not return null.
- */
- public List<StyleSheet> getStyleSheets();
-
- /**
- * Returns a List of Strings representing locations (typically URIs) of
- * stylesheets.
- *
- * @return List of Strings representing locations (typically URIs) of
- * stylesheets. May return an empty List, but should not return null.
- */
- public List<String> getStyleSheetLocations();
-
- /**
- * This will be called before an instance goes out of scope, allowing it to
- * clean up any necessary resources. The instance should still be usable,
- * recreating any released resources as necessary on subsequent calls to its
- * methods.
- */
- public void releaseResources();
-
- /**
- * Returns true if this skin is considered the default for its provider.
- *
- * @return true if this skin is considered the default for its provider,
- * else false.
- */
- public boolean isDefault();
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/ProviderClassMap.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/ProviderClassMap.java
deleted file mode 100644
index a9feaa406..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtresourceprovider/ProviderClassMap.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtresourceprovider;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * Used to Map a String ID to a List of Classes and provide convenient access.
- *
- * @author Ian Trimble - Oracle
- */
-public class ProviderClassMap {
-
- private Map<String, List<Class>> idToClassListMap;
- private Logger log = PDPlugin.getLogger(ProviderClassMap.class);
-
- /**
- * Creates an instance.
- */
- public ProviderClassMap() {
- idToClassListMap = new HashMap<String, List<Class>>();
- }
-
- /**
- * Gets the List of Classes associated with the specified ID.
- *
- * @param id ID for which to get the List.
- * @return The List of Classes associated with the specified ID. List may be
- * empty but will not be null.
- */
- public List<Class> get(String id) {
- List<Class> classList = idToClassListMap.get(id);
- if (classList == null) {
- classList = new ArrayList<Class>();
- idToClassListMap.put(id, classList);
- }
- return classList;
- }
-
- /**
- * Adds the specified Class to the List associated with the specified ID.
- *
- * @param id ID for which to associate the specified Class.
- * @param clazz Class to add to the List associated with the specified ID.
- * @return true (as per the general contract of the Collection.add method).
- */
- public boolean add(String id, Class clazz) {
- List<Class> classList = get(id);
- return classList.add(clazz);
- }
-
- /**
- * Instantiates all classes associated with the specified ID and returns a
- * List of IDTResourceProvider instances.
- *
- * @param id ID for which to instantiate all Classes.
- * @return a List of IDTResourceProvider instances associated with the
- * specified ID. List may be empty but will not be null.
- */
- public List<IDTResourceProvider> createInstances(String id) {
- List<IDTResourceProvider> providers = new ArrayList<IDTResourceProvider>();
- List<Class> classList = get(id);
- for (Class providerClass: classList) {
- try {
- Object objProvider = providerClass.newInstance();
- if (objProvider instanceof IDTResourceProvider) {
- providers.add((IDTResourceProvider)objProvider);
- } else {
- log.error("Warning.ProviderClassMap.NotIDTResourceProvider", providerClass.getName()); //$NON-NLS-1$
- }
- } catch(IllegalAccessException iae) {
- log.error("Warning.ProviderClassMap.IllegalAccess", providerClass.getName(), id, iae); //$NON-NLS-1$
- } catch(InstantiationException ie) {
- log.error("Warning.ProviderClassMap.Instantiation", providerClass.getName(), id, ie); //$NON-NLS-1$
- }
- }
- return providers;
- }
-
- /**
- * Instantiates all registered IDTResourceProviders and returns as a List.
- *
- * @return List of all registered IDTResourceProviders. List may be empty
- * but will not be null.
- */
- public List<IDTResourceProvider> createInstances() {
- List<IDTResourceProvider> providers = new ArrayList<IDTResourceProvider>();
- Set<String> idSet = idToClassListMap.keySet();
- for (String curId: idSet) {
- List<IDTResourceProvider> providersForCurId = createInstances(curId);
- providers.addAll(providersForCurId);
- }
- return providers;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/AbstractPropertySheetPageFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/AbstractPropertySheetPageFactory.java
deleted file mode 100644
index 849acb55c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/AbstractPropertySheetPageFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-/**
- * Abstract class that should be extended to provide a property sheet page
- * factory.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractPropertySheetPageFactory implements
- IPropertySheetPageFactory
-{
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.editors.IPropertySheetPageFactory#createPage(org.eclipse.core.resources.IFile)
- */
- public abstract IPropertySheetPage createPage(IFile file);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.java
deleted file mode 100644
index 6596d8d17..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.pagedesigner.dnd.internal.DesignerSourceDropTargetListener;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * @author mengbo
- */
-public class DesignerStructuredTextEditorJSP extends StructuredTextEditor
-{
- private ITextEditorDropTargetListener _dropTargetListener;
- private DropTarget _dropTarget;
-
- @Override
- protected void initializeDrop(final ITextViewer viewer)
- {
- int operations = DND.DROP_COPY | DND.DROP_MOVE;
- _dropTarget = new DropTarget(viewer.getTextWidget(), operations);
- _dropTargetListener =
- new DesignerSourceDropTargetListener(this);
- _dropTarget.setTransfer(_dropTargetListener.getTransfers());
- _dropTarget.addDropListener(_dropTargetListener);
- }
-
- @Override
- public IAction getAction(final String actionID)
- {
- try
- {
- return super.getAction(actionID);
- } catch (final Exception e)
- {
- return null;
- }
- }
-
- @Override
- public Object getAdapter(final Class required)
- {
- if (ITextEditorDropTargetListener.class.equals(required))
- {
- final DesignerSourceDropTargetListener listener = new DesignerSourceDropTargetListener(
- this);
- return listener;
- }
- return super.getAdapter(required);
- }
-
- @Override
- public void dispose()
- {
- if (_dropTargetListener != null)
- {
- _dropTargetListener = null;
- }
- if (_dropTarget != null)
- {
- _dropTarget.dispose();
- _dropTarget = null;
- }
-
- super.dispose();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
deleted file mode 100644
index 2763d4b5b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
+++ /dev/null
@@ -1,1156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.ui.views.palette.PalettePage;
-import org.eclipse.gef.ui.views.palette.PaletteViewerPage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dnd.internal.DesignerSourceMouseTrackAdapter;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IPageVariablesProvider;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.adapter.IDocumentPageVariableAdapter;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.preview.PreviewHandlerNew;
-import org.eclipse.jst.pagedesigner.preview.WindowsIEBrowser;
-import org.eclipse.jst.pagedesigner.properties.WPETabbedPropertySheetPage;
-import org.eclipse.jst.pagedesigner.tools.RangeSelectionTool;
-import org.eclipse.jst.pagedesigner.ui.common.PartActivationHandler;
-import org.eclipse.jst.pagedesigner.ui.common.sash.SashEditorPart;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.jst.pagedesigner.utils.EditorUtil;
-import org.eclipse.jst.pagedesigner.utils.PreviewUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-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.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.contexts.IContextService;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.part.MultiPageEditorSite;
-import org.eclipse.ui.part.MultiPageSelectionProvider;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.ui.internal.provisional.IDOMSourceEditingTextTools;
-import org.w3c.dom.Document;
-
-/**
- * The HTMLEditor is a multi paged editor. It will use the StructuredTextEditor
- * as the chief editor, and delegate most operations to it.
- *
- * @author mengbo
- */
-public final class HTMLEditor extends MultiPageEditorPart implements
- IPropertyListener, ITabbedPropertySheetPageContributor {
- // private static final String PAGE_NAME_DESIGN = "Design"; //$NON-NLS-1$
- // private static final String PAGE_NAME_SOURCE = "Source"; //$NON-NLS-1$
- /**
- * Tabbed property contributor id for WPE
- */
- public final static String TABBED_PROPERTIES_CONTRIBUTOR_ID = "org.eclipse.jst.pagedesigner.tabPropertyContributor"; //$NON-NLS-1$
-
- // four different modes for the designer when displayed in a sash editor.
- /**
- * editor split is vertical
- */
- public static final int MODE_SASH_VERTICAL = 0;
-
- /**
- * editor split is horizontal
- */
- public static final int MODE_SASH_HORIZONTAL = 1;
-
- /**
- * no split, only designer canvas
- */
- public static final int MODE_DESIGNER = 2;
-
- /**
- * no split, only SSE source
- */
- public static final int MODE_SOURCE = 3;
-
- private Logger _log = PDPlugin.getLogger(HTMLEditor.class);
-
- private boolean _sash = true;
-
- private int _mode = 0;
-
- private SashEditorPart _sashEditorPart = null;
-
- private int _previewPageIndex;
-
- /** The design viewer */
- private SimpleGraphicalEditor _designViewer;
-
- /** The text editor. */
- private StructuredTextEditor _textEditor;
-
- private PartActivationHandler _partListener;
-
- private PaletteViewerPage _paletteViewerPage;
-
- private DefaultEditDomain _editDomain;
-
- private WindowsIEBrowser _browser;
-
- private Composite _previewComposite;
-
- private List PREVIEW_FILES_LIST = new ArrayList();
-
- private IPropertySheetPage _tabbedPropSheet;
-
- private ISelectionChangedListener _selChangedListener;
-
- // TODO:This class is never used locally
-// private class TextInputListener implements ITextInputListener {
-// public void inputDocumentAboutToBeChanged(IDocument oldInput,
-// IDocument newInput) {
-// // do nothing
-// }
-//
-// public void inputDocumentChanged(IDocument oldInput, IDocument newInput) {
-// if (_designViewer != null && newInput != null)
-// _designViewer.setModel(getModel());
-// }
-// }
-
- /**
- * Default constructor
- */
- public HTMLEditor() {
- super();
- }
-
- /*
- * This method is just to make firePropertyChanged accessbible from some
- * (anonomous) inner classes.
- */
- private void _firePropertyChange(int property) {
- super.firePropertyChange(property);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.xtools.common.ui.properties.ITabbedPropertySheetPageContributor#getContributorId()
- */
- public String getContributorId() {
- return TABBED_PROPERTIES_CONTRIBUTOR_ID;
- }
-
- private void connectSashPage() {
- ISelectionProvider selectionProvider = _sashEditorPart.getSite()
- .getSelectionProvider();
- if (selectionProvider instanceof IPostSelectionProvider) {
- ((IPostSelectionProvider) selectionProvider)
- .addPostSelectionChangedListener(getSelectionChangedListener(selectionProvider));
- } else {
- selectionProvider
- .addSelectionChangedListener(getSelectionChangedListener(selectionProvider));
- }
- }
-
- private void disconnectSashPage() {
- //attempted fix for bug 283569... was not able to repro, but should protect against NPE
- if (_sashEditorPart != null
- && _sashEditorPart.getSite() != null
- && _sashEditorPart.getSite().getSelectionProvider() != null
- && _selChangedListener != null) {
-
- final ISelectionProvider selectionProvider = _sashEditorPart.getSite()
- .getSelectionProvider();
- if (selectionProvider != null) {
- if (selectionProvider instanceof IPostSelectionProvider) {
- ((IPostSelectionProvider) selectionProvider)
- .removePostSelectionChangedListener(getSelectionChangedListener(selectionProvider));
- } else {
- selectionProvider
- .removeSelectionChangedListener(getSelectionChangedListener(selectionProvider));
- }
- }
- }
- }
-
- private ISelectionChangedListener getSelectionChangedListener(ISelectionProvider selectionProvider) {
- if (_selChangedListener == null) {
- if (selectionProvider instanceof IPostSelectionProvider) {
- _selChangedListener = new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ((MultiPageSelectionProvider) getSite()
- .getSelectionProvider())
- .firePostSelectionChanged(event);
- }
- };
- }
- else {
- _selChangedListener = new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ((MultiPageSelectionProvider) getSite()
- .getSelectionProvider())
- .firePostSelectionChanged(event);
- }
- };
- }
- }
- return _selChangedListener;
- }
-
- /**
- * Creates the source page of the multi-page editor.
- * @throws PartInitException
- */
- protected void sash_createAndAddDesignSourcePage() throws PartInitException {
- // create source page
- _textEditor = createTextEditor();
- _textEditor.setEditorPart(this);
- _textEditor.addPropertyListener(this);
- // create design page
- _designViewer = new SimpleGraphicalEditor(this, getEditDomain());
-
- // create SashEditor
- _sashEditorPart = new SashEditorPart() {
- protected void createPages() throws PartInitException {
- addPage(_designViewer, getEditorInput());
- addPage(_textEditor, getEditorInput());
- }
- };
- int sashIndex = addPage(_sashEditorPart, getEditorInput());
-
- // Set the sash editor mode from the stored file property
- // or the default preference
- initDesignerMode();
-
- setPageText(sashIndex, PDPlugin.getResourceString("HTMLEditor.Design")); //$NON-NLS-1$
-
- // the update's critical, to get viewer selection manager and
- // highlighting to work
- _textEditor.update();
-
- firePropertyChange(PROP_TITLE);
-
- // Changes to the Text Viewer's document instance should also force an
- // input refresh
- // _textEditor.getTextViewer().addTextInputListener(new
- // TextInputListener());
- connectSashPage();
- }
-
- /**
- * @see org.eclipse.ui.part.MultiPageEditorPart#createSite(org.eclipse.ui.IEditorPart)
- */
- protected IEditorSite createSite(IEditorPart editor) {
- return new MultiPageEditorSite(this, editor);
- }
-
- private void tabbed_createAndAddDesignSourcePage()
- throws PartInitException {
- // create source page
- _textEditor = createTextEditor();
- _textEditor.setEditorPart(this);
- _textEditor.addPropertyListener(this);
-
- // create design page
- SimpleGraphicalEditor editor = new SimpleGraphicalEditor(this,
- getEditDomain());
-
- // add design page
- int designPageIndex = addPage(editor, null);
-
- _designViewer = editor;
- // // note: By adding the design page as a Control instead of an
- // // IEditorPart, page switches will indicate
- // // a "null" active editor when the design page is made active
- setPageText(designPageIndex, PDPlugin
- .getResourceString("HTMLEditor.Design")); //$NON-NLS-1$
-
- // add source page
- int sourcePageIndex = addPage(_textEditor, getEditorInput());
- setPageText(sourcePageIndex, PDPlugin
- .getResourceString("HTMLEditor.Source")); //$NON-NLS-1$
- // the update's critical, to get viewer selection manager and
- // highlighting to work
- _textEditor.update();
-
- firePropertyChange(PROP_TITLE);
-
- // Changes to the Text Viewer's document instance should also force an
- // input refresh
- // _textEditor.getTextViewer().addTextInputListener(new
- // TextInputListener());
- }
-
- private void createAndAddPreviewPage() {
- _previewComposite = new Composite(getContainer(), 0);
- FillLayout filllayout = new FillLayout();
- _previewComposite.setLayout(filllayout);
-
- _previewPageIndex = addPage(_previewComposite);
- // JSPSourceEditor.Page.Preview.PageText=Preview
- setPageText(_previewPageIndex, PageDesignerResources.getInstance()
- .getString("JSPSourceEditor.Page.Preview.PageText")); //$NON-NLS-1$
-
- }
-
- private WindowsIEBrowser getPreviewBrowser() {
- if (_browser == null) {
- _browser = new WindowsIEBrowser();
- if (_browser != null) {
- _browser.create(_previewComposite, SWT.NONE);
- _previewComposite.layout();
- }
- }
- return _browser;
- }
- /**
- * Connects the design viewer with the viewer selection manager. Should be
- * done after createSourcePage() is done because we need to get the
- * ViewerSelectionManager from the TextEditor. setModel is also done here
- * because getModel() needs to reference the TextEditor.
- */
- protected void connectDesignPage() {
- if (_designViewer != null) {
- _designViewer.setModel(getModel());
- // _designViewer.getSynchronizer().listenToModel(getModel());
- ISelectionProvider designSelectionProvider = _designViewer
- .getSite().getSelectionProvider();
- if (designSelectionProvider instanceof IPostSelectionProvider) {
- ((IPostSelectionProvider) designSelectionProvider)
- .addPostSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(
- SelectionChangedEvent event) {
- if (getActiveEditor() != _textEditor) {
- _designViewer.getSynchronizer()
- .selectionChanged(event);
- }
- }
- });
- } else {
- designSelectionProvider
- .addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(
- SelectionChangedEvent event) {
- if (getActiveEditor() != _textEditor) {
- _designViewer.getSynchronizer()
- .selectionChanged(event);
- }
- }
- });
- }
- ISelectionProvider textSelectionProvider = _textEditor.getSite()
- .getSelectionProvider();
- if (textSelectionProvider instanceof IPostSelectionProvider) {
- ((IPostSelectionProvider) textSelectionProvider)
- .addPostSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(
- SelectionChangedEvent event) {
- if (event.getSelection() instanceof TextSelection) {
- TextSelection textSelection = ((TextSelection) event
- .getSelection());
- _designViewer
- .getSynchronizer()
- .textSelectionChanged(
- textSelection.getOffset(),
- textSelection.getOffset()
- + textSelection
- .getLength());
- }
- }
- });
- } else {
- textSelectionProvider
- .addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(
- SelectionChangedEvent event) {
- TextSelection textSelection = ((TextSelection) event
- .getSelection());
- _designViewer.getSynchronizer()
- .textSelectionChanged(
- textSelection.getOffset(),
- textSelection.getOffset()
- + textSelection
- .getLength());
- }
- });
- }
- }
- }
-
- /**
- * Creates the pages of this multi-page editor.
- * <p>
- * Subclasses of <code>MultiPageEditor</code> must implement this method.
- * </p>
- */
- protected void createPages() {
- try {
- // source page MUST be created before design page, now
- if (_sash) {
- sash_createAndAddDesignSourcePage();
- } else {
- tabbed_createAndAddDesignSourcePage();
- }
- connectDesignPage();
- createAndAddPreviewPage();
- DesignerSourceMouseTrackAdapter adapter = new DesignerSourceMouseTrackAdapter(
- _textEditor, getEditDomain());
- _textEditor.getTextViewer().getTextWidget().addMouseListener(
- adapter);
- _textEditor.getTextViewer().getTextWidget().addMouseMoveListener(
- adapter);
- } catch (PartInitException exception) {
- //$NON-NLS-1$ = "An error has occurred when initializing the input for the the editor's source page."
- if (_log != null) {
- // throw new SourceEditingRuntimeException(
- // "An error has occurred when initializing the input for the
- // the editor's source page.");
- }
- }
- // TODO: add a catch block here for any exception the design
- // page throws and convert it into a more informative message.
- }
-
- /**
- * Method createTextEditor.
- *
- * @return StructuredTextEditor
- */
- protected StructuredTextEditor createTextEditor() {
- return new DesignerStructuredTextEditorJSP();
- }
-
- private void disconnectDesignPage() {
- if (_designViewer != null) {
- _designViewer.setModel(null);
- _designViewer.dispose();
- }
- }
-
- public void dispose() {
- //System.out.println("dispose of HTML Editor");
- deletePreviewFiles();
-
- disconnectSashPage();
- disconnectDesignPage();
-
- IWorkbenchWindow window = getSite().getWorkbenchWindow();
- window.getPartService().removePartListener(_partListener);
- window.getShell().removeShellListener(_partListener);
- getSite().getPage().removePartListener(_partListener);
-
- if (_textEditor != null) {
- _textEditor.removePropertyListener(this);
- _textEditor.setEditorPart(null);
- _textEditor.dispose();
- }
-
- // moved to last when added window ... seems like
- // we'd be in danger of losing some data, like site,
- // or something.
- _sashEditorPart = null;
- _tabbedPropSheet = null;
- _partListener = null;
- _editDomain = null;
- _designViewer = null;
- _browser = null;
- _previewComposite = null;
- _paletteViewerPage = null;
- _log = null;
- _selChangedListener = null;
- _textEditor = null;
-
- super.dispose();
-
- }
-
- public void doSave(IProgressMonitor monitor) {
- _textEditor.doSave(monitor);
- }
-
- /*
- * (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() {
- _textEditor.doSaveAs();
- }
-
- 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];
-
- // C.B: this is a strange piece of logic. It was referenceing
- // the internal sub-class of CoreException, ResourceException.
- // need to review fileDoesNotExist.
- if (coreException instanceof CoreException) {
- // 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) {
- if (_log != null) {
- _log.error("Error.HTMLEditor.0", ce); //$NON-NLS-1$
- }
- }
- throw new PartInitException("Resource " + input.getName() //$NON-NLS-1$
- + " does not exist."); //$NON-NLS-1$
- }
- throw new PartInitException("Editor could not be open on " //$NON-NLS-1$
- + input.getName());
- }
- } else if (input instanceof IStorageEditorInput) {
- InputStream contents = null;
- try {
- contents = ((IStorageEditorInput) input).getStorage()
- .getContents();
- if (contents == null) {
- throw new PartInitException("Editor could not be open on " //$NON-NLS-1$
- + input.getName());
- }
- } catch (CoreException noStorageExc) {
- // Error in geting storage contents
- _log.error("Error.HTMLEditor.1", noStorageExc); //$NON-NLS-1$
- }
- finally
- {
- ResourceUtils.ensureClosed(contents);
- }
- }
- }
-
- /**
- * 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>
- * @param input
- * @param coreException
- * @return true if the input doesn't exist
- */
- 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;
- // The core has exception
- _log.error("Error.HTMLEditor.3", e); //$NON-NLS-1$
- }
- finally
- {
- ResourceUtils.ensureClosed(inStream);
- }
- }
- return result;
- }
-
- public Object getAdapter(Class key) {
- Object result = null;
- if (key == IDesignViewer.class) {
- result = _designViewer;
- } else if (key == PalettePage.class) {
- return getPaletteViewerPage();
- } else if (key == IPropertySheetPage.class) {
- // XXX: we can delegate this to the fTextEditor, but that use some
- // more
- // complicate mechanism, and don't work with page designer well, so
- // do it simple now, fix later.
- // return _textEditor.getAdapter(key);
- return getPropertySheetPage();
- } else if (key == IContentOutlinePage.class) {
- if (_textEditor != null) {
- result = _textEditor.getAdapter(key);
- }
- } else if (key == IPageVariablesProvider.class) {
- Object obj = ((IDOMModel) getModel()).getDocument().getAdapterFor(
- IDocumentPageVariableAdapter.class);
- if (obj instanceof IPageVariablesProvider) {
- return obj;
- }
- return null;
- } else {
- // 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 (_textEditor != null) {
- result = _textEditor.getAdapter(key);
- }
- }
- return result;
- }
-
-
- /**
- * IExtendedSimpleEditor method
- * @return IDocument
- */
- public IDocument getDocument() {
- if (getTextEditor() == null) {
- return null;
- }
-
- Object apapter = _textEditor.getAdapter(ISourceEditingTextTools.class);
- if (apapter != null) {
- return ((ISourceEditingTextTools) apapter).getDocument();
- }
-
- return null;
- }
-
- /**
- * IExtendedMarkupEditor method
- * @return the dom document
- */
- public Document getDOMDocument() {
- if (getTextEditor() == null) {
- return null;
- }
-
- Object adapter = _textEditor.getAdapter(ISourceEditingTextTools.class);
- if (adapter instanceof IDOMSourceEditingTextTools) {
- return ((IDOMSourceEditingTextTools) adapter).getDOMDocument();
- }
- return null;
- }
-
- /**
- * IExtendedSimpleEditor method
- * @return the editor part
- */
- public IEditorPart getEditorPart() {
- return this;
- }
-
- /**
- * @return the structured model
- */
- public IStructuredModel getModel() {
- IStructuredModel model = null;
- if (_textEditor != null) {
- model = ((DesignerStructuredTextEditorJSP) _textEditor).getModel();
- }
- return model;
- }
-
-
- /**
- * @return the SSE editor delegate
- */
- public StructuredTextEditor getTextEditor() {
- return _textEditor;
- }
-
-
- /*
- * (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;
- }
-
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- super.init(site, input);
- editorInputIsAcceptable(input);
- try {
- // super.init(site, input);
- // setSite(site);
- setInput(input);
- if (_partListener == null) {
- _partListener = new PartActivationHandler(this) {
- public void handleActivation() {
- safelySanityCheckState();
- }
- };
- }
- // we want to listen for our own activation
- IWorkbenchWindow window = getSite().getWorkbenchWindow();
- window.getPartService().addPartListener(_partListener);
- window.getShell().addShellListener(_partListener);
-
- // TODO: is this the right place to do this?
- // enable our editor context
- IContextService contextService = (IContextService) getSite()
- .getService(IContextService.class);
- contextService.activateContext("org.eclipse.jst.pagedesigner.editorContext"); //$NON-NLS-1$
-
- } catch (Exception e) {
- // Error in editor initialization
- _log.error("Error.HTMLEditor.5", e); //$NON-NLS-1$
- }
- 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 _textEditor != null && _textEditor.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 (_textEditor != null) {
- return _textEditor.isSaveOnCloseNeeded();
- }
- return isDirty();
- }
-
- /**
- * Posts the update code "behind" the running operation.
- */
- private 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: {
- if (source == _textEditor) {
- if (_textEditor.getEditorInput() != getEditorInput()) {
- setInput(_textEditor.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. why? It seems input
- // change event will be fired at last.
- // if (source == _textEditor)
- // {
- // if (_textEditor.getEditorInput() != getEditorInput())
- // {
- // setInput(_textEditor.getEditorInput());
- // }
- // }
- // break;
- }
- default: {
- // propagate changes. Is this needed? Answer: Yes.
- // PROP_PART_NAME, PROP_DIRTY etc.
- if (source == _textEditor) {
- firePropertyChange(propId);
- }
- break;
- }
- }
-
- }
-
- private 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());
-
- }
-
- /*
- * (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);
- if (_designViewer != null) {
-
- _designViewer.setModel(getModel());
- }
- setPartName(input.getName());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.EditorPart#isDirty()
- */
- public boolean isDirty() {
- if (getTextEditor() == null) {
- return false;
- }
- return getTextEditor().isDirty();
- }
-
- private IPropertySheetPage getPropertySheetPage()
- {
- if (_tabbedPropSheet == null || _tabbedPropSheet.getControl() == null
- || _tabbedPropSheet.getControl().isDisposed())
- {
- IPropertySheetPageFactory factory = getPageFactory();
- if (factory != null)
- {
- final IFile file = ((IFileEditorInput)getEditorInput()).getFile();
- _tabbedPropSheet = factory.createPage(file);
- }
- else
- {
- _tabbedPropSheet = new WPETabbedPropertySheetPage(this,this);
- }
- }
- return _tabbedPropSheet;
- }
-
- private IPropertySheetPageFactory getPageFactory()
- {
- //List<IElementEditFactory> result = new ArrayList<IElementEditFactory>();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++)
- {
- IExtension ext = extensions[i];
- IConfigurationElement[] elementEditElement = ext
- .getConfigurationElements();
-
- for (int j = 0; j < elementEditElement.length; j++)
- {
- final IConfigurationElement element = elementEditElement[j];
- if (element.getName().equals(
- IJMTConstants.PROPERTY_PAGE_FACTORY))
- {
- elementEditElement[j].getAttribute("class"); //$NON-NLS-1$
- Object obj;
- try
- {
- obj = elementEditElement[j]
- .createExecutableExtension("class"); //$NON-NLS-1$
-
- // TODO: we need a policy based solution here,
- // but this will do for now
- if (obj instanceof IPropertySheetPageFactory)
- {
- return (IPropertySheetPageFactory) obj;
- }
- }
- catch (CoreException e)
- {
- PDPlugin.log("Problem loading element edit extension for "+element.toString(), e); //$NON-NLS-1$
- }
- }
- }
- }
- return null;
- }
-
- /**
- * @return PaletteViewerPage
- */
- private PaletteViewerPage getPaletteViewerPage()
- {
- if (_paletteViewerPage == null)
- {
- _paletteViewerPage = _designViewer.createPaletteViewerPage();
- }
- return _paletteViewerPage;
- }
-
- /**
- * @return the edit domain
- */
- public DefaultEditDomain getEditDomain() {
- if (_editDomain == null) {
- _editDomain = new DefaultEditDomain(this);
-
- // XXX: if i don't do the following line, system will default use
- // SelectionTool. Don't know where else to set this. Since it is
- // kind of duplicate
- // to the DesignerPaletteRoot.
- _editDomain.setDefaultTool(new RangeSelectionTool());
- _editDomain.loadDefaultTool();
-
- // next config the _editDomain
- // _editDomain.setPaletteRoot(new JSFPaletteRoot());
- }
- return _editDomain;
- }
-
- /**
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.MultiPageEditorPart#pageChange(int)
- */
- protected void pageChange(int newPageIndex) {
- super.pageChange(newPageIndex);
-
- deletePreviewFiles();
-
- if (newPageIndex == _previewPageIndex) {
- // preview page activate, need to regenerate the preview text and
- // display it.
- StringBuffer result = new StringBuffer();
- try {
- // PreviewHandler.generatePreview(this.getModel(),
- // this.getEditorInput(), result);
- DocumentEditPart part = (DocumentEditPart) this._designViewer
- .getGraphicViewer().getContents();
- PreviewHandlerNew.generatePreview(part, result);
- } catch (Exception ex) {
- result = new StringBuffer();
- result
- .append(this.getModel().getStructuredDocument()
- .getText());
- // Error in page changing
- _log.info("Error.HTMLEditor.6", ex); //$NON-NLS-1$
- ex.printStackTrace();
- }
- File file = PreviewUtil.toFile(result, getEditorInput());
- if (file != null) {
- PREVIEW_FILES_LIST.add(file);
- getPreviewBrowser().loadFile(file);
- } else {
- getPreviewBrowser().getBrowser().setUrl("about:blank"); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * @return Returns the _designViewer.
- */
- public IDesignViewer getDesignViewer() {
- return _designViewer;
- }
-
- /**
- * @param mode
- */
- public void setDesignerMode(int mode) {
- if (_sashEditorPart != null && _mode != mode) {
- switch (mode) {
- case MODE_SASH_HORIZONTAL:
- _sashEditorPart.setOrientation(SWT.HORIZONTAL);
- break;
- case MODE_DESIGNER:
- _sashEditorPart.setMaximizedEditor(this._designViewer);
- break;
- case MODE_SOURCE:
- _sashEditorPart.setMaximizedEditor(this._textEditor);
- break;
- case MODE_SASH_VERTICAL:
- default:
- _sashEditorPart.setOrientation(SWT.VERTICAL);
- }
- if (getEditorInput() != null) {
- EditorUtil.setEditorInputDesignModeProperty(getEditorInput(), String.valueOf(mode));
- }
- }
- this._mode = mode;
- }
-
- /*
- * Set the sash editor mode from the stored file property
- * or the default preference.
- */
- private void initDesignerMode() {
- int preferredMode = MODE_SASH_VERTICAL;
-
- // If the user has already selected a mode for the file, use it.
- String prop = null;
- if (getEditorInput() != null) {
- prop = EditorUtil.getEditorInputDesignModeProperty(getEditorInput());
- }
- if (prop != null) {
- try {
- preferredMode = Integer.parseInt(prop);
- } catch (NumberFormatException e) {
- // do nothing;
- }
- } else {
- // Otherwise, get the default mode from preferences.
- IPreferenceStore pStore = PDPlugin.getDefault().getPreferenceStore();
- preferredMode = pStore.getInt(PDPreferences.SASH_EDITOR_MODE_PREF);
- }
-
- setDesignerMode(preferredMode);
- }
-
- /**
- * @return the current design mode
- */
- public int getDesignerMode() {
- return this._mode;
- }
-
- public IEditorPart getActiveEditor() {
- IEditorPart result = null;
- if (_sash) {
- result = _sashEditorPart.getActiveEditor();
- } else {
- if (_designViewer.getGraphicViewer().getControl().isFocusControl()) {
- result = _designViewer;
- } else if (_textEditor.getTextViewer().getControl()
- .isFocusControl()) {
- result = _textEditor;
- }
- }
- return result;
- }
-
- public String getPartName() {
- if (_textEditor != null) {
- return _textEditor.getPartName();
- }
- return super.getPartName();
- }
-
- private void deletePreviewFiles() {
- Iterator itPreviewFiles = PREVIEW_FILES_LIST.iterator();
- while (itPreviewFiles.hasNext()) {
- File file = (File)itPreviewFiles.next();
- if (file != null && file.exists()) {
- file.delete();
- }
- }
- PREVIEW_FILES_LIST.clear();
- }
-
- /**
- * Refreshes the design page. Allows an external action to force a refresh
- * after an external change, such as a DT skin change.
- */
- public void refreshDesignViewer() {
- EditPart contentEditPart = _designViewer.getGraphicViewer().getRootEditPart().getContents();
- if (contentEditPart instanceof DocumentEditPart) {
- ((DocumentEditPart)contentEditPart).styleChanged();
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IDesignViewer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IDesignViewer.java
deleted file mode 100644
index fc05338e1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IDesignViewer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-
-/**
- * This is copied from the xmleditor plugin. Represents the design viewer that
- * need can be used to show the design page.
- *
- * @author mengbo
- */
-public interface IDesignViewer {
- /**
- * @return the title
- */
- String getTitle();
-
- /**
- * @param model
- */
- void setModel(IStructuredModel model);
-
- // void setViewerSelectionManager(ViewerSelectionManager
- // viewerSelectionManager);
-
- /**
- * @return the graphical viewer
- */
- public IHTMLGraphicalViewer getGraphicViewer();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IPropertySheetPageFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IPropertySheetPageFactory.java
deleted file mode 100644
index 3e37903d9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/IPropertySheetPageFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-/**
- * A factory that can be used with the pageDesignerExtension to override
- * the default property sheet page provided by the WPE when tag elements are
- * selected by the user.
- *
- * This interface should not be implemented or extended by clients. Use
- * AbstractPropertySheetPageFactory instead.
- *
- * @author cbateman
- *
- */
-public interface IPropertySheetPageFactory
-{
- /**
- * @param file
- * @return the property sheet page for the file.
- */
- IPropertySheetPage createPage(final IFile file);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/OutlineConfiguration.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/OutlineConfiguration.java
deleted file mode 100644
index d35de2dea..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/OutlineConfiguration.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jst.jsp.ui.views.contentoutline.JSPContentOutlineConfiguration;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-
-/**
- * the HTML editor's outline view configuration
- *
- */
-public class OutlineConfiguration extends JSPContentOutlineConfiguration {
- private Object[] _selections = new Object[0];
-
- public ISelection getSelection(TreeViewer viewer, ISelection selection) {
- if ((viewer.getInput() instanceof IStructuredModel)
- && (selection instanceof ITextSelection)) {
- _selections = getSelectedObjects((IStructuredModel) viewer
- .getInput(), (ITextSelection) selection);
- if (_selections != null) {
- return super.getSelection(viewer, new StructuredSelection(
- _selections));
- }
- }
- else if (selection instanceof IStructuredSelection)
- {
- return super.getSelection(viewer, selection);
- }
- return super.getSelection(viewer, new StructuredSelection(_selections));
- }
-
- private Object[] getSelectedObjects(IStructuredModel model,
- ITextSelection selection) {
- Object[] selectedStructures = null;
- if (model != null) {
- IndexedRegion region = model
- .getIndexedRegion(selection.getOffset());
- int end = selection.getOffset() + selection.getLength();
- if (region != null) {
- if (end <= region.getEndOffset()) {
- // single selection
- selectedStructures = new Object[1];
- selectedStructures[0] = region;
- } else {
- // multiple selection
- int maxLength = model.getStructuredDocument().getLength();
- List structures = new ArrayList(2);
- while (region != null && region.getEndOffset() <= end
- && region.getEndOffset() < maxLength) {
- structures.add(region);
- region = model
- .getIndexedRegion(region.getEndOffset() + 1);
- }
- selectedStructures = structures.toArray();
- }
- }
- }
- if (selectedStructures == null) {
- selectedStructures = new Object[0];
- }
- return selectedStructures;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/PageDesignerActionConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/PageDesignerActionConstants.java
deleted file mode 100644
index cbe7381e6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/PageDesignerActionConstants.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.gef.ui.actions.GEFActionConstants;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * Common constants used to id specific locations in the canvas context menu.
- *
- * @see SimpleGraphicalEditor.ContextMenuListener for construction order
- *
- * @author mengbo
- */
-public class PageDesignerActionConstants
-{
- /**
- * Id for the standard Edit sub-menu
- */
- public static final String EDIT_SUBMENU_ID = "org.eclipse.jst.pagedesigner.context.submenu.edit"; //$NON-NLS-1$
- /**
- * Id for the standard Select sub-menu
- */
- public static final String SELECT_SUBMENU_ID = "org.eclipse.jst.pagedesigner.context.submenu.select"; //$NON-NLS-1$
- /**
- * Id for the standard Insert sub-menu
- */
- public static final String INSERT_SUBMENU_ID = "org.eclipse.jst.pagedesigner.context.submenu.insert"; //$NON-NLS-1$
- /**
- * Id for the standard Navigate sub-menu
- */
- public static final String NAVIGATE_SUBMENU_ID = "org.eclipse.jst.pagedesigner.context.submenu.navigate"; //$NON-NLS-1$
- /**
- * Id for the standard Style sub-menu
- */
- public static final String STYLE_SUBMENU_ID = "org.eclipse.jst.pagedesigner.context.submenu.style"; //$NON-NLS-1$
- /**
- * Id for the standard Show(View) sub-menu
- */
- public static final String SHOWVIEW_SUBMENU_ID = "org.eclipse.jst.pagedesigner.viewMenuMgr"; //$NON-NLS-1$
-
- /**
- * Undo action group
- */
- public static final String GROUP_UNDO = GEFActionConstants.GROUP_UNDO;
- /**
- * Standard Edit sub-menu action group
- */
- public static final String GROUP_EDIT = GEFActionConstants.GROUP_EDIT;
- /**
- * Group for container injected actions
- */
- public static final String GROUP_CONTAINER = "org.eclipse.jst.pagedesigner.container"; //$NON-NLS-1$
- /**
- * Standard Style sub-menu action group
- */
- public static final String GROUP_STYLE = "org.eclipse.jst.pagedesigner.style"; //$NON-NLS-1$
- /**
- * Group for third-party contributed tag-specific actions
- */
- public static final String GROUP_SPECIAL = "org.eclipse.jst.pagedesigner.special"; //$NON-NLS-1$
- /**
- * Standard Select sub-menu action group
- */
- public static final String GROUP_SELECT = "org.eclipse.jst.pagedesigner.select"; //$NON-NLS-1$
- /**
- * Standard Insert sub-menu action group
- */
- public static final String GROUP_INSERT = "org.eclipse.jst.pagedesigner.insert"; //$NON-NLS-1$
- /**
- * Standard Navigate sub-menu action group
- */
- public static final String GROUP_NAVIGATE = "org.eclipse.jst.pagedesigner.navigate"; //$NON-NLS-1$
-
-
- /**
- * Add standard group separators for the Edit sub-menu
- *
- * @param menu
- */
- public static final void addStandardEditActionGroups(IMenuManager menu)
- {
- menu.add(new Separator(GROUP_UNDO));
- menu.add(new Separator(GROUP_EDIT));
- }
-
- /**
- * Adds standard group separators to the given MenuManager.
- *
- * @param menu the MenuManager
- */
- public static final void addStandardActionGroups(IMenuManager menu) {
- menu.add(new Separator(GROUP_CONTAINER));
- menu.add(new Separator(GROUP_SPECIAL));
- menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- /**
- * Add standard group separators for the Style sub-menu
- * @param menu
- */
- public static void addStandardStyleActionGroups(IMenuManager menu)
- {
- menu.add(new Separator(GROUP_STYLE));
- }
-
- /**
- * Add standard group separators for the Select sub-menu
- * @param menu
- */
- public static void addStandardSelectActionGroups(IMenuManager menu) {
- menu.add(new Separator(GROUP_SELECT));
- }
-
- /**
- * Add standard group separators for the Insert sub-menu
- * @param menu
- */
- public static void addStandardInsertActionGroups(IMenuManager menu) {
- menu.add(new Separator(GROUP_INSERT));
- }
-
- /**
- * Add standard group separators for the Navigate sub-menu
- * @param menu
- */
- public static void addStandardNavigateActionGroups(
- IMenuManager menu) {
- menu.add(new Separator(GROUP_NAVIGATE));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SelectionSynchronizer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SelectionSynchronizer.java
deleted file mode 100644
index 33025aa4d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SelectionSynchronizer.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.utils.SelectionHelper;
-import org.eclipse.swt.custom.StyledText;
-
-/**
- * This class handles selection synchronization between the designer and other
- * parts. It listens event from both ViewerSelectionManager and the
- * IDesignerView, and convert the events to each other.
- * <p>
- * SelectionSynchronizer will be registered on the ViewerSelectionManager,
- * basically listens to selection change of other parts, and make the designer
- * sync with them.
- * <p>
- * As ViewerSelectionManager is firing out both textSelectionChange and
- * nodeSelectionChange, we only need to listen to one of them. As
- * textSelectionChange provide more information than nodeSelectionChange, so
- * we'll listen only to textSelectionChange.
- *
- * @author mengbo
- * @version 1.5
- */
-public class SelectionSynchronizer implements ISelectionChangedListener {
- private boolean _firingChange = false;
-
- private SimpleGraphicalEditor _editor;
-
- /**
- * @param editor
- */
- public SelectionSynchronizer(SimpleGraphicalEditor editor) {
- _editor = editor;
- }
-
- /**
- * @return true if the status check is okay
- */
- protected boolean statusCheckOk() {
- try {
- StyledText text = _editor.getHTMLEditor().getTextEditor()
- .getTextViewer().getTextWidget();
- if (text == null || text.isDisposed()) {
- return false;
- }
- return true;
- } catch (NullPointerException ex) {
- return false;
- }
- }
-
- /**
- * This is for event from the designer.
- */
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
-
- if (!_firingChange) {
- // check current status
- if (!statusCheckOk()) {
- return;
- }
-
- _firingChange = true;
- try {
- // convert the designer selection into SSE selection
- // (IStructureSelection of nodes
- // or textSelection, and let the ViewerSelectionManager to
- // handle it.
- // if (selection instanceof IStructuredSelection)
- // {
- // IStructuredSelection nodeSel =
- // SelectionHelper.convertFromDesignSelection((IStructuredSelection)selection);
- // can't use DoubleClickEvent, since it requre a Viewer.
- // _viewerSelectionManager.doubleClick(new
- // DoubleClickEvent(null, nodeSel));
- // }
- // else if (selection instanceof DesignRange)
- // {
- // ITextSelection srcselection =
- // SelectionHelper.convertFromDesignSelection((DesignRange)selection);
- // event = new SelectionChangedEvent(_editor.getGraphicViewer(),
- // srcselection);
- // _viewerSelectionManager.selectionChanged(event);
- // }
- ITextSelection srcselection = SelectionHelper
- .convertFromDesignSelectionToTextSelection(selection);
-
- // ideally, we should let the text editor display the selection
- // through calls to _viewerSelectionManager,
- // but seemed _viewerSelectionManager don't support that, so we
- // do workaround by calling the text editor (lium)
- _editor.getHTMLEditor().getTextEditor().selectAndReveal(
- srcselection.getOffset(), srcselection.getLength());
- } finally {
- _firingChange = false;
- }
- }
- }
-
- /**
- * We are listening to the selection change in ViewerSelectionManager. The
- * original source of the event could be source view or the outline view or
- * other party that participate in the ViewerSelectionManager.
- * @param start
- * @param end
- */
- public void textSelectionChanged(int start, int end) {
- if (!_firingChange) {
- try {
- _firingChange = true;
-
- // XXX: workaround a SSE problem. In SSE, when user select a
- // range, it will fire two textSelectionChange event
- // the first one indicate the correct range, the second one is
- // zero size for caret position.
- // @see ViewerSelectionManagerImpl.caretMoved
- // We try to ignore the second event by checking whether the
- // current real selection is empty
- if (start == end) {
- ITextSelection sel = (ITextSelection) _editor
- .getHTMLEditor().getTextEditor()
- .getSelectionProvider().getSelection();
- if (sel.getLength() != 0) {
- return;
- }
- }
-
- if (start > end) {
- int temp = start;
- start = end;
- end = temp;
- }
- int offset = start;
- int length = end - start;
-
- ITextSelection oldSelection = SelectionHelper
- .convertFromDesignSelectionToTextSelection(_editor
- .getGraphicViewer().getSelection());
- if (oldSelection != null && oldSelection.getOffset() == offset
- && oldSelection.getLength() == length) {
- return;
- }
-
- ISelection selection = SelectionHelper
- .convertToDesignerSelection(this._editor
- .getGraphicViewer(), offset, length);
- _editor.getGraphicViewer().setSelection(selection);
- } finally {
- _firingChange = false;
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java
deleted file mode 100644
index 8d3bdecb9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java
+++ /dev/null
@@ -1,897 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.gef.ui.actions.UpdateAction;
-import org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;
-import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
-import org.eclipse.gef.ui.views.palette.PaletteViewerPage;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.container.ContainerActionGroup;
-import org.eclipse.jst.pagedesigner.actions.menuextension.CustomedContextMenuActionGroup;
-import org.eclipse.jst.pagedesigner.actions.range.RangeActionGroup;
-import org.eclipse.jst.pagedesigner.actions.single.SingleElementActionGroup;
-import org.eclipse.jst.pagedesigner.commands.CopyAction;
-import org.eclipse.jst.pagedesigner.commands.CutAction;
-import org.eclipse.jst.pagedesigner.commands.DeleteAction;
-import org.eclipse.jst.pagedesigner.commands.PasteAction;
-import org.eclipse.jst.pagedesigner.dnd.internal.LocalSelectionDropTargetListener;
-import org.eclipse.jst.pagedesigner.dnd.internal.PDTemplateTransferDropTargetListener;
-import org.eclipse.jst.pagedesigner.dnd.internal.ResouceDropTargetListener;
-import org.eclipse.jst.pagedesigner.editors.actions.ActionsMessages;
-import org.eclipse.jst.pagedesigner.editors.actions.DesignerUndoRedoAction;
-import org.eclipse.jst.pagedesigner.editors.actions.RelatedViewActionGroup;
-import org.eclipse.jst.pagedesigner.editors.actions.SkinsMenuItemBuilder;
-import org.eclipse.jst.pagedesigner.editors.palette.DesignerPaletteCustomizer;
-import org.eclipse.jst.pagedesigner.editors.palette.DesignerPaletteRootFactory;
-import org.eclipse.jst.pagedesigner.editors.palette.DesignerPaletteViewerProvider;
-import org.eclipse.jst.pagedesigner.editors.palette.IPaletteFactory;
-import org.eclipse.jst.pagedesigner.jsp.core.internal.pagevar.DocumentPageVariableAdapter;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.adapter.PageVariableAdapterFactory;
-import org.eclipse.jst.pagedesigner.parts.CSSStyleAdapterFactory;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.HTMLEditPartsFactory;
-import org.eclipse.jst.pagedesigner.parts.RefresherFactory;
-import org.eclipse.jst.pagedesigner.utils.SelectionHelper;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchCommandConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.IModelStateListener;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.undo.IDocumentSelectionMediator;
-import org.eclipse.wst.sse.core.internal.undo.UndoDocumentEvent;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * @author mengbo
- */
-public class SimpleGraphicalEditor extends GraphicalEditorWithFlyoutPalette implements
- IDesignViewer, IDocumentSelectionMediator {
-
- private HTMLEditor _delegate;
-
- private IHTMLGraphicalViewer _viewer;
-
- private IStructuredModel _model;
-
- /** Palette component, holding the tools and shapes. */
- private PaletteRoot _palette;
-
- private PaletteViewerPage _paletteViewerPage;
-
- private SelectionSynchronizer _synchronizer = new SelectionSynchronizer(
- this);
-
- private IModelStateListener _internalModelListener = new IModelStateListener() {
- public void modelAboutToBeChanged(IStructuredModel model) {
- // do nothing
- }
-
- public void modelChanged(IStructuredModel model) {
- updateActionsWhenModelChange();
- }
-
- public void modelDirtyStateChanged(IStructuredModel model,
- boolean isDirty) {
- // do nothing
- }
-
- public void modelResourceDeleted(IStructuredModel model) {
- // do nothing
- }
-
- public void modelResourceMoved(IStructuredModel oldModel,
- IStructuredModel newModel) {
- // do nothing
- }
-
- public void modelAboutToBeReinitialized(IStructuredModel structuredModel) {
- // do nothing
- }
-
- public void modelReinitialized(IStructuredModel structuredModel) {
- // do nothing
- }
- };
-
- private PaletteViewerProvider _paletteViewerProvider;
-
- /**
- * TODO: why isn't this private?
- */
- protected IPaletteFactory _paletteViewerPageFactory;
-
- /**
- * @param delegate
- * @param editdomain
- */
- public SimpleGraphicalEditor(HTMLEditor delegate,
- DefaultEditDomain editdomain) {
- _delegate = delegate;
- initPaletteFactory();
- this.setEditDomain(editdomain);
- }
-
- protected void createGraphicalViewer(Composite parent) {
- _viewer = IHTMLGraphicalViewer.Factory.createGraphicalViewer(this);
- Control control = _viewer.createControl(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(control,
- PDPlugin.getResourceString("SimpleGraphicalEditor.help.id")); //$NON-NLS-1$
- setGraphicalViewer(_viewer);
- configureGraphicalViewer();
- hookGraphicalViewer();
- initializeGraphicalViewer();
- initializeContextMenu();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#dispose()
- */
- public void dispose() {
- if (_model != null) {
- _model.getUndoManager().disconnect(this);
- }
-
- super.dispose();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphicalViewer()
- */
- protected void initializeGraphicalViewer() {
- ScalableRootEditPart rootEditPart = new ScalableRootEditPart();
- _viewer.setRootEditPart(rootEditPart);
-
- _viewer.getViewport().setContentsTracksWidth(true);
-
- _viewer.setKeyHandler(new GraphicalViewerKeyHandler(_viewer));
-
- // initialize the viewer with input
- // IStructuredModel sModel =
- // StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(ContentTypeIdForHTML.ContentTypeID_HTML);
- // IDOMDocument designDoc = ((IDOMModel)sModel).getDocument();
- // HTMLEditPartsFactory factory = new HTMLEditPartsFactory(designDoc);
- HTMLEditPartsFactory factory = new HTMLEditPartsFactory(null);
-
- _viewer.setEditPartFactory(factory);
-
- // for sync with source view.
-
- _viewer.addDropTargetListener(new LocalSelectionDropTargetListener(
- _viewer));
- _viewer.addDropTargetListener(new PDTemplateTransferDropTargetListener(
- _viewer));
- _viewer.addDropTargetListener(new ResouceDropTargetListener(_viewer));
-
- // add double click support.
- _viewer.getControl().addMouseListener(new MouseAdapter() {
- public void mouseDoubleClick(MouseEvent e) {
- try {
- getSite().getPage().showView(IPageLayout.ID_PROP_SHEET);
- } catch (PartInitException e1) {
- // ignore
- }
- }
- });
-
- super.initializeGraphicalViewer();
- }
-
- /**
- *
- */
- protected void initializeContextMenu() {
- Control gviewer = _viewer.getControl();
- MenuManager menuMgr = new MenuManager();
- menuMgr.setRemoveAllWhenShown(true);
- Menu menu = menuMgr.createContextMenu(gviewer);
- gviewer.setMenu(menu);
- menuMgr.addMenuListener(new ContextMenuListener());
- getSite().registerContextMenu(
- "HTMLVisualEditor.contextMenu", menuMgr, _viewer); //$NON-NLS-1$
- }
-
- private void updateActionsWhenModelChange() {
- // update undo/redo action
- IAction action = this.getAction(IWorkbenchCommandConstants.EDIT_UNDO);
- ((UpdateAction) action).update();
-
- action = this.getAction(IWorkbenchCommandConstants.EDIT_REDO);
- ((UpdateAction) action).update();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#createActions()
- */
- protected void createActions() {
- super.createActions();
- ActionRegistry registry = getActionRegistry();
- ISharedImages sharedImages = PlatformUI.getWorkbench()
- .getSharedImages();
-
- IAction action;
-
- action = new DesignerUndoRedoAction(true, this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_UNDO);
- action.setId(IWorkbenchCommandConstants.EDIT_UNDO);
- getSite().getKeyBindingService().registerAction(action);
- registry.registerAction(action);
-
- action = new DesignerUndoRedoAction(false, this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_REDO_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_REDO);
- action.setId(IWorkbenchCommandConstants.EDIT_REDO);
- getSite().getKeyBindingService().registerAction(action);
- registry.registerAction(action);
-
- action = new DeleteAction(this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_DELETE);
- action.setId(IWorkbenchCommandConstants.EDIT_DELETE);
- getSite().getKeyBindingService().registerAction(action);
- this.getSelectionActions().add(action.getId());
- registry.registerAction(action);
-
- action = new CopyAction(this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_COPY);
- action.setId(IWorkbenchCommandConstants.EDIT_COPY);
- getSite().getKeyBindingService().registerAction(action);
- this.getSelectionActions().add(action.getId());
- registry.registerAction(action);
-
- action = new CutAction(this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_CUT);
- action.setId(IWorkbenchCommandConstants.EDIT_CUT);
- getSite().getKeyBindingService().registerAction(action);
- this.getSelectionActions().add(action.getId());
- registry.registerAction(action);
-
- action = new PasteAction(this);
- action.setImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
- action.setDisabledImageDescriptor(sharedImages
- .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED));
- action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_PASTE);
- action.setId(IWorkbenchCommandConstants.EDIT_PASTE);
- getSite().getKeyBindingService().registerAction(action);
- this.getSelectionActions().add(action.getId());
- registry.registerAction(action);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
- */
- public void doSave(IProgressMonitor monitor) {
- if (_delegate != null) {
- _delegate.doSave(monitor);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.ISaveablePart#doSaveAs()
- */
- public void doSaveAs() {
- if (_delegate != null) {
- _delegate.doSaveAs();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.ISaveablePart#isDirty()
- */
- public boolean isDirty() {
- if (_delegate != null) {
- return _delegate.isDirty();
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
- */
- public boolean isSaveAsAllowed() {
- if (_delegate != null) {
- return _delegate.isSaveAsAllowed();
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.sybase.html.editor.IDesignViewer#setModel(com.ibm.sse.model.IStructuredModel)
- */
- public void setModel(IStructuredModel model) {
- if (_model != null) {
- if (_model.getUndoManager() != null)
- _model.getUndoManager().disconnect(this);
- _model.removeModelStateListener(_internalModelListener);
- }
-
- this._model = model;
-
- if (_model != null) {
- _model.addModelStateListener(_internalModelListener);
- if (_model.getUndoManager() != null) {
- _model.getUndoManager().connect(this);
- updateActionsWhenModelChange();
- }
- }
-
- if (model instanceof IDOMModel) {
- IDOMDocument doc = ((IDOMModel) model).getDocument();
- PropagatingAdapter adapter = (PropagatingAdapter) doc
- .getAdapterFor(PropagatingAdapter.class);
- if (adapter != null) {
- INodeAdapterFactory factory = RefresherFactory.getInstance();
- adapter.addAdaptOnCreateFactory(factory);
- adapter.initializeForFactory(factory, doc);
- // CSSStyleAdapterFactory fac2 =
- // CSSStyleAdapterFactory.getInstance();
- // adapter.addAdaptOnCreateFactory(fac2);
- // adapter.initializeForFactory(fac2, doc);
- }
- ((IDOMModel) model).getFactoryRegistry().addFactory(
- CSSStyleAdapterFactory.getInstance());
-
- // _viewer.getDestDocumentForDesign().getModel().getFactoryRegistry().addFactory(CSSStyleAdapterFactory.getInstance());
- ((IDOMModel) model).getFactoryRegistry().addFactory(
- new PageVariableAdapterFactory());
- doc.addAdapter(new DocumentPageVariableAdapter(doc));
- _viewer.setContents(((IDOMModel) model).getDocument());
- } else {
- _viewer.setContents((EditPart) null);
- }
- }
-
- /**
- * @return the selection synchronizer
- */
- protected SelectionSynchronizer getSynchronizer() {
- return _synchronizer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#updateActions(java.util.List)
- */
- protected void updateActions(List actionIds) {
- super.updateActions(actionIds);
- }
-
- /**
- * @param id
- * @return the action for the id
- */
- public IAction getAction(Object id) {
- // lium: following lines commented out, see comments in
- // DesignerUndoRedoAction
- // if (ITextEditorActionConstants.UNDO.equals(id) ||
- // ITextEditorActionConstants.REDO.equals(id))
- // {
- // return _delegate.getTextEditor().getAction((String) id);
- // }
- return getActionRegistry().getAction(id);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#getPalettePreferences()
- */
- protected FlyoutPreferences getPalettePreferences() {
- return DesignerPaletteRootFactory.createPalettePreferences();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#getPaletteRoot()
- */
- protected PaletteRoot getPaletteRoot() {
- if (_palette == null) {
- if (_paletteViewerPageFactory != null) {
- _palette = _paletteViewerPageFactory.createPaletteRoot(_delegate.getEditorInput());
- }
- if (_palette == null) {
- _palette = DesignerPaletteRootFactory
- .createPaletteRoot(getCurrentFile(_delegate.getEditorInput()));
- }
- }
- return _palette;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette#createPaletteViewerProvider()
- */
- protected PaletteViewerProvider createPaletteViewerProvider() {
- if (_paletteViewerProvider == null) {
- if (_paletteViewerPageFactory != null) {
- _paletteViewerProvider = _paletteViewerPageFactory.createPaletteViewerProvider(getEditDomain());
- }
- if (_paletteViewerProvider == null) {//if still null
- return new DesignerPaletteViewerProvider(getEditDomain()) {
- protected void configurePaletteViewer(PaletteViewer viewer) {
- super.configurePaletteViewer(viewer);
- viewer.setCustomizer(new DesignerPaletteCustomizer());
-
- // create a drag source listener for this palette viewer
- // together with an appropriate transfer drop target listener,
- // this will enable
- // model element creation by dragging a
- // CombinatedTemplateCreationEntries
- // from the palette into the editor
- // @see ShapesEditor#createTransferDropTargetListener()
- viewer
- .addDragSourceListener(new TemplateTransferDragSourceListener(
- viewer));
- }
- };
- }
- }
- return _paletteViewerProvider;
- }
-
- /**
- * @return the palette viewer page
- */
- protected PaletteViewerPage createPaletteViewerPage() {
- if (_paletteViewerPageFactory != null) {
- _paletteViewerPage = _paletteViewerPageFactory.createPaletteViewerPage(createPaletteViewerProvider());
- }
- if (_paletteViewerPage == null) {
- DefaultEditDomain editDomain = getEditDomain();
-// PaletteItemManager manager = PaletteItemManager
-// .getInstance(getCurrentFile(getEditorInput()));
-// manager.reset();
- PaletteRoot paletteRoot = getPaletteRoot();
- editDomain.setPaletteRoot(paletteRoot);
-
-// _paletteViewerPage = (PaletteViewerPage) super.getAdapter(PalettePage.class);
- // if possible, try to use the
- if (_paletteViewerPage == null)
- {
- PaletteViewerProvider provider = getPaletteViewerProvider2();
- _paletteViewerPage = new PaletteViewerPage(provider);
- }
- }
- return _paletteViewerPage;
- }
-
- PaletteViewerProvider getPaletteViewerProvider2()
- {
- return getPaletteViewerProvider();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editors.IDesignViewer#getGraphicViewer()
- */
- public IHTMLGraphicalViewer getGraphicViewer() {
- return _viewer;
- }
-
- /**
- * @return the html editor delegate
- */
- public HTMLEditor getHTMLEditor() {
- return _delegate;
- }
-
-// private IProject getCurrentProject(IEditorInput input) {
-// IProject curProject = null;
-// IFile inputFile = null;
-// if (input instanceof IFileEditorInput) {
-// inputFile = ((IFileEditorInput) input).getFile();
-// curProject = inputFile.getProject();
-// }
-// return curProject;
-// }
-
- private IFile getCurrentFile(IEditorInput input) {
- IFile inputFile = null;
- if (input instanceof IFileEditorInput) {
- inputFile = ((IFileEditorInput) input).getFile();
- }
- return inputFile;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart,
- * org.eclipse.jface.viewers.ISelection)
- */
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if (_viewer != null) {
- GraphicalViewer viewerViewer = getGraphicalViewer();
- if (viewerViewer != null && viewerViewer.getControl() != null
- && viewerViewer.getControl().isFocusControl()) {
- updateActions(getSelectionActions());
- if (selection instanceof IStructuredSelection && //
- !(((IStructuredSelection) selection).getFirstElement() instanceof DocumentEditPart)) {
- ((IHTMLGraphicalViewer) viewerViewer)
- .updateRangeSelection(selection);
- }
- }
- } else {
- super.selectionChanged(part, selection);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.undo.IDocumentSelectionMediator#getDocument()
- */
- public IDocument getDocument() {
- if (_model != null) {
- return _model.getStructuredDocument();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.undo.IDocumentSelectionMediator#undoOperationSelectionChanged(org.eclipse.wst.sse.core.internal.undo.UndoDocumentEvent)
- */
- public void undoOperationSelectionChanged(UndoDocumentEvent event) {
- IDocumentSelectionMediator requester = event.getRequester();
- if (this == requester) {
- // ok, the undo/redo operation is initialized by designer page.
- // we should set selection in designer.
- // However, when this method is called, the modelChanged event is
- // not fired yet, so the
- // editpart hasn't refreshed yet. So we register a
- // modelStateListener, and do the selection
- // in modelChangedEvent. (lium)
- final int offset = event.getOffset();
- final int length = event.getLength();
-
- _model.addModelStateListener(new IModelStateListener() {
- public void modelAboutToBeChanged(IStructuredModel model) {
- // nothing to do
- }
-
- public void modelChanged(IStructuredModel model) {
- _model.removeModelStateListener(this);
- ISelection sel = SelectionHelper
- .convertToDesignerSelection(getGraphicViewer(),
- offset, length);
- if (sel != null) {
- getGraphicViewer().setSelection(sel);
- }
- }
-
- public void modelDirtyStateChanged(IStructuredModel model,
- boolean isDirty) {
- // do nothing
- }
-
- public void modelResourceDeleted(IStructuredModel model) {
- // do nothign
- }
-
- public void modelResourceMoved(IStructuredModel oldModel,
- IStructuredModel newModel) {
- // do nothing
- }
-
- public void modelAboutToBeReinitialized(
- IStructuredModel structuredModel) {
- // do nothing
- }
-
- public void modelReinitialized(IStructuredModel structuredModel) {
- // do nothing
- }
- });
- }
- }
-
- private final class ContextMenuListener implements IMenuListener
- {
- public void menuAboutToShow(IMenuManager menuMgr1)
- {
- // add standarized sub-menus
- addEditSubMenu(menuMgr1);
- addSelectSubMenu(menuMgr1);
- addInsertSubMenu(menuMgr1);
- /*
- * Bug 172959 - [WPE] WPE context menu Navigate->Java->Value doesn't work..
- *
- addNavigateSubMenu(menuMgr1);
- */
- addStyleSubMenu(menuMgr1);
-
- // add separators that mark standard append locations in the main
- // context menu
- PageDesignerActionConstants.addStandardActionGroups(menuMgr1);
-
- // TODO: Run/Debug?
-
- // insert ElementEdit contributed menu items
- final ContainerActionGroup containerActionGroup =
- new ContainerActionGroup();
- ActionContext context = new ActionContext(_viewer
- .getSelection());
- context.setInput(_viewer);
- containerActionGroup.setContext(context);
- containerActionGroup.fillContextMenu(menuMgr1);
- containerActionGroup.setContext(null);
-
- // TODO: TableActionGroup
-
- // if on a text context, (instead of a ElementEditPart),
- // add text styling actions
- final RangeActionGroup rangeActionGroup = new RangeActionGroup();
- context = new ActionContext(_viewer.getSelection());
- context.setInput(_viewer);
- rangeActionGroup.setContext(context);
- rangeActionGroup.fillContextMenu(menuMgr1);
- rangeActionGroup.setContext(null);
-
- // Add actions for single ElementEditPart's that are common
- // to all
- final SingleElementActionGroup singleActionGroup =
- new SingleElementActionGroup();
- singleActionGroup.setContext(new ActionContext(_viewer
- .getSelection()));
- singleActionGroup.fillContextMenu(menuMgr1);
- singleActionGroup.setContext(null);
-
- // add "Show In" actions...
- final RelatedViewActionGroup viewMenu = new RelatedViewActionGroup(getEditDomain());
- context = new ActionContext(_viewer.getSelection());
- viewMenu.setContext(context);
- viewMenu.fillContextMenu(menuMgr1);
-
- // add extension point contributed menu actions
- CustomedContextMenuActionGroup customedMenu = new CustomedContextMenuActionGroup();
- customedMenu.setContext(new ActionContext(_viewer
- .getSelection()));
- customedMenu.setModel(_model);
- customedMenu.setParentControl(_viewer.getControl());
- customedMenu.fillContextMenu(menuMgr1);
- customedMenu.setContext(null);
- customedMenu.setParentControl(null);
- customedMenu.setModel(null);
-
- //add skins menu
- IEditorInput editorInput = _delegate.getEditorInput();
- if (editorInput instanceof IFileEditorInput) {
- IFile file = ((IFileEditorInput)editorInput).getFile();
- IProject project = file.getProject();
- if (project != null) {
- SkinsMenuItemBuilder builder = new SkinsMenuItemBuilder(project);
- builder.buildMenuManagers(menuMgr1);
- }
- }
- }
-
- /*
- * Bug 172959 - [WPE] WPE context menu Navigate->Java->Value doesn't work..
- *
- private void addNavigateSubMenu(IMenuManager menu) {
- final IMenuManager navigateSubmenu =
- new MenuManager(ActionsMessages.getString("Navigate.Menu") //$NON-NLS-1$
- , PageDesignerActionConstants.NAVIGATE_SUBMENU_ID);
- menu.add(navigateSubmenu);
- PageDesignerActionConstants.addStandardNavigateActionGroups(navigateSubmenu);
- }
- */
-
- private void addEditSubMenu(IMenuManager menu)
- {
- final IMenuManager editSubmenu
- = new MenuManager(ActionsMessages.getString("Edit.Menu") //$NON-NLS-1$
- , PageDesignerActionConstants.EDIT_SUBMENU_ID);
- menu.add(editSubmenu);
- PageDesignerActionConstants.addStandardEditActionGroups(editSubmenu);
-
- // FIXME: for UNDO/REDO, maybe need also wrap them in
- // DesignerCommand.
- // otherwise don't have validate() called after the source
- // change.
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_UNDO,
- getAction(IWorkbenchCommandConstants.EDIT_UNDO));
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_UNDO,
- getAction(IWorkbenchCommandConstants.EDIT_REDO));
-
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_EDIT,
- getAction(IWorkbenchCommandConstants.EDIT_CUT));
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_EDIT,
- getAction(IWorkbenchCommandConstants.EDIT_COPY));
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_EDIT,
- getAction(IWorkbenchCommandConstants.EDIT_PASTE));
- editSubmenu.appendToGroup(PageDesignerActionConstants.GROUP_EDIT,
- getAction(IWorkbenchCommandConstants.EDIT_DELETE));
-
- }
-
- private void addStyleSubMenu(IMenuManager menu)
- {
- final IMenuManager styleSubmenu =
- new MenuManager(ActionsMessages.getString("Style.Menu") //$NON-NLS-1$
- , PageDesignerActionConstants.STYLE_SUBMENU_ID);
- menu.add(styleSubmenu);
- PageDesignerActionConstants.addStandardStyleActionGroups(styleSubmenu);
- }
- private void addInsertSubMenu(IMenuManager menu) {
- final IMenuManager insertSubmenu =
- new MenuManager(ActionsMessages.getString("Insert.Menu") //$NON-NLS-1$
- , PageDesignerActionConstants.INSERT_SUBMENU_ID);
- menu.add(insertSubmenu);
- PageDesignerActionConstants.addStandardInsertActionGroups(insertSubmenu);
- }
-
- private void addSelectSubMenu(IMenuManager menu)
- {
- final IMenuManager selectSubMenu =
- new MenuManager(ActionsMessages.getString("Select.Menu") //$NON-NLS-1$
- , PageDesignerActionConstants.SELECT_SUBMENU_ID);
- menu.add(selectSubMenu);
- PageDesignerActionConstants.addStandardSelectActionGroups(selectSubMenu);
- }
- }
-
-
- /**
- * @return the palette viewer page
- */
- public PaletteViewerPage getPaletteViewerPage() {
- if (_paletteViewerPage == null) {
- _paletteViewerPage = createPaletteViewerPage();
- }
- return _paletteViewerPage;
- }
-
- /**
- * @return the palette factory
- */
- protected IPaletteFactory initPaletteFactory()
- {
- if (_paletteViewerPageFactory == null) {
- //List<IElementEditFactory> result = new ArrayList<IElementEditFactory>();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++)
- {
- IExtension ext = extensions[i];
- IConfigurationElement[] elementEditElement = ext
- .getConfigurationElements();
-
- for (int j = 0; j < elementEditElement.length; j++)
- {
- final IConfigurationElement element = elementEditElement[j];
- if (element.getName().equals(
- IJMTConstants.PALETTE_FACTORY))
- {
- elementEditElement[j].getAttribute("class"); //$NON-NLS-1$
- Object obj;
- try
- {
- obj = elementEditElement[j]
- .createExecutableExtension("class"); //$NON-NLS-1$
-
- // TODO: we need a policy based solution here,
- // but this will do for now
- if (obj instanceof IPaletteFactory)
- {
- _paletteViewerPageFactory = (IPaletteFactory) obj;
- }
- }
- catch (CoreException e)
- {
- PDPlugin.log("Problem loading element edit extension for "+element.toString(), e); //$NON-NLS-1$
- }
- }
- }
- }
- }
- return _paletteViewerPageFactory;
- }
-//
-// @Override
-// public Object getAdapter(Class type) {
-// if (type == PalettePage.class) {
-// return getPaletteViewerPage();
-// }
-// return super.getAdapter(type);
-// }
-
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.java
deleted file mode 100644
index b5da9485e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ActionsMessages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.editors.actions.ActionsMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private ActionsMessages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the resource for the key
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.properties
deleted file mode 100644
index d57d3c14f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ActionsMessages.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-DesignActionBarFactory.Underline=Underline
-DesignActionBarFactory.Italic=Italic
-DesignActionBarFactory.Bold=Bold
-DesignActionBarFactory.Small=Small
-DesignActionBarFactory.Big=Big
-DesignActionBarFactory.Paragraph=Paragraph
-DesignActionBarFactory.Underline.Text=Underline
-DesignActionBarFactory.Italic.Text=Italic
-DesignActionBarFactory.Bold.Text=Bold
-DesignActionBarFactory.Small.Text=Small
-DesignActionBarFactory.Big.Text=Big
-PaletteViewAction.Menu.PaletteView=Palette
-RelatedViewActionGroup.Menu.ShowView=Show
-PropertiesViewAction.Menu.Properties=Properties
-DataBindingViewAction.Menu.DataBinding=DataBinding
-OutlineViewAction.Menu.OutlineView=Outline
-DesignerStyleActionGroup.CommandLabel.V=V
-DesignerStyleActionGroup.CommandLabel.H=H
-DesignerStyleActionGroup.CommandLabel.D=D
-DesignerStyleActionGroup.CommandLabel.S=S
-DesignerStyleActionGroup.CommandLabel.V.Tooltip=Show Design Page and Source Page as Horizontal Panes
-DesignerStyleActionGroup.CommandLabel.H.Tooltip=Show Design Page and Source Page as Vertical Panes
-DesignerStyleActionGroup.CommandLabel.D.Tooltip=Only Show Design Page
-DesignerStyleActionGroup.CommandLabel.S.Tooltip=Only Show Source Page
-DesignerUndoRedoAction.UNDO=Undo
-DesignerUndoRedoAction.REDO=Redo
-DesignerUndoRedoAction.UNDO_LABEL=Undo {0}
-DesignerUndoRedoAction.REDO_LABEL=Redo {0}
-Select.Menu=Select
-Edit.Menu=Edit
-Navigate.Menu=Navigate
-Style.Menu=Style
-Insert.Menu=Insert
-ManageSkinsAction.Text=Manage Skins
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ChangeStyleAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ChangeStyleAction.java
deleted file mode 100644
index 70e5a6813..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ChangeStyleAction.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.commands.DesignerCommand;
-import org.eclipse.jst.pagedesigner.commands.range.ApplyStyleCommand;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.HTMLGraphicalViewerListenenerAdapter;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewerListener;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * @author mengbo
- */
-public abstract class ChangeStyleAction extends Action implements IUpdate {
- private IHTMLGraphicalViewer _viewer;
-
- private String _expectedTag;
-
- private IHTMLGraphicalViewerListener _listener = new HTMLGraphicalViewerListenenerAdapter()
- {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewerListener#selectionChangeFinished()
- */
- public void selectionChangeFinished() {
- update();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event) {
- update();
- }
- };
-
- /**
- * @param text
- * @param name
- * @param image
- * @param style
- */
- public ChangeStyleAction(String text, String name, ImageDescriptor image,
- int style) {
- super(text, style);
- _expectedTag = name;
- this.setImageDescriptor(image);
- }
-
- /**
- * @param viewer
- */
- public void setViewer(IHTMLGraphicalViewer viewer) {
- if (viewer == _viewer) {
- return;
- }
- if (_viewer != null) {
- _viewer.removeHTMLViewerListener(_listener);
- }
- _viewer = viewer;
- if (_viewer != null) {
- _viewer.addHTMLViewerListener(_listener);
- }
- update();
- }
-
- /**
- *
- */
- public void update()
- {
- boolean update = checkForUpdateAndMaybeDisableState();
-
- if (update)
- {
- updateState();
- }
- }
-
- /**
- * Update the state
- */
- protected void updateState()
- {
- DesignRange range = _viewer.getRangeSelection();
- updateStatus(RangeUtil.normalize(range));
- }
-
- /**
- * Update the checked/enabled state
- * @return true if we should update status
- */
- protected final boolean checkForUpdateAndMaybeDisableState()
- {
- if (_viewer == null) {
- this.setChecked(false);
- this.setEnabled(false);
- return false;
- }
- if (!_viewer.isInRangeMode()) {
- // XXX: later we may support in range mode.
- this.setChecked(false);
- this.setEnabled(false);
- return false;
- }
- DesignRange range = _viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- this.setChecked(false);
- this.setEnabled(false);
- return false;
- }
- return true;
- }
-
-
- /**
- * @return the viewer's current design range
- */
- protected final DesignRange getDesignRange()
- {
- return _viewer.getRangeSelection();
- }
- /**
- * @param range
- */
- private void updateStatus(DesignRange range) {
- if (range.isEmpty()) {
- this.setEnabled(false);
- this.setChecked(false); // FIXME: not handling checked status yet.
- } else {
- this.setEnabled(true);
- this.setChecked(false);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- if (_viewer == null || !_viewer.isInRangeMode()) {
- return;
- }
- DesignRange range = _viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- return;
- }
- if (range.isEmpty())
- return; // nothing to do to empty range.
-
- // if currently checked, means unapply the style. If current not
- // checked, means apply the style
- boolean apply = !this.isChecked();
- if (apply) {
- applyStyle();
- } else {
- // not supported yet.
- }
- }
-
- /**
- *
- */
- private void applyStyle() {
- DesignerCommand command = new ApplyStyleCommand(_viewer,
- getExpectedTag(), getExpectedCSSProperty(),
- getExpectedCSSPropertyValue());
- command.execute();
- }
-
- /**
- * @return the expected property value
- */
- protected abstract String getExpectedCSSPropertyValue();
-
- /**
- * @return the expected property
- */
- protected abstract String getExpectedCSSProperty();
-
- /**
- * @return the expected tag
- */
- protected String getExpectedTag() {
- return _expectedTag;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DataBindingViewAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DataBindingViewAction.java
deleted file mode 100644
index 1b2032d68..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DataBindingViewAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DataBindingViewAction extends Action {
-
- private static Logger _log = PDPlugin
- .getLogger(DataBindingViewAction.class);
-
- /**
- * Default constructor
- */
- public DataBindingViewAction() {
- setText(ActionsMessages
- .getString("DataBindingViewAction.Menu.DataBinding")); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- try {
- getPage().showView(
- "org.eclipse.jst.pagedesigner.databinding.ui.views.DataBindingsView");//$NON-NLS-1$
- } catch (PartInitException e) {
- _log.error("Error opening the DataBindingView"); //$NON-NLS-1$
- }
- }
-
- private IWorkbenchPage getPage() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- return window.getActivePage();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignActionBarFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignActionBarFactory.java
deleted file mode 100644
index 1a3c1b430..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignActionBarFactory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.range.ChangeStyleAction;
-import org.eclipse.jst.pagedesigner.actions.range.DesignerToolBarAction;
-import org.eclipse.jst.pagedesigner.actions.range.HTagsInsertGroupAction;
-
-/**
- * @author mengbo
- */
-public class DesignActionBarFactory {
-
- private static final String TOOLBAR_PARAGRAPH_IMAGE_FILE = "PD_Toolbar_paragraph.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_LARGEFONT_DISABLED_IMAGE_FILE = "PD_Toolbar_largefont_disabled.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_LARGEFONT_IMAGE_FILE = "PD_Toolbar_largefont.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_SMALLFONT_DISABLED_IMAGE_FILE = "PD_Toolbar_smallfont_disabled.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_SMALLFONT_IMAGE_FILE = "PD_Toolbar_smallfont.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_BOLD_DISABLED_IMAGE_FILE = "PD_Toolbar_bold_disabled.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_BOLD_IMAGE_FILE = "PD_Toolbar_bold.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_ITALIC_DISABLED_IMAGE_FILE = "PD_Toolbar_italic_disabled.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_ITALIC_IMAGE_FILE = "PD_Toolbar_italic.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_UNDERLINE_DISABLED_IMAGE_FILE = "PD_Toolbar_underline_disabled.gif"; //$NON-NLS-1$
- private static final String TOOLBAR_UNDERLINE_IMAGE_FILE = "PD_Toolbar_underline.gif"; //$NON-NLS-1$
-
- private static DesignActionBarFactory _instance;
-
- private DesignActionBarFactory() {
- // no external instantiation
- }
-
- /**
- * @return get the factory singleton
- */
- public static DesignActionBarFactory getInstance() {
- if (_instance == null) {
- _instance = new DesignActionBarFactory();
- }
- return _instance;
- }
-
- /**
- * @param name
- * @return the tool bar action
- */
- public DesignerToolBarAction getStyleAction(String name) {
- DesignerToolBarAction action = null;
-
- if (name.equals(IHTMLConstants.TAG_U)) {
- action = new ChangeStyleAction(ActionsMessages
- .getString("DesignActionBarFactory.Underline.Text"), name, //$NON-NLS-1$
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_UNDERLINE_IMAGE_FILE), PDPlugin.getDefault()
- .getImageDescriptor(
- TOOLBAR_UNDERLINE_DISABLED_IMAGE_FILE),
- IAction.AS_CHECK_BOX);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Underline")); //$NON-NLS-1$
- } else if (name.equals(IHTMLConstants.TAG_I)) {
- action = new ChangeStyleAction(ActionsMessages
- .getString("DesignActionBarFactory.Italic.Text"), name, //$NON-NLS-1$
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_ITALIC_IMAGE_FILE), PDPlugin.getDefault()
- .getImageDescriptor(
- TOOLBAR_ITALIC_DISABLED_IMAGE_FILE),
- IAction.AS_CHECK_BOX);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Italic")); //$NON-NLS-1$
- } else if (name.equals(IHTMLConstants.TAG_B)) {
- action = new ChangeStyleAction(ActionsMessages
- .getString("DesignActionBarFactory.Bold.Text"), name, //$NON-NLS-1$
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_BOLD_IMAGE_FILE),
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_BOLD_DISABLED_IMAGE_FILE),
- IAction.AS_CHECK_BOX);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Bold")); //$NON-NLS-1$
- } else if (name.equals(IHTMLConstants.TAG_SMALL)) {
- action = new ChangeStyleAction(ActionsMessages
- .getString("DesignActionBarFactory.Small.Text"), name, //$NON-NLS-1$
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_SMALLFONT_IMAGE_FILE), PDPlugin.getDefault()
- .getImageDescriptor(
- TOOLBAR_SMALLFONT_DISABLED_IMAGE_FILE),
- IAction.AS_CHECK_BOX);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Small")); //$NON-NLS-1$
- } else if (name.equals(IHTMLConstants.TAG_BIG)) {
- action = new ChangeStyleAction(ActionsMessages
- .getString("DesignActionBarFactory.Big.Text"), name, //$NON-NLS-1$
- PDPlugin.getDefault().getImageDescriptor(
- TOOLBAR_LARGEFONT_IMAGE_FILE), PDPlugin.getDefault()
- .getImageDescriptor(
- TOOLBAR_LARGEFONT_DISABLED_IMAGE_FILE),
- IAction.AS_CHECK_BOX);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Big")); //$NON-NLS-1$
- } else if (name
- .equalsIgnoreCase(DesignPageActionContributor.PARAGRAPH_ACTION_ID)) {
- action = new HTagsInsertGroupAction(PDPlugin.getDefault()
- .getImageDescriptor(TOOLBAR_PARAGRAPH_IMAGE_FILE),
- IAction.AS_DROP_DOWN_MENU);
- action.setToolTipText(ActionsMessages
- .getString("DesignActionBarFactory.Paragraph")); //$NON-NLS-1$
- }
-
- return action;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignPageActionContributor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignPageActionContributor.java
deleted file mode 100644
index a1782ec5d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignPageActionContributor.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.range.DesignerToolBarAction;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.IDesignViewer;
-import org.eclipse.jst.pagedesigner.editors.SimpleGraphicalEditor;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchCommandConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-
-/**
- * sub action contributor for the designer page.
- *
- * @author mengbo
- */
-public class DesignPageActionContributor extends EditorActionBarContributor {
- private static final Logger _log = PDPlugin
- .getLogger(DesignPageActionContributor.class);
-
- /**
- * paragraph
- */
- public static final String PARAGRAPH_ACTION_ID = "paragraph"; //$NON-NLS-1$
-
- private IEditorPart _editorPart;
-
- /**
- * @param manager
- * @param id
- */
- protected void doRemove(IContributionManager manager, String id) {
- try {
- if (manager.find(id) != null) {
- manager.remove(id);
- }
- } catch (Exception e) {
- _log.info("Error:", e); //$NON-NLS-1$
- }
- }
-
- public void init(IActionBars bars, IWorkbenchPage page) {
- super.init(bars);
- init(bars);
- }
-
- public void init(IActionBars bars) {
- IToolBarManager toolbar = bars.getToolBarManager();
- initToolbar(toolbar);
- }
-
- /**
- * @param toolbar
- */
- private void initToolbar(IToolBarManager toolbar) {
- DesignActionBarFactory factory = DesignActionBarFactory.getInstance();
-
- Action action = factory.getStyleAction(IHTMLConstants.TAG_U);
- toolbar.add(action);
-
- action = factory.getStyleAction(IHTMLConstants.TAG_B);
- toolbar.add(action);
-
- action = factory.getStyleAction(IHTMLConstants.TAG_I);
- toolbar.add(action);
-
- action = factory.getStyleAction(IHTMLConstants.TAG_SMALL);
- toolbar.add(action);
-
- action = factory.getStyleAction(IHTMLConstants.TAG_BIG);
- toolbar.add(action);
- // action = factory.getStyleAction(PARAGRAPH_ACTION_ID);
- // toolbar.add(action);
- }
-
- /**
- * @param menuManager
- * @param action
- * @param id
- */
- protected void addActionWithId(IMenuManager menuManager, Action action,
- String id) {
- action.setId(id);
- menuManager.add(action);
- }
-
- /**
- * @param enabled
- */
- public void setViewerSpecificContributionsEnabled(boolean enabled) {
- HTMLEditor htmlEditor = null;
- if (_editorPart instanceof HTMLEditor) {
- htmlEditor = (HTMLEditor) _editorPart;
- } else if (_editorPart instanceof SimpleGraphicalEditor) {
- htmlEditor = ((SimpleGraphicalEditor) _editorPart).getHTMLEditor();
- }
-
- if (htmlEditor == null)
- return;
-
- SimpleGraphicalEditor graphicalEditor = (SimpleGraphicalEditor) htmlEditor
- .getDesignViewer();
- IWorkbenchPartSite site = htmlEditor.getSite();
- if (site instanceof IEditorSite) {
- IActionBars actionBars = ((IEditorSite) site).getActionBars();
-
- if (enabled) {
- // // we always let the text editor to handle UNDO and REDO
- // actionBars.setGlobalActionHandler(ITextEditorActionConstants.UNDO,
- // textEditor
- // .getAction(ITextEditorActionConstants.UNDO));
- // actionBars.setGlobalActionHandler(ITextEditorActionConstants.REDO,
- // textEditor
- // .getAction(ITextEditorActionConstants.REDO));
- // lium: the above behavior changed, since we now use
- // DesignerUndoRedoAction.
- // see comments in DesignerUndoRedoAction
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.UNDO, graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_UNDO));
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.REDO, graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_REDO));
-
- // cut/copy/paste is delegated to design actions
- actionBars
- .setGlobalActionHandler(
- ITextEditorActionConstants.DELETE,
- graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_DELETE));
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.CUT, graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_CUT));
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.COPY, graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_COPY));
- actionBars
- .setGlobalActionHandler(
- ITextEditorActionConstants.PASTE,
- graphicalEditor
- .getAction(IWorkbenchCommandConstants.EDIT_PASTE));
- } else {
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.UNDO, null);
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.REDO, null);
-
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.DELETE, null);
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.CUT, null);
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.COPY, null);
- actionBars.setGlobalActionHandler(
- ITextEditorActionConstants.PASTE, null);
- }
- }
- }
-
- /**
- * The active editor passed in could be the following: HTMLEditor,
- * SimpleGraphicalEditor, null.
- */
- public void setActiveEditor(IEditorPart targetEditor) {
- _editorPart = targetEditor;
-
- // temp code.
- if (targetEditor instanceof SimpleGraphicalEditor) {
- IHTMLGraphicalViewer graphicalViewer = ((SimpleGraphicalEditor) targetEditor).getGraphicViewer();
- setViewerOnActions(graphicalViewer);
- } else if (targetEditor instanceof HTMLEditor) {
- //Bug 264080 - getDesignViewer may return null
- IDesignViewer designViewer = ((HTMLEditor) targetEditor).getDesignViewer();
- if (designViewer != null) {
- IHTMLGraphicalViewer graphicalViewer = designViewer.getGraphicViewer();
- setViewerOnActions(graphicalViewer);
- }
- } else {
- setViewerOnActions(null);
- }
-
- // TODO... uncomment this and investigate NPE
- //
- // add the cut/copy/paste for text fields
- // ActionHandlerPlugin.connectPart(editorPart);
- }
-
- private void setViewerOnActions(IHTMLGraphicalViewer viewer) {
- IContributionItem[] items = getActionBars().getToolBarManager()
- .getItems();
- if (items != null) {
- for (int i = 0; i < items.length; i++) {
- if (items[i] instanceof ActionContributionItem) {
- IAction action = ((ActionContributionItem) items[i])
- .getAction();
- if (action instanceof DesignerToolBarAction) {
- ((DesignerToolBarAction) action).setViewer(viewer);
- }
- }
- }
- }
-
- }
-
- /**
- * @see org.eclipse.ui.IEditorActionBarContributor#dispose()
- */
- public void dispose() {
- // TODO: anything to dispose?
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerStyleActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerStyleActionGroup.java
deleted file mode 100644
index 6c121dfb8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerStyleActionGroup.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.commands.ActionHandler;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.handlers.IHandlerActivation;
-import org.eclipse.ui.handlers.IHandlerService;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DesignerStyleActionGroup extends ActionGroup
-{
- private static HashMap IMAGE_NAMES = new HashMap();
-
- private static final String VERTICAL = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.V"); //$NON-NLS-1$
-
- private static final String HORIZONTAL = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.H"); //$NON-NLS-1$
-
- private static final String DESIGN = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.D"); //$NON-NLS-1$
-
- private static final String SOURCE = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.S"); //$NON-NLS-1$
-
- private static final String VERTICAL_TOOLTIP = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.V.Tooltip"); //$NON-NLS-1$
-
- private static final String HORIZONTAL_TOOLTIP = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.H.Tooltip"); //$NON-NLS-1$
-
- private static final String DESIGN_TOOLTIP = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.D.Tooltip"); //$NON-NLS-1$
-
- private static final String SOURCE_TOOLTIP = ActionsMessages
- .getString("DesignerStyleActionGroup.CommandLabel.S.Tooltip"); //$NON-NLS-1$
- static {
- IMAGE_NAMES.put(VERTICAL, "PD_Toolbar_vsplit.gif"); //$NON-NLS-1$
- IMAGE_NAMES.put(HORIZONTAL, "PD_Toolbar_hsplit.gif"); //$NON-NLS-1$
- IMAGE_NAMES.put(DESIGN, "PD_Toolbar_designer.gif"); //$NON-NLS-1$
- IMAGE_NAMES.put(SOURCE, "PD_Toolbar_source.gif"); //$NON-NLS-1$
- }
-
- private class ChangeDesignerStyleAction extends Action {
- int _mode;
-
- ChangeDesignerStyleAction(String actionId, String text, ImageDescriptor image, int mode) {
- super(text, IAction.AS_RADIO_BUTTON);
- this.setImageDescriptor(image);
- _mode = mode;
- setId(actionId);
- }
-
- /**
- * @return the mode
- */
- public int getMode() {
- return _mode;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- //final IWorkbenchPart editorPart = getActivePart();
- if (_htmlEditor != null) {
- _htmlEditor.setDesignerMode(_mode);
- updateActionBars();
- }
- }
-
- };
-
- private HTMLEditor _htmlEditor;
-
- private final ChangeDesignerStyleAction[] _actions;
-
- private final List<ActionHandler> _actionHandlers;
-
- private final List<IHandlerActivation> _handlers;
-
- /**
- * constructor
- */
- public DesignerStyleActionGroup()
- {
- ChangeDesignerStyleAction verAction = new ChangeDesignerStyleAction(
- "org.eclipse.jst.pagedesigner.vertical", //$NON-NLS-1$
- VERTICAL, PDPlugin.getDefault().getImageDescriptor(
- (String) IMAGE_NAMES.get(VERTICAL)),
- HTMLEditor.MODE_SASH_VERTICAL);
- verAction
- .setActionDefinitionId("org.eclipse.jst.pagedesigner.vertical"); //$NON-NLS-1$
- verAction.setToolTipText(VERTICAL_TOOLTIP);
-
- ChangeDesignerStyleAction horAction = new ChangeDesignerStyleAction(
- "org.eclipse.jst.pagedesigner.horizotal", //$NON-NLS-1$
- HORIZONTAL, PDPlugin.getDefault().getImageDescriptor(
- (String) IMAGE_NAMES.get(HORIZONTAL)),
- HTMLEditor.MODE_SASH_HORIZONTAL);
- horAction
- .setActionDefinitionId("org.eclipse.jst.pagedesigner.horizotal"); //$NON-NLS-1$
- horAction.setToolTipText(HORIZONTAL_TOOLTIP);
-
- ChangeDesignerStyleAction designAction = new ChangeDesignerStyleAction(
- "org.eclipse.jst.pagedesigner.design", //$NON-NLS-1$
- DESIGN, PDPlugin.getDefault().getImageDescriptor(
- (String) IMAGE_NAMES.get(DESIGN)),
- HTMLEditor.MODE_DESIGNER);
- designAction
- .setActionDefinitionId("org.eclipse.jst.pagedesigner.design"); //$NON-NLS-1$
- designAction.setToolTipText(DESIGN_TOOLTIP);
-
- ChangeDesignerStyleAction sourceAction = new ChangeDesignerStyleAction(
- "org.eclipse.jst.pagedesigner.source", //$NON-NLS-1$
- SOURCE, PDPlugin.getDefault().getImageDescriptor(
- (String) IMAGE_NAMES.get(SOURCE)),
- HTMLEditor.MODE_SOURCE);
- sourceAction
- .setActionDefinitionId("org.eclipse.jst.pagedesigner.source"); //$NON-NLS-1$
- sourceAction.setToolTipText(SOURCE_TOOLTIP);
-
- _actions = new ChangeDesignerStyleAction[] { verAction, horAction,
- designAction, sourceAction };
- _actionHandlers = new ArrayList<ActionHandler>();
- for (int i = 0; i < _actions.length; i++)
- {
- _actionHandlers.add(new ActionHandler(_actions[i]));
- }
- _handlers = new ArrayList<IHandlerActivation>();
- }
-
-
- public void updateActionBars() {
- if (_htmlEditor == null) {
- for (int i = 0; i < _actions.length; i++) {
- _actions[i].setEnabled(false);
- }
- } else {
- for (int i = 0; i < _actions.length; i++) {
- _actions[i].setEnabled(true);
- _actions[i].setChecked(_actions[i].getMode() == _htmlEditor
- .getDesignerMode());
- }
- }
- }
-
- /**
- * @param editor
- */
- public void setHTMLEditor(HTMLEditor editor)
- {
- if (_htmlEditor != editor)
- {
- if (_htmlEditor != null)
- {
- deactivateHandlers();
- }
-
- this._htmlEditor = editor;
- if (_htmlEditor != null)
- {
- activateHandlers();
- }
- updateActionBars();
- }
- }
-
- private void deactivateHandlers()
- {
- final IHandlerService service = (IHandlerService) _htmlEditor.getSite()
- .getService(IHandlerService.class);
- if (service != null)
- {
- for (final IHandlerActivation activation : _handlers)
- {
- service.deactivateHandler(activation);
- }
- }
- _handlers.clear();
- }
-
- private void activateHandlers()
- {
- final IHandlerService service = (IHandlerService) _htmlEditor.getSite()
- .getService(IHandlerService.class);
- for (int i = 0; i < _actions.length; i++)
- {
- _handlers.add(service.activateHandler(_actions[i].getId(), _actionHandlers.get(i)));
- }
- }
-
- /**
- * @param actionBars
- */
- public void fillActionBars(IActionBars actionBars)
- {
- IToolBarManager toolbar = actionBars.getToolBarManager();
- for (int i = 0; i < _actions.length; i++)
- {
- toolbar.add(_actions[i]);
- }
- toolbar.add(new Separator());
- }
-
- /**
- * dispose the action
- */
- public void dispose()
- {
- for (final ActionHandler actionHandler : _actionHandlers)
- {
- actionHandler.dispose();
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerUndoRedoAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerUndoRedoAction.java
deleted file mode 100644
index 3d563acdf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignerUndoRedoAction.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import java.text.MessageFormat;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.gef.ui.actions.UpdateAction;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.editors.SimpleGraphicalEditor;
-import org.eclipse.wst.sse.core.internal.undo.IStructuredTextUndoManager;
-
-/**
- * SSE has a IDocumentSelectionMediator mechanism, basically it let the viewer
- * that invoke the redo/undo to reset the selection after redo/undo.
- *
- * To utilize this feature, we can't directly use the undo/redo action of the
- * text editor for the designer, since in that way it will be the TextEditor to
- * handle selection after redo/undo.
- *
- * @author mengbo
- * @version 1.5
- */
-public class DesignerUndoRedoAction extends Action implements UpdateAction {
- private boolean _undo = true; // if false means redo
-
- private final SimpleGraphicalEditor _designer;
-
- /**
- * @param undo
- * @param designer
- *
- */
- public DesignerUndoRedoAction(boolean undo, SimpleGraphicalEditor designer) {
- this._undo = undo;
- this._designer = designer;
-
- if (undo) {
- setText(ActionsMessages.getString("DesignerUndoRedoAction.UNDO")); //$NON-NLS-1$
- } else {
- setText(ActionsMessages.getString("DesignerUndoRedoAction.REDO")); //$NON-NLS-1$
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.actions.UpdateAction#update()
- */
- public void update() {
- IStructuredTextUndoManager undoManager = _designer.getHTMLEditor()
- .getModel().getUndoManager();
- if (_undo) {
- Command c = undoManager.getUndoCommand();
- this.setEnabled(undoManager.undoable());
- if (c != null) {
- String label = c.getLabel();
- this
- .setText(MessageFormat
- .format(
- ActionsMessages
- .getString("DesignerUndoRedoAction.UNDO_LABEL"), new Object[] { label })); //$NON-NLS-1$
- } else {
- this.setText(ActionsMessages
- .getString("DesignerUndoRedoAction.UNDO")); //$NON-NLS-1$
- }
- } else {
- Command c = undoManager.getRedoCommand();
- this.setEnabled(undoManager.redoable());
- if (c != null) {
- String label = c.getLabel();
- this
- .setText(MessageFormat
- .format(
- ActionsMessages
- .getString("DesignerUndoRedoAction.REDO_LABEL"), new Object[] { label })); //$NON-NLS-1$
- } else {
- this.setText(ActionsMessages
- .getString("DesignerUndoRedoAction.REDO")); //$NON-NLS-1$
- }
- }
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- IStructuredTextUndoManager undoManager = _designer.getHTMLEditor()
- .getModel().getUndoManager();
- if (_undo) {
- undoManager.undo(_designer);
- } else {
- undoManager.redo(_designer);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ManageSkinsAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ManageSkinsAction.java
deleted file mode 100644
index 4a9a79d44..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ManageSkinsAction.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * Action to change the current DT skin.
- *
- * @author Ian Trimble - Oracle
- */
-public class ManageSkinsAction extends Action {
-
- /**
- * Constructs an instance.
- */
- public ManageSkinsAction() {
- super(ActionsMessages.getString("ManageSkinsAction.Text"), AS_DROP_DOWN_MENU); //$NON-NLS-1$
- setImageDescriptor(PDPlugin.getDefault().getImageDescriptor("skin.png")); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- @Override
- public void run() {
- IEditorPart editorPart = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (editorPart instanceof HTMLEditor) {
- IEditorInput editorInput = editorPart.getEditorInput();
- if (editorInput instanceof IFileEditorInput) {
- IFile file = ((IFileEditorInput)editorInput).getFile();
- IProject project = file.getProject();
- if (project != null) {
- SelectionProvider selectionProvider = new SelectionProvider();
- selectionProvider.setSelection(new StructuredSelection(project));
- PropertyDialogAction propertyDialogAction = new PropertyDialogAction(editorPart.getEditorSite(), selectionProvider);
- PreferenceDialog dialog = propertyDialogAction.createDialog();
- if (dialog != null) {
- dialog.setSelectedNode("org.eclipse.jst.pagedesigner.WPEPropertyPage"); //$NON-NLS-1$
- //yes, we create AGAIN - cannot find another way to get the selected node to stick
- dialog = propertyDialogAction.createDialog();
- if (dialog != null) {
- dialog.open();
- }
- }
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#getMenuCreator()
- */
- @Override
- public IMenuCreator getMenuCreator() {
- return new MenuCreator();
- }
-
-
-
- /**
- * Simple selection provider for creation of the property dialog.
- */
- private class SelectionProvider implements ISelectionProvider {
- private ISelection selection;
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- //do nothing - we don't care here
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
- */
- public void removeSelectionChangedListener(ISelectionChangedListener listener) {
- //do nothing - we don't care here
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
- */
- public void setSelection(ISelection selection) {
- this.selection = selection;
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
- */
- public ISelection getSelection() {
- return selection;
- }
- }
-
-
-
- /**
- * Store last created menu so we can dispose on next creation.
- */
- private static Menu lastMenu;
- /**
- * Menu creator for the drop-down button.
- */
- private class MenuCreator implements IMenuCreator {
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#dispose()
- */
- public void dispose() {
- if (lastMenu != null) {
- lastMenu.dispose();
- }
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
- */
- public Menu getMenu(Control control) {
- dispose();
- lastMenu = new Menu(control);
- buildMenu(lastMenu);
- return lastMenu;
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
- */
- public Menu getMenu(Menu menu) {
- dispose();
- lastMenu = new Menu(menu);
- buildMenu(lastMenu);
- return lastMenu;
- }
- private void buildMenu(Menu menu) {
- MenuItem menuItem = new MenuItem(lastMenu, SWT.PUSH);
- menuItem.setText(ActionsMessages.getString("ManageSkinsAction.Text")); //$NON-NLS-1$
- menuItem.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent event) {
- run();
- }
- public void widgetDefaultSelected(SelectionEvent event) {
- widgetSelected(event);
- }
- });
- IEditorPart editorPart = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (editorPart instanceof HTMLEditor) {
- IEditorInput editorInput = editorPart.getEditorInput();
- if (editorInput instanceof IFileEditorInput) {
- IFile file = ((IFileEditorInput)editorInput).getFile();
- IProject project = file.getProject();
- if (project != null) {
- SkinsMenuItemBuilder skinsMenuItemBuilder =
- new SkinsMenuItemBuilder(project);
- skinsMenuItemBuilder.buildMenuItems(menu);
- }
- }
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/OutlineViewAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/OutlineViewAction.java
deleted file mode 100644
index b22073ef8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/OutlineViewAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.ui.IPageLayout;
-
-/**
- * A show view action that shows the outline view
- *
- */
-public class OutlineViewAction extends ShowViewAction
-{
- /**
- * the action id
- */
- public final static String ID = "org.eclipse.jst.pagedesigner.editors.actions.OutlineViewAction"; //$NON-NLS-1$
-
- /**
- * Default constructor
- */
- public OutlineViewAction()
- {
- super(ActionsMessages
- .getString("OutlineViewAction.Menu.OutlineView") //$NON-NLS-1$
- , IPageLayout.ID_OUTLINE);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PageDesignerActionBarContributor2.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PageDesignerActionBarContributor2.java
deleted file mode 100644
index b081c16fa..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PageDesignerActionBarContributor2.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.SimpleGraphicalEditor;
-import org.eclipse.jst.pagedesigner.ui.common.sash.NestedEditorActionBarContributor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.ExtendedEditorActionBuilder;
-import org.eclipse.wst.sse.ui.internal.IExtendedContributor;
-import org.eclipse.wst.sse.ui.internal.ISourceViewerActionBarContributor;
-
-/**
- * This is the actionbar contributor for HTML Editor. As HTMLEditor is
- * multipaged, so this contributor will also handle on which page currently is
- * activated.
- *
- * @author mengbo
- */
-public class PageDesignerActionBarContributor2 extends
- NestedEditorActionBarContributor implements IExtendedContributor {
-
- private DesignPageActionContributor _designViewerActionBarContributor = null;
-
- private ISourceViewerActionBarContributor _sourceViewerActionContributor = null;
-
- private HTMLEditor _htmlEditor = null;
-
- // EditorExtension
- private static final String EDITOR_ID = IJMTConstants.EDITORID_HTML;
-
- private IExtendedContributor _extendedContributor;
-
- private DesignerStyleActionGroup _group = new DesignerStyleActionGroup();
-
- /**
- * Default constructor
- */
- public PageDesignerActionBarContributor2() {
- super();
-
- _sourceViewerActionContributor = new SourcePageActionContributor();
- _designViewerActionBarContributor = new DesignPageActionContributor();
-
- // Read action extensions.
- ExtendedEditorActionBuilder builder = new ExtendedEditorActionBuilder();
- _extendedContributor = builder.readActionExtensions(EDITOR_ID);
- }
-
- public void init(IActionBars actionBars) {
- super.init(actionBars);
-
- if (actionBars != null) {
- initCommonActionBarContributor(actionBars);
- actionBars.getToolBarManager().add(new ManageSkinsAction());
- actionBars.getToolBarManager().add(new Separator());
- initDesignViewerActionBarContributor(actionBars);
- initSourceViewerActionContributor(actionBars);
- }
- }
-
- /**
- * @param actionBars
- */
- private void initCommonActionBarContributor(IActionBars actionBars) {
- _group.fillActionBars(actionBars);
- }
-
- /**
- * @param actionBars
- */
- protected void initDesignViewerActionBarContributor(IActionBars actionBars) {
- if (_designViewerActionBarContributor != null)
- _designViewerActionBarContributor.init(actionBars, getPage());
- }
-
- /**
- * @param actionBars
- */
- protected void initSourceViewerActionContributor(IActionBars actionBars) {
- if (_sourceViewerActionContributor != null)
- _sourceViewerActionContributor.init(actionBars, getPage());
- }
-
- public void dispose() {
- super.dispose();
- if (_designViewerActionBarContributor != null) {
- _designViewerActionBarContributor.dispose();
- }
- if (_sourceViewerActionContributor != null) {
- _sourceViewerActionContributor.dispose();
- }
- if (_extendedContributor != null) {
- _extendedContributor.dispose();
- }
- if (_group != null) {
- _group.dispose();
- }
- }
-
- /**
- * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(IMenuManager)
- */
- public final void contributeToMenu(IMenuManager menu) {
- super.contributeToMenu(menu);
- addToMenu(menu);
- if (_extendedContributor != null)
- _extendedContributor.contributeToMenu(menu);
- }
-
- private void addToMenu(IMenuManager menu) {
- // IMenuManager menuMgr = new MenuManager(PD_EDITOR_MENU_LABEL,
- // IJMTConstants.PD_EDITOR_MENU_ID);
- // menu.insertBefore(IWorkbenchActionConstants.M_NAVIGATE, menuMgr);
- //
- // menuMgr.add(action);
- // menuMgr.setRemoveAllWhenShown(true);
- //
- // menuMgr.addMenuListener(new IMenuListener()
- // {
- // public void menuAboutToShow(IMenuManager menuMgr)
- // {
- // PageDesignerActionConstants.addStandardActionGroups(menuMgr);
- // RelatedViewActionGroup viewMenu = new RelatedViewActionGroup();
- // viewMenu.fillContextMenu(menuMgr);
- // updateEditorMenu(menuMgr);
- // }
- // });
- }
-
- /**
- * @see IExtendedContributor#contributeToPopupMenu(IMenuManager)
- */
- public final void contributeToPopupMenu(IMenuManager menu) {
- // TODO: this method is empty addToPopupMenu(menu);
- if (_extendedContributor != null)
- _extendedContributor.contributeToPopupMenu(menu);
- }
-
-// protected void addToPopupMenu(IMenuManager menu) {
-// // do nothing
-// }
-
- /**
- * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToToolBar(IToolBarManager)
- */
- public final void contributeToToolBar(IToolBarManager toolBarManager) {
- super.contributeToToolBar(toolBarManager);
- // TODO: this method is empty addToToolBar(toolBarManager);
- if (_extendedContributor != null)
- _extendedContributor.contributeToToolBar(toolBarManager);
- }
-
-// protected void addToToolBar(IToolBarManager toolBarManager) {
-// }
-
- /**
- * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToStatusLine(IStatusLineManager)
- */
- public final void contributeToStatusLine(IStatusLineManager manager) {
- super.contributeToStatusLine(manager);
- // TODO: this method does nothing addToStatusLine(manager);
- if (_extendedContributor != null)
- _extendedContributor.contributeToStatusLine(manager);
- }
-
-// protected void addToStatusLine(IStatusLineManager manager) {
-// }
-
- /**
- * @see IExtendedContributor#updateToolbarActions()
- */
- public void updateToolbarActions() {
- if (_extendedContributor != null) {
- _extendedContributor.updateToolbarActions();
- }
- _group.setHTMLEditor(_htmlEditor);
- }
-
- public void setActiveEditor(IEditorPart targetEditor) {
- if (targetEditor instanceof HTMLEditor) {
- _htmlEditor = (HTMLEditor) targetEditor;
- //StructuredTextEditor textEditor = _htmlEditor.getTextEditor();
- // TODO: never read this._model = textEditor.getModel();
- }
- super.setActiveEditor(targetEditor);
- updateToolbarActions();
- if (_extendedContributor != null)
- _extendedContributor.setActiveEditor(targetEditor);
- }
-
- public void setInnerActivePage(IEditorPart activeEditor) {
- // This contributor is designed for StructuredTextMultiPageEditorPart.
- // To safe-guard this from problems caused by unexpected usage by
- // other editors, the following
- // check is added.
- if (_htmlEditor != null) {
- if (activeEditor instanceof StructuredTextEditor) {
- activateSourcePage((StructuredTextEditor) activeEditor);
- } else if (activeEditor instanceof SimpleGraphicalEditor) {
- //SimpleGraphicalEditor graphEditor = (SimpleGraphicalEditor) activeEditor;
- activateDesignPage((SimpleGraphicalEditor) activeEditor);
- // TODO: never read this._viewer = graphEditor.getGraphicViewer();
- } else {
- // currently we don't have special action for preview.
- deactivateSourceAndDesignPage(activeEditor);
- // TODO: never read this._viewer = null;
- }
- }
-
- updateToolbarActions();
-
- IActionBars actionBars = getActionBars();
- if (actionBars != null) {
- // update menu bar and tool bar
- actionBars.updateActionBars();
- }
- }
-
- /**
- * @param activeEditor
- *
- */
- protected void deactivateSourceAndDesignPage(IEditorPart activeEditor) {
- if (_designViewerActionBarContributor != null) {
- _designViewerActionBarContributor.setActiveEditor(_htmlEditor);
- _designViewerActionBarContributor
- .setViewerSpecificContributionsEnabled(false);
- }
- if (_sourceViewerActionContributor != null) {
- _sourceViewerActionContributor.setActiveEditor(_htmlEditor);
- _sourceViewerActionContributor
- .setViewerSpecificContributionsEnabled(false);
- }
- }
-
- /**
- * @param activeEditor
- */
- protected void activateDesignPage(SimpleGraphicalEditor activeEditor) {
-
- if (_sourceViewerActionContributor != null /*
- * &&
- * _sourceViewerActionContributor
- * instanceof
- * ISourceViewerActionBarContributor
- */) {
- // previously I was trying setActiveEditor(null) here. But as in the
- // super class will
- // compare the editor with original one, if same then directly
- // return. So will not disable
- // those actions. (lium)
- _sourceViewerActionContributor.setActiveEditor(_htmlEditor);
- _sourceViewerActionContributor
- .setViewerSpecificContributionsEnabled(false);
- }
-
- if (_designViewerActionBarContributor != null) {
- _designViewerActionBarContributor.setActiveEditor(activeEditor);
- _designViewerActionBarContributor
- .setViewerSpecificContributionsEnabled(true);
- }
- }
-
- /**
- * @param activeEditor
- */
- protected void activateSourcePage(StructuredTextEditor activeEditor) {
- if (_designViewerActionBarContributor != null /*
- * &&
- * _designViewerActionBarContributor
- * instanceof
- * IDesignViewerActionBarContributor
- */) {
- // _designViewerActionBarContributor only recogonize HTMLEditor and
- // its own GraphicEditor. so not setting source editor to it.
- _designViewerActionBarContributor.setActiveEditor(_htmlEditor);
- _designViewerActionBarContributor
- .setViewerSpecificContributionsEnabled(false);
- }
-
- if (_sourceViewerActionContributor != null /*
- * &&
- * _sourceViewerActionContributor
- * instanceof
- * ISourceViewerActionBarContributor
- */) {
- _sourceViewerActionContributor.setActiveEditor(activeEditor);
- _sourceViewerActionContributor.setViewerSpecificContributionsEnabled(true);
- }
- }
-
- // TODO: dead?
-// private void updateEditorMenu(IMenuManager menuMgr) {
-// if (this._viewer == null) {
-// return;
-// } else {
-// if (menuMgr != null) {
-// ContainerActionGroup containerActionGroup = new ContainerActionGroup();
-// ActionContext context = new ActionContext(this._viewer
-// .getSelection());
-// context.setInput(this._viewer);
-// containerActionGroup.setContext(context);
-// containerActionGroup.fillContextMenu(menuMgr);
-// containerActionGroup.setContext(null);
-//
-// RangeActionGroup rangeActionGroup = new RangeActionGroup();
-// context = new ActionContext(this._viewer.getSelection());
-// context.setInput(this._viewer);
-// rangeActionGroup.setContext(context);
-// rangeActionGroup.fillContextMenu(menuMgr);
-// rangeActionGroup.setContext(null);
-//
-// SingleElementActionGroup singleActionGroup = new SingleElementActionGroup();
-// singleActionGroup.setContext(new ActionContext(this._viewer
-// .getSelection()));
-// singleActionGroup.fillContextMenu(menuMgr);
-// singleActionGroup.setContext(null);
-//
-// if (this._model != null) {
-// CustomedContextMenuActionGroup customedMenu = new CustomedContextMenuActionGroup();
-// customedMenu.setContext(new ActionContext(_viewer
-// .getSelection()));
-// customedMenu.setModel(_model);
-// customedMenu.setParentControl(_viewer.getControl());
-// customedMenu.fillContextMenu(menuMgr);
-// customedMenu.setContext(null);
-// customedMenu.setParentControl(null);
-// customedMenu.setModel(null);
-// }
-// }
-// }
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PaletteViewAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PaletteViewAction.java
deleted file mode 100644
index 45cd989be..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PaletteViewAction.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.ui.views.palette.PaletteView;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PaletteViewAction extends ShowViewAction {
- /**
- * the action id
- */
- public final static String ID = "org.eclipse.jst.pagedesigner.editors.actions.PaletteViewAction"; //$NON-NLS-1$
-
- /**
- * @param element
- * @param editDomain
- */
- public PaletteViewAction(Element element, EditDomain editDomain) {
- super(ActionsMessages.getString("PaletteViewAction.Menu.PaletteView") //$NON-NLS-1$
- , PaletteView.ID);
- //_element = element;
- //_editDomain = editDomain;
- }
-
- /**
- * Add to default behavior because pallete view doesn't automatically track
- * selection to currently selected edit part
- */
- public void run()
- {
- super.run();
-
- //TODO: for some reason getting a palette item to select doesn't work
-// if (_element != null && _editDomain != null)
-// {
-// PaletteItemManager manager = PaletteItemManager
-// .getInstance(getProject(_element));
-// if (manager != null) {
-// IPaletteItemCategory category = manager.findOrCreateCategory(CMUtil
-// .getElementNamespaceURI(_element), null);
-//
-// if (category != null) {
-// String name = _element.getLocalName();
-// if (category.getURI().equals(IJMTConstants.URI_JSP)) {
-// name = _element.getTagName();
-// }
-// IPaletteItemDescriptor descriptor = category
-// .getItemByTagName(name);
-// if (descriptor != null)
-// {
-// PaletteEntry paletteEntry = descriptor.getPaletteEntry();
-// final RootEditPart editPart =
-// _editDomain.getPaletteViewer().getRootEditPart();
-// EditPart newSelection = findMatchingPart(editPart.getContents(), paletteEntry);
-//
-// if (newSelection != null)
-// {
-// _editDomain.getPaletteViewer().setSelection(new StructuredSelection(newSelection));
-// }
-// }
-// }
-// }
-// }
- }
-
-// private EditPart findMatchingPart(EditPart curPart, PaletteEntry paletteEntry)
-// {
-// EditPart match = null;
-//
-// if (curPart.getModel() == paletteEntry)
-// {
-// return curPart;
-// }
-//
-// for (final Iterator it = curPart.getChildren().iterator(); it.hasNext();)
-// {
-// match = findMatchingPart((EditPart)it.next(), paletteEntry);
-//
-// if (match != null)
-// {
-// break;
-// }
-// }
-//
-// return match;
-// }
-// private IProject getProject(Element element) {
-// if (element instanceof IDOMElement) {
-// IDOMModel model = ((IDOMElement) element).getModel();
-// IFile file = StructuredModelUtil.getFileFor(model);
-// if (file != null) {
-// return file.getProject();
-// }
-// }
-// return null;
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PropertiesViewAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PropertiesViewAction.java
deleted file mode 100644
index bf4098b57..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PropertiesViewAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.ui.IPageLayout;
-
-/**
- * @author mengbo
- */
-public class PropertiesViewAction extends ShowViewAction {
- /**
- * the id
- */
- public final static String ID = "org.eclipse.jst.pagedesigner.editors.actions.PropertiesViewAction"; //$NON-NLS-1$
-
- /**
- * Default constructor
- */
- public PropertiesViewAction()
- {
- super(ActionsMessages
- .getString("PropertiesViewAction.Menu.Properties") //$NON-NLS-1$
- , IPageLayout.ID_PROP_SHEET);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/RelatedViewActionGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/RelatedViewActionGroup.java
deleted file mode 100644
index d4e70ad28..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/RelatedViewActionGroup.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.gef.EditDomain;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RelatedViewActionGroup extends ActionGroup
-{
- private final EditDomain _editDomain;
-
- /**
- * @param editDomain
- */
- public RelatedViewActionGroup(EditDomain editDomain)
- {
- _editDomain = editDomain;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
- */
- public void fillContextMenu(IMenuManager menu) {
- super.fillContextMenu(menu);
-
- final IMenuManager viewMgr = new MenuManager(ActionsMessages
- .getString("RelatedViewActionGroup.Menu.ShowView"),//$NON-NLS-1$
- PageDesignerActionConstants.SHOWVIEW_SUBMENU_ID);
- viewMgr.add(new Action() {
- // add noop action; TODO: why?
- });
- viewMgr.setRemoveAllWhenShown(true);
- final ActionContext context = getContext();
- viewMgr.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- // TODO: don't like this at all
- String[] views = { "org.eclipse.ui.views.PropertySheet", //$NON-NLS-1$
- "org.eclipse.gef.ui.palette_view", "org.eclipse.ui.views.ContentOutline"}; //$NON-NLS-1$ //$NON-NLS-2$
-
- Map icons = getIconForView(views);
- // TODO: is this the best way to do this?
- if (manager.find(PropertiesViewAction.ID) == null) {
- Action action = new PropertiesViewAction();
- action.setId(PropertiesViewAction.ID);
- action.setImageDescriptor((ImageDescriptor) icons
- .get(views[0]));
- manager.add(action);
- }
- ISelection selection = context.getSelection();
- if (manager.find(PaletteViewAction.ID) == null) {
- if (selection instanceof IStructuredSelection)
- {
- IStructuredSelection strucSelection =
- (IStructuredSelection) selection;
- Action action = null;
-
- if (strucSelection.getFirstElement() instanceof ElementEditPart)
- {
- Element selectedElem = (Element)
- ((ElementEditPart) strucSelection.getFirstElement()).getModel();
- action = new PaletteViewAction(selectedElem, _editDomain);
- }
- else
- {
- // if can't determine, just default open the palette
- action = new PaletteViewAction(null, null);
- }
- action.setId(PaletteViewAction.ID);
- action.setImageDescriptor((ImageDescriptor) icons
- .get(views[1]));
- manager.add(action);
- }
- }
- if (manager.find(OutlineViewAction.ID) == null)
- {
- Action action = new OutlineViewAction();
- action.setId(OutlineViewAction.ID);
- action.setImageDescriptor((ImageDescriptor) icons
- .get(views[2]));
- manager.add(action);
- }
-
- }
- });
- menu.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, viewMgr);
- }
-
- private Map getIconForView(String[] viewids) {
- List views = Arrays.asList(viewids);
- Map icons = new HashMap();
-
- IConfigurationElement[] elements = Platform.getExtensionRegistry()
- .getConfigurationElementsFor("org.eclipse.ui.views"); //$NON-NLS-1$
- for (int i = 0; i < elements.length; i++) {
- String name = elements[i].getName();
- String id = elements[i].getAttribute("id"); //$NON-NLS-1$
- if ("view".equals(name) && views.contains(id)) { //$NON-NLS-1$
- String iconPath = elements[i].getAttribute("icon"); //$NON-NLS-1$
- if (iconPath != null) {
- icons.put(id, AbstractUIPlugin.imageDescriptorFromPlugin(
- elements[i].getDeclaringExtension().getContributor().getName(),
- iconPath));
- } else {
- icons.put(id, null);
- }
- if (icons.size() == viewids.length) {
- break;
- }
- }
- }
- return icons;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ShowViewAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ShowViewAction.java
deleted file mode 100644
index 33bc222f8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/ShowViewAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * TODO: isn't there a workbench registry action for this?
- * @author cbateman
- *
- */
-public class ShowViewAction extends Action {
- private static Logger _log = PDPlugin.getLogger(PropertiesViewAction.class);
- private final String _viewId;
-
- /**
- * @param text
- * @param viewId
- */
- public ShowViewAction(String text, String viewId)
- {
- _viewId = viewId;
- setText(text);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- try {
- getPage().showView(_viewId);
- } catch (PartInitException e) {
- _log.info("Open the view: "+_viewId, e); //$NON-NLS-1$
- }
-
- }
-
- private IWorkbenchPage getPage() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- return window.getActivePage();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java
deleted file mode 100644
index 78ea5b1b6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-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.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTResourceProviderFactory;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTResourceProvider;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin;
-import org.eclipse.jst.pagedesigner.utils.EditorUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- * Builds menu items for managing skins.
- *
- * @author Ian Trimble - Oracle
- */
-public class SkinsMenuItemBuilder {
-
- private static final String DATAKEY_DTSKIN = "DATAKEY_DTSKIN"; //$NON-NLS-1$
- private static final String DATAKEY_NSURI = "DTATKEY_NSURI"; //$NON-NLS-1$
-
- private static List<Menu> menuList = new ArrayList<Menu>();
-
- private IProject project;
-
- /**
- * Constructs an instance.
- *
- * @param project IProject instance for which to get skin information.
- */
- public SkinsMenuItemBuilder(IProject project) {
- this.project = project;
- }
-
- /**
- * Builds menu items (adds a separator and then menu items to end of
- * specified menu.
- *
- * @param menu Menu instance to which to add menu items.
- */
- public void buildMenuItems(Menu menu) {
- for (Menu oldMenu: menuList) {
- oldMenu.dispose();
- }
- if (menu != null) {
- List<TaglibData> taglibDataList = getTaglibDataList();
- if (taglibDataList.size() > 0) {
- new MenuItem(menu, SWT.SEPARATOR);
- }
- for (TaglibData taglibData: taglibDataList) {
- String nsURI = taglibData.getNSURI();
- DTSkinManager dtSkinManager = DTSkinManager.getInstance(project);
- IDTSkin currentDTSkin = dtSkinManager.getCurrentSkin(nsURI);
- MenuItem menuItem = new MenuItem(menu, SWT.CASCADE);
- menuItem.setText(taglibData.getName());
- Menu skinMenu = new Menu(menuItem);
- menuList.add(skinMenu);
- menuItem.setMenu(skinMenu);
- List<IDTSkin> dtSkins = dtSkinManager.getSkins(nsURI);
- for (IDTSkin dtSkin: dtSkins) {
- MenuItem skinMenuItem;
- if (currentDTSkin == dtSkin) {
- skinMenuItem = new MenuItem(skinMenu, SWT.CHECK);
- skinMenuItem.setSelection(true);
- } else {
- skinMenuItem = new MenuItem(skinMenu, SWT.PUSH);
- }
- skinMenuItem.setText(dtSkin.getName());
- skinMenuItem.setData(DATAKEY_DTSKIN, dtSkin);
- skinMenuItem.setData(DATAKEY_NSURI, nsURI);
- skinMenuItem.addSelectionListener(new SkinSelectionListener());
- }
- }
- }
- }
-
- /**
- * Builds menu managers.
- *
- * @param parent Parent menu manager to which to append new menu managers.
- */
- public void buildMenuManagers(IMenuManager parent) {
- List<TaglibData> taglibDataList = getTaglibDataList();
- if (taglibDataList.size() > 0) {
- parent.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, new Separator());
- }
- for (TaglibData taglibData: taglibDataList) {
- String nsURI = taglibData.getNSURI();
- MenuManager newMgr = new MenuManager(taglibData.getName());
- DTSkinManager dtSkinManager = DTSkinManager.getInstance(project);
- IDTSkin currentDTSkin = dtSkinManager.getCurrentSkin(nsURI);
- List<IDTSkin> dtSkins = dtSkinManager.getSkins(nsURI);
- for (IDTSkin dtSkin: dtSkins) {
- newMgr.add(new ChangeCurrentSkinAction(nsURI, dtSkin, dtSkin == currentDTSkin));
- }
- parent.appendToGroup(IWorkbenchActionConstants.MB_ADDITIONS, newMgr);
- }
- }
-
- private List<TaglibData> getTaglibDataList() {
- List<TaglibData> taglibDataList = new ArrayList<TaglibData>();
- List<IDTResourceProvider> dtResourceProviders =
- DTResourceProviderFactory.getInstance().getActiveDTResourceProviders(project);
- for (IDTResourceProvider dtResourceProvider: dtResourceProviders) {
- TaglibData taglibData = new TaglibData(dtResourceProvider.getId());
- if (!taglibDataList.contains(taglibData)) {
- taglibDataList.add(taglibData);
- }
- }
- return taglibDataList;
- }
-
-
-
- /**
- * Used to hold and pass taglib-related data.
- */
- private class TaglibData {
- private String nsURI;
- private String name;
- public TaglibData(String nsURI) {
- this.nsURI = nsURI;
- ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI);
- Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "display-label"); //$NON-NLS-1$
- this.name = TraitValueHelper.getValueAsString(trait);
- }
- public String getNSURI() {
- return nsURI;
- }
- public String getName() {
- return name;
- }
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- int nsURIHashCode = 0;
- if (nsURI != null) {
- nsURIHashCode = nsURI.hashCode();
- }
- int nameHashCode = 0;
- if (name != null) {
- nameHashCode = name.hashCode();
- }
- return nameHashCode | nsURIHashCode ;
- }
- }
-
-
-
- /**
- * Selection listener for skin menu items.
- */
- private class SkinSelectionListener implements SelectionListener {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent event) {
- String nsURI = (String)event.widget.getData(DATAKEY_NSURI);
- IDTSkin dtSkin = (IDTSkin)event.widget.getData(DATAKEY_DTSKIN);
- DTSkinManager.getInstance(project).setCurrentSkin(nsURI, dtSkin);
- EditorUtil.refreshAllWPEDesignViewers();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent event) {
- widgetSelected(event);
- }
- }
-
-
-
- /**
- * Action for changing current skin.
- */
- private class ChangeCurrentSkinAction extends Action {
- private String nsURI;
- private IDTSkin dtSkin;
- /**
- * Creates an instance.
- *
- * @param nsURI NSURI of taglib.
- * @param dtSkin IDTSkin instance.
- * @param checked true if IDTSkin instance is current for nsURI.
- */
- public ChangeCurrentSkinAction(String nsURI, IDTSkin dtSkin, boolean checked) {
- super(dtSkin.getName());
- this.nsURI = nsURI;
- this.dtSkin = dtSkin;
- setChecked(checked);
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- DTSkinManager.getInstance(project).setCurrentSkin(nsURI, dtSkin);
- EditorUtil.refreshAllWPEDesignViewers();
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SourcePageActionContributor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SourcePageActionContributor.java
deleted file mode 100644
index 7d48737e4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SourcePageActionContributor.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.actions;
-
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.xml.ui.internal.actions.ActionContributorXML;
-
-/**
- * SourcePageActionContributor
- *
- * This class is for multi page editor's source page contributor.
- *
- * Use XMLEditorActionContributor for single page editor.
- */
-public class SourcePageActionContributor extends ActionContributorXML {
-
- private IActionBars fBars;
-
- /**
- * This method calls:
- * <ul>
- * <li><code>contributeToMenu</code> with <code>bars</code>' menu
- * manager</li>
- * <li><code>contributeToToolBar</code> with <code>bars</code>' tool
- * bar manager</li>
- * <li><code>contributeToStatusLine</code> with <code>bars</code>'
- * status line manager</li>
- * </ul>
- * The given action bars are also remembered and made accessible via
- * <code>getActionBars</code>.
- *
- * @param bars
- * the action bars
- *
- */
- public void init(IActionBars bars) {
- fBars = bars;
- contributeToMenu(bars.getMenuManager());
- contributeToToolBar(bars.getToolBarManager());
- contributeToStatusLine(bars.getStatusLineManager());
- }
-
- /**
- * Returns this contributor's action bars.
- *
- * @return the action bars
- */
- public IActionBars getActionBars() {
- return fBars;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.ui.internal.ISourceViewerActionBarContributor#setViewerSpecificContributionsEnabled(boolean)
- */
- public void setViewerSpecificContributionsEnabled(boolean enabled) {
- super.setViewerSpecificContributionsEnabled(enabled);
- IEditorPart editor = getActiveEditorPart();
- ITextEditor targetEditor = null;
- if (editor instanceof ITextEditor) {
- targetEditor = (ITextEditor) editor;
- } else if (editor instanceof HTMLEditor) {
- targetEditor = ((HTMLEditor) editor).getTextEditor();
- }
- if (targetEditor != null) {
- if (enabled) {
- getActionBars()
- .setGlobalActionHandler(
- ITextEditorActionConstants.UNDO,
- targetEditor
- .getAction(ITextEditorActionConstants.UNDO));
- getActionBars()
- .setGlobalActionHandler(
- ITextEditorActionConstants.REDO,
- targetEditor
- .getAction(ITextEditorActionConstants.REDO));
- } else {
- getActionBars().setGlobalActionHandler(
- ITextEditorActionConstants.UNDO, null);
- getActionBars().setGlobalActionHandler(
- ITextEditorActionConstants.REDO, null);
- }
-
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/DelegatingZoomManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/DelegatingZoomManager.java
deleted file mode 100644
index d67d8f9a1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/DelegatingZoomManager.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.pagedesigner;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.draw2d.ScalableFigure;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.editparts.ZoomListener;
-import org.eclipse.gef.editparts.ZoomManager;
-
-/**
- * A delegating ZoomManager.
- */
-public class DelegatingZoomManager extends ZoomManager implements ZoomListener {
- /** the current ZoomManager all work is delegated to */
- private final static int DEFAULT_ZOOM = 1;
-
- private final static String ZOOM_AS_TEXT = "100%"; //$NON-NLS-1$
-
- private final static String ZOOM_LEVEL_AS_TEXT = "100%"; //$NON-NLS-1$
-
- private ZoomManager _currentZoomManager;
-
- /** listeners */
- private ListenerList _zoomListeners = new ListenerList(ListenerList.IDENTITY);
-
- /**
- * Creates a new DelegatingZoomManager instance.
- */
- public DelegatingZoomManager() {
- super((ScalableFigure) null, (Viewport) null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomListener#zoomChanged(double)
- */
- public void zoomChanged(double zoom) {
- Object[] listeners = _zoomListeners.getListeners();
- for (int i = 0; i < listeners.length; ++i) {
- ((ZoomListener) listeners[i]).zoomChanged(zoom);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#addZoomListener(org.eclipse.gef.editparts.ZoomListener)
- */
- public void addZoomListener(ZoomListener listener) {
- _zoomListeners.add(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#removeZoomListener(org.eclipse.gef.editparts.ZoomListener)
- */
- public void removeZoomListener(ZoomListener listener) {
- _zoomListeners.remove(listener);
- }
-
- /**
- * Sets the ZoomManager all work should be delegated to.
- *
- * @param zoomManager
- */
- public void setCurrentZoomManager(ZoomManager zoomManager) {
- if (null != _currentZoomManager) {
- _currentZoomManager.removeZoomListener(this);
- }
-
- _currentZoomManager = zoomManager;
- if (null != _currentZoomManager) {
- _currentZoomManager.addZoomListener(this);
- zoomChanged(_currentZoomManager.getZoom());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#canZoomIn()
- */
- public boolean canZoomIn() {
- if (null == _currentZoomManager) {
- return false;
- }
- return _currentZoomManager.canZoomIn();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#canZoomOut()
- */
- public boolean canZoomOut() {
- if (null == _currentZoomManager) {
- return false;
- }
- return _currentZoomManager.canZoomOut();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getMaxZoom()
- */
- public double getMaxZoom() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
-
- return _currentZoomManager.getMaxZoom();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getMinZoom()
- */
- public double getMinZoom() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
- return _currentZoomManager.getMinZoom();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getNextZoomLevel()
- */
- public double getNextZoomLevel() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
- return _currentZoomManager.getNextZoomLevel();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getPreviousZoomLevel()
- */
- public double getPreviousZoomLevel() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
- return _currentZoomManager.getPreviousZoomLevel();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getScalableFigure()
- */
- public ScalableFigure getScalableFigure() {
- if (null == _currentZoomManager) {
- return null;
- }
-
- return _currentZoomManager.getScalableFigure();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getUIMultiplier()
- */
- public double getUIMultiplier() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
-
- return _currentZoomManager.getUIMultiplier();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getViewport()
- */
- public Viewport getViewport() {
- if (null == _currentZoomManager) {
- return null;
- }
-
- return _currentZoomManager.getViewport();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getZoom()
- */
- public double getZoom() {
- if (null == _currentZoomManager) {
- return DEFAULT_ZOOM;
- }
-
- return _currentZoomManager.getZoom();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getZoomAsText()
- */
- public String getZoomAsText() {
- if (null == _currentZoomManager) {
- return ZOOM_AS_TEXT;
- }
- //$NON-NLS-1$
-
- return _currentZoomManager.getZoomAsText();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getZoomLevels()
- */
- public double[] getZoomLevels() {
- if (null == _currentZoomManager) {
- return new double[] { DEFAULT_ZOOM };
- }
-
- return _currentZoomManager.getZoomLevels();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#getZoomLevelsAsText()
- */
- public String[] getZoomLevelsAsText() {
- if (null == _currentZoomManager) {
- return new String[] { ZOOM_LEVEL_AS_TEXT };
- }
-
- return _currentZoomManager.getZoomLevelsAsText();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setUIMultiplier(double)
- */
- public void setUIMultiplier(double multiplier) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setUIMultiplier(multiplier);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setViewLocation(org.eclipse.draw2d.geometry.Point)
- */
- public void setViewLocation(Point p) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setViewLocation(p);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setZoom(double)
- */
- public void setZoom(double zoom) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setZoom(zoom);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setZoomAnimationStyle(int)
- */
- public void setZoomAnimationStyle(int style) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setZoomAnimationStyle(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setZoomAsText(java.lang.String)
- */
- public void setZoomAsText(String zoomString) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setZoomAsText(zoomString);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#setZoomLevels(double[])
- */
- public void setZoomLevels(double[] zoomLevels) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.setZoomLevels(zoomLevels);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#zoomIn()
- */
- public void zoomIn() {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.zoomIn();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#zoomOut()
- */
- public void zoomOut() {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.zoomOut();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.ZoomManager#zoomTo(org.eclipse.draw2d.geometry.Rectangle)
- */
- public void zoomTo(Rectangle rect) {
- if (null == _currentZoomManager) {
- return;
- }
-
- _currentZoomManager.zoomTo(rect);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/IPageDesignerConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/IPageDesignerConstants.java
deleted file mode 100644
index bedef5318..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/IPageDesignerConstants.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.pagedesigner;
-
-/**
- * The designer constants
- *
- * TODO: dead?
- *
- */
-interface IPageDesignerConstants {
- /**
- * JSP UI Component Tag Node
- */
- public static final String DEFAULT_TAG_NAME = "tagname"; //$NON-NLS-1$
-
- /**
- * keyword
- */
- public static final String ATTR_TYPE_CDATA = "CDATA"; //$NON-NLS-1$
-
- /**
- * basename attribute
- */
- public static final String ATTR_LOADBUNDLE_1 = "basename"; //$NON-NLS-1$
-
- /**
- * var attribute
- */
- public static final String ATTR_LOADBUNDLE_2 = "var"; //$NON-NLS-1$
-
- /**
- * columns attribute
- */
- public static final String ATTR_PANELGRID_1 = "columns"; //$NON-NLS-1$
-
- /**
- * summary attribute
- */
- public static final String ATTR_PANELGRID_2 = "summary"; //$NON-NLS-1$
-
- /**
- * title attribute
- */
- public static final String ATTR_PANELGRID_3 = "title"; //$NON-NLS-1$
-
- /**
- * action attribute
- */
- public static final String ATTR_BUTTON_1 = "action"; //$NON-NLS-1$
-
- /**
- * value attribute
- */
- public static final String ATTR_BUTTON_2 = "value"; //$NON-NLS-1$
-
- /**
- * url attribute
- */
- public static final String ATTR_GRAPHICIMAGE_1 = "url"; //$NON-NLS-1$
-
- /**
- * binding attribute
- */
- public static final String ATTR_GRAPHICIMAGE_2 = "binding"; //$NON-NLS-1$
-
- /**
- * binding attribute
- */
- public static final String ATTR_OUTPUTTEXT_1 = "binding"; //$NON-NLS-1$
-
- /**
- * value attribute
- */
- public static final String ATTR_OUTPUTTEXT_2 = "value"; //$NON-NLS-1$
-
- /**
- * styleClass attribute
- */
- public static final String ATTR_OUTPUTTEXT_3 = "styleClass"; //$NON-NLS-1$
-
- /**
- * dataWindowBean attribute
- */
- public static final String ATTR_DATAWINDOW_1 = "dataWindowBean"; //$NON-NLS-1$
-
- /**
- * scriptName attribute
- */
- public static final String ATTR_DATAWINDOW_2 = "scriptName"; //$NON-NLS-1$
-
- /**
- * page attribute
- */
- public static final String ATTR_INCLUDE = "page"; //$NON-NLS-1$
-
- /**
- * prefix atttribute
- */
- public static final String ATTR_TAGLIB_1 = "prefix"; //$NON-NLS-1$
-
- /**
- * uri attribute
- */
- public static final String ATTR_TAGLIB_2 = "uri"; //$NON-NLS-1$
-
- /**
- * bundle attribute
- */
- public static final String RESOURCE_BUNDLE_MARK = "bundle"; //$NON-NLS-1$
-
- /**
- * value attribute
- */
- public static final String ATTR_RESOURCE_BUNDLE = "value"; //$NON-NLS-1$
-
- /**
- * value attribute
- */
- public static final String ATTR_FACET = "value"; //$NON-NLS-1$
-
- /**
- * view tag
- */
- public static final String TAG_VIEW_TYPE = "view"; //$NON-NLS-1$
-
- /**
- * for tag
- */
- public static final String TAG_FORM_TYPE = "form"; //$NON-NLS-1$
-
- /**
- * text tag
- */
- public static final String TAG_TEXT_TYPE = "text"; //$NON-NLS-1$
-
- /**
- * loadBundle tag
- */
- public static final String TAG_LOADBUNDLE_TYPE = "loadBundle"; //$NON-NLS-1$
-
- /**
- * panelGrid tag
- */
- public static final String TAG_PANELGRID_TYPE = "panelGrid"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_IMAGE_TYPE = "image"; //$NON-NLS-1$
-
- /**
- * outputText tag
- */
- public static final String TAG_OUTPUTTEXT_TYPE = "outputText"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_BUTTON_TYPE = "button"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_DATAWINDOW_TYPE = "datawindow"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_TAGLIB_TYPE = "taglib"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_INCLUDE_TYPE = "include"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_OTHERS_TYPE = ""; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_VIEW = "view"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_FORM = "form"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_PANELGRID = "panelGrid"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_PANELGROUP = "panelGroup"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_FACET = "facet"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_DATAWINDOW = "dataWindow"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_OUTPUTTEXT = "outputText"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_INCLUDE = "include"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_LOADBUNDLE = "loadBundle"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TAG_NAME_TAGLIB = "taglib"; //$NON-NLS-1$
-
- /**
- * graphicImage tag
- */
- public static final String TAG_NAME_GRAPHICIMAGE = "graphicImage"; //$NON-NLS-1$
-
- /**
- * commandButton tag
- */
- public static final String TAG_NAME_COMMANDBUTTON = "commandButton"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String REQUEST_TYPE_SELECT = "selection"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final int EOF = -1;
-
- /**
- *
- */
- public static final char CHAR_TAB = '\t';
-
- /**
- *
- */
- public static final char CHAR_N_RETURN = '\n';
-
- /**
- *
- */
- public static final String STRING_N_RETURN = "\n"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String STRING_BLANK = " "; //$NON-NLS-1$
-
- /**
- *
- */
- public static final char CHAR_BLANK = ' ';
-
- /**
- *
- */
- public static final String FONT_NAME_HELVETICA = "Helvetica"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/JSPEditorMessages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/JSPEditorMessages.properties
deleted file mode 100644
index beecba524..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/JSPEditorMessages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-JSFPalette.DefaultGroup.LabelJSFPallete=Controls
-JSPSourceEditor.Page.Preview.PageText=Preview
-
-CommonResourceDialog.statusMessage=Select an image file
-ResourcesOnClasspathDialog.statusMessage=Select a property file
-TreeViewerSelectionDialog.Title=Select a file
-RangeSelectionTool.CommandLabel.Insert=Insert
-
-DesignerPaletteCustomizerDialog.label.import=Import
-DesignerPaletteCustomizerDialog.label.export=Export
-
-DesignerSourceDropTargetListener.InserCommandLabel=Create New Item
-SourceViewLocalDropCommand.Label.InsertSyntax=Insert Syntax
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/MessageFormater.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/MessageFormater.java
deleted file mode 100644
index c05fabd7a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/MessageFormater.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.pagedesigner;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @A tool class for message format
- */
-public final class MessageFormater {
- private static Logger _log = PDPlugin.getLogger(MessageFormater.class);
-
- /**
- *
- * @param message
- * the parts for filling is {number}
- * @param o1
- * @return the formatted string
- */
- public static String format(String message, Object o1) {
- try {
- Object[] args = new Object[] { o1 };
- MessageFormat formatter = new MessageFormat(message);
- return formatter.format(args);
- } catch (Exception e) {
- _log.error("Log.Error.MessageFormater.Format0", e); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @param message
- * @param o1
- * @param o2
- * @return the formatted string
- */
- public static String format(String message, Object o1, Object o2) {
- try {
- Object[] args = new Object[] { o1, o2 };
- MessageFormat formatter = new MessageFormat(message);
- return formatter.format(args);
- } catch (Exception e) {
- _log.error("Log.Error.MessageFormater.Format0", e); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @param message
- * @param o1
- * @param o2
- * @param o3
- * @return the formatted string
- */
- public static String format(String message, Object o1, Object o2, Object o3) {
- try {
- Object[] args = new Object[] { o1, o2, o3 };
- MessageFormat formatter = new MessageFormat(message);
- return formatter.format(args);
- } catch (Exception e) {
- _log.error("Log.Error.MessageFormater.Format0", e); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- /**
- * @param message
- * @param o
- * @return the formatted string
- */
- public static String format(String message, Object o[]) {
- try {
- MessageFormat formater = new MessageFormat(message);
- return formater.format(o);
- } catch (Exception e) {
- _log.error("Log.Error.MessageFormater.Format0", e); //$NON-NLS-1$
- return ""; //$NON-NLS-1$
- }
- }
-
- private MessageFormater()
- {
- // util class, no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/PageDesignerResources.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/PageDesignerResources.java
deleted file mode 100644
index ec8320445..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/pagedesigner/PageDesignerResources.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.pagedesigner;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- */
-public class PageDesignerResources extends ResourceUtils {
- private static Logger _log = PDPlugin
- .getLogger(PageDesignerResources.class);
-
- private static PageDesignerResources _resource; // singleton
-
- /**
- * Empty Constructor.
- */
- protected PageDesignerResources() {
- try {
- _resources = ResourceBundle
- .getBundle(IJMTConstants.PAGEDESIGNER_RESOURCE_BUNDLE_FILE);
- // NOTE: this throws a runtime "MissingResourceException".
- } catch (MissingResourceException ee) {
- // catch this and the error is reported in setBundle.
- // Log.Error.PageDesignerResources.Open=Error in getting source
- // bundle
- _log.error("Log.Error.PageDesignerResources.Open", ee); //$NON-NLS-1$
- }
- setBundle(_resources, IJMTConstants.PAGEDESIGNER_RESOURCE_BUNDLE_FILE);
- }
-
- /**
- * @return the singleton
- */
- public static PageDesignerResources getInstance() {
- if (_resource == null) {
- _resource = new PageDesignerResources();
- }
- return _resource;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/AbstractPaletteFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/AbstractPaletteFactory.java
deleted file mode 100644
index 646bdd572..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/AbstractPaletteFactory.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.gef.ui.views.palette.PaletteViewerPage;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * Abstract class that all extenders must use to provide alternate palettes
- * to the Web Page Editor. See also {@link IPaletteFactory}
- */
-public abstract class AbstractPaletteFactory implements IPaletteFactory {
-
- public PaletteViewerPage createPaletteViewerPage(PaletteViewerProvider provider) {return null;}
- public PaletteViewerProvider createPaletteViewerProvider(EditDomain domain) {return null;}
- public PaletteRoot createPaletteRoot(IEditorInput editorInput){return null;}
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizationsHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizationsHelper.java
deleted file mode 100644
index ff887fc81..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizationsHelper.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-
-import javax.xml.parsers.DocumentBuilder;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.jface.preference.IPersistentPreferenceStore;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
-import org.eclipse.jst.pagedesigner.utils.XMLUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Helper class that all clients should use when dealing with palette customizations
- */
-public final class DesignerPaletteCustomizationsHelper {
- private static final String PREFS_TAGLIBHIDE_PREFIX = "hidden_taglib:"; //$NON-NLS-1$
-
- private static Logger _log = PDPlugin.getLogger(DesignerPaletteCustomizationsHelper.class);
-
- /**
- * @return new DesignerPaletteCustomizer
- */
- public static DesignerPaletteCustomizer getNewCustomizer(){
- return new DesignerPaletteCustomizer();
- }
-
- /**
- * @param paletteViewer
- * @param paletteCustomizer
- * @return new DesignerPaletteCustomizerDialog
- */
- public static PaletteCustomizerDialog getNewCustomizerDialog(PaletteViewer paletteViewer, PaletteCustomizer paletteCustomizer){
- return new DesignerPaletteCustomizerDialog(
- paletteViewer.getControl().getShell(), paletteCustomizer, (DesignerPaletteRoot)paletteViewer.getPaletteRoot());
-
- }
-
- /**
- * Save palette item customizations
- * @param paletteRoot
- */
- public static void save(DesignerPaletteRoot paletteRoot) {
- IPersistentPreferenceStore prefs = getPreferenceStore();
-
- for (Iterator it=paletteRoot.getChildren().iterator();it.hasNext();){
- PaletteEntry entry = (PaletteEntry)it.next();
- if (entry instanceof TaglibPaletteDrawer){
- TaglibPaletteDrawer pd = (TaglibPaletteDrawer)entry;
- prefs.putValue(PREFS_TAGLIBHIDE_PREFIX + pd.getURI(), Boolean.toString(! pd.isVisible()));
- }
- }
- PaletteItemManager.notifyPaletteItemManagersOfCustomizationsUpdate(paletteRoot.getPaletteManager());
-
- }
-
- /**
- * Load user customizations
- * @param paletteItemManager
- */
- public static void loadUserCustomizations(IPaletteItemManager paletteItemManager) {
- IPreferenceStore store = getPreferenceStore();
- for (Iterator it=paletteItemManager.getAllCategories().iterator();it.hasNext();){
- TaglibPaletteDrawer tld = (TaglibPaletteDrawer)it.next();
- if (store.contains(PREFS_TAGLIBHIDE_PREFIX+tld.getURI())){
- tld.setVisible( ! store.getBoolean(PREFS_TAGLIBHIDE_PREFIX+tld.getURI()));
- }
- }
- }
-
- /**
- * Hide a category (TaglibPaletteDrawer) that will be persisted as a customization
- * @param taglibPaletteDrawer
- */
- public static void hideTaglibDrawer(TaglibPaletteDrawer taglibPaletteDrawer){
- IPersistentPreferenceStore prefs = getPreferenceStore();
- taglibPaletteDrawer.setVisible(false);
- prefs.putValue(PREFS_TAGLIBHIDE_PREFIX + taglibPaletteDrawer.getURI(), Boolean.TRUE.toString());
- save((DesignerPaletteRoot)taglibPaletteDrawer.getParent());
- }
-
- private static IPersistentPreferenceStore getPreferenceStore() {
- return (IPersistentPreferenceStore)PDPlugin.getDefault().getPreferenceStore();
- }
-
- /**
- * Exports the current state of customizations of the current palette instance.
- *
- * Unsaved data will be exported.
- *
- * Currently only the "hide" flag of a category is exported. All categories are exported.
- *
- * @param paletteItemManager
- * @param filename
- */
- public static void exportCustomizations(IPaletteItemManager paletteItemManager, String filename){
-
- Document document = XMLUtil.getDocumentBuilder().getDOMImplementation()
- .createDocument(null, IPaletteConstants.ROOT, null);
- try {
- FileOutputStream ostream = null;
- int index = filename.lastIndexOf(File.separator);
- String foldername = filename.substring(0, index);
- File folder = new File(foldername);
- if (folder != null && !folder.exists()) {
- folder.mkdir();
- }
-
- ostream = new FileOutputStream(filename);
-
- for (Iterator iter = paletteItemManager.getAllCategories().iterator(); iter.hasNext();) {
- TaglibPaletteDrawer category = (TaglibPaletteDrawer) iter
- .next();
- if (category == null) continue;
-
- Element categoryElement = document.createElement(IPaletteConstants.CATEGORY_TAG);
- categoryElement.setAttribute(IPaletteConstants.ID, category.getURI());
- categoryElement.setAttribute(IPaletteConstants.ISHIDDEN, Boolean.toString(! category.isVisible()));
- document.getDocumentElement().appendChild(categoryElement);
- }
- XMLUtil.serialize(document, ostream);
- ostream.close();
- } catch (IOException e) {
- _log.error("DesignerPaletteCustomizationsHelper.save.error.IOException", e); //$NON-NLS-1$
- }
- }
-
- /**
- * Imports a palette customization export file.
- *
- * If there are entries matching in the existing workspace customizations, they will be overridden.
- *
- * @param customizer
- * @param filename
- */
- public static void importCustomizations(DesignerPaletteCustomizer customizer, String filename){
- Document document = null;
- try {
- DocumentBuilder builder = XMLUtil.getDocumentBuilder();
- if (builder != null) {
- document = builder.parse(filename);
- } else {
- _log.error("DesignerPaletteCustomizationsHelper.importCustomizations.error.getDocumentBuilderFail");// $NON-NLS-1$ //$NON-NLS-1$
- }
- } catch (FileNotFoundException e) {
- //should never get here as user chose file thru a file chooser dialog
- _log.error(
- "DesignerPaletteCustomizationsHelper.importCustomizations.error.FileNotFoundException");// $NON-NLS-1$ //$NON-NLS-1$
- document = null;
- } catch (IOException e) {
- _log.error(
- "DesignerPaletteCustomizationsHelper.importCustomizations.error.IOException", e.toString(), e); //$NON-NLS-1$
- } catch (SAXException e) {
- _log.error(
- "DesignerPaletteCustomizationsHelper.importCustomizations.error.SAXException", e.toString(), e); //$NON-NLS-1$
- }
- if (document != null) {
- Element root = document.getDocumentElement();
- if (root != null) {
- NodeList catetorylist = root.getChildNodes();
- for (int i = 0, n = catetorylist.getLength(); i < n; i++) {
- Node childNode = catetorylist.item(i);
- if (childNode.getNodeType() == Node.ELEMENT_NODE
- && childNode.getNodeName().equals(
- IPaletteConstants.CATEGORY_TAG)) {
-
- Element categoryElement = (Element) childNode;
- //only checking for hidden flag currently
- if (categoryElement.hasAttribute(IPaletteConstants.ISHIDDEN)){
- boolean isHidden =Boolean.valueOf(categoryElement.getAttribute(IPaletteConstants.ISHIDDEN)).booleanValue();
-
- String uri = categoryElement.getAttribute(IPaletteConstants.ID);
- applyImport(customizer, uri, isHidden);
- }
-
-
- }
- }
- }
- }
- }
-
- private static void applyImport(
- DesignerPaletteCustomizer customizer, String uri, boolean isHidden) {
- //apply the isHidden exported flag to the paletteRoot child if present
- for (Iterator it=customizer.getDesignerPaletteRoot().getChildren().iterator();it.hasNext();){
- Object o = it.next();
- if (o instanceof TaglibPaletteDrawer){
- TaglibPaletteDrawer pd = (TaglibPaletteDrawer)o;
- if (uri.equals(pd.getURI())){
- pd.setVisible(! isHidden);
- break;
- }
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizer.java
deleted file mode 100644
index 9656cd1cb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizer.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.customize.PaletteSeparatorFactory;
-import org.eclipse.gef.ui.palette.customize.PaletteStackFactory;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-
-/**
- * @author mengbo
- */
-public class DesignerPaletteCustomizer extends PaletteCustomizer {
-
-
- private DesignerPaletteRoot root;
-
- /**
- * Set the palette root. Must be set before the customizer can be used
- * @param root
- */
- public void setPaletteRoot(DesignerPaletteRoot root){
- this.root = root;
- }
-
- /**
- * Return the palette root for this customizer
- * @return DesignerPaletteRoot
- */
- public DesignerPaletteRoot getDesignerPaletteRoot(){
- return root;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canMoveDown(org.eclipse.gef.palette.PaletteEntry)
- */
- public boolean canMoveDown(PaletteEntry entry) {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canMoveUp(org.eclipse.gef.palette.PaletteEntry)
- */
- public boolean canMoveUp(PaletteEntry entry) {
- return false;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canMoveDown(org.eclipse.gef.palette.PaletteEntry)
- */
-// public boolean canMoveDown(PaletteEntry entry) {
-// if (!(entry instanceof PaletteDrawer)) {
-// return false;
-// }
-// return super.canMoveDown(entry);
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canMoveUp(org.eclipse.gef.palette.PaletteEntry)
- */
-// public boolean canMoveUp(PaletteEntry entry) {
-// if (!(entry instanceof PaletteDrawer)) {
-// return false;
-// }
-// if (entry.getParent().getChildren().indexOf(entry) == 1) {
-// return false;
-// }
-// return super.canMoveUp(entry);
-// }
-
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.gef.ui.palette.PaletteCustomizer#performMoveDown(org.eclipse.gef.palette.PaletteEntry)
-// */
-// public void performMoveDown(PaletteEntry entry) {
-// if (entry instanceof PaletteDrawer) {
-// String id = entry.getId();
-// TaglibPaletteDrawer cat = PaletteItemManager.getCurrentInstance().getTaglibPalletteDrawer(id);
-// movedown(PaletteItemManager.getCurrentInstance(), cat);
-// super.performMoveDown(entry);
-// }
-// }
-// private void moveup(PaletteItemManager paletteItemManager, TaglibPaletteDrawer cat) {
-// int i = paletteItemManager.getAllCategories().indexOf(cat);
-// TaglibPaletteDrawer upCat = (TaglibPaletteDrawer) paletteItemManager.getAllCategories()
-// .get(i - 1);
-// movedown(paletteItemManager, upCat);
-// }
-//
-// private void movedown(PaletteItemManager paletteItemManager, TaglibPaletteDrawer cat) {
-// int i = paletteItemManager.getAllCategories().indexOf(cat);
-// paletteItemManager.getAllCategories().add(i + 2, cat);
-// paletteItemManager.getAllCategories().remove(i);
-// }
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.gef.ui.palette.PaletteCustomizer#performMoveUp(org.eclipse.gef.palette.PaletteEntry)
-// */
-// public void performMoveUp(PaletteEntry entry) {
-// if (entry instanceof PaletteDrawer) {
-// String id = entry.getId();
-// TaglibPaletteDrawer cat = PaletteItemManager.getCurrentInstance().getTaglibPalletteDrawer(id);
-// moveup(PaletteItemManager.getCurrentInstance(), cat);
-// super.performMoveUp(entry);
-// }
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#canDelete(org.eclipse.gef.palette.PaletteEntry)
- */
- public boolean canDelete(PaletteEntry entry) {
- return false;
- }
-
- public List getNewEntryFactories() {
- List list = new ArrayList(4);
- list.add(new PaletteSeparatorFactory());
- list.add(new PaletteStackFactory());
- return list;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#revertToSaved()
- */
- public void revertToSaved() {
- //note that reset is not currently part of IPaletteItemManager interface...
- ((PaletteItemManager)root.getPaletteManager()).reset();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteCustomizer#save()
- */
- public void save() {
- DesignerPaletteCustomizationsHelper.save(root);
-// PaletteItemManager.getCurrentInstance().reset();
- }
-
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizerDialog.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizerDialog.java
deleted file mode 100644
index 3689e5a64..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteCustomizerDialog.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizationAction;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.jsf.common.ui.internal.utils.PluginImageHelper;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Customization dialog for Web Page Designer palette items
- * @author mengbo
- * @version 1.5
- */
-public class DesignerPaletteCustomizerDialog extends PaletteCustomizerDialog {
- private static final String DEFAULT_CUSTOMIZATIONS_EXPORT_FILENAME = "WPDPaletteCustomizations.xml"; //$NON-NLS-1$
-
- private static String DEFAULTEXTENSION = ".xml";//$NON-NLS-1$
-
- /**
- * Constructor
- * @param shell
- * @param customizer
- * @param root
- */
- public DesignerPaletteCustomizerDialog(Shell shell,
- PaletteCustomizer customizer, DesignerPaletteRoot root) {
- super(shell, customizer, root);
-
- }
-
- private PropertyChangeListener applyButtonUpdater = new PropertyChangeListener() {
-
-
- public void propertyChange(PropertyChangeEvent evt) {
- Button applyButton = getButton(PaletteCustomizerDialog.APPLY_ID);
- if (applyButton == null) {
- return;
- }
- applyButton.setEnabled(true);
- }
- };
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.window.Window#open()
- */
- public int open() {
- // save the current state before open
- // save();
- return super.open();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog#setActiveEntry(org.eclipse.gef.palette.PaletteEntry)
- */
- protected void setActiveEntry(PaletteEntry entry) {
- //remove listener on previous entry before adding to new entry
- PaletteEntry pre = getSelectedPaletteEntry();
- if (pre != null) {
- pre.removePropertyChangeListener(applyButtonUpdater);
- } else {
- getButton(APPLY_ID).setEnabled(false);
- }
-
- if (entry != null)
- entry.addPropertyChangeListener(applyButtonUpdater);
-
- super.setActiveEntry(entry);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog#save()
- */
- protected void save() {
- super.save();
- Button applyButton = getButton(PaletteCustomizerDialog.APPLY_ID);
- if (applyButton != null) {
- applyButton.setEnabled(false);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
- */
- protected void createButtonsForButtonBar(Composite parent) {
- super.createButtonsForButtonBar(parent);
- getButton(APPLY_ID).setEnabled(false);
- // save();
- }
-
- /* (non-Javadoc)
- * Export action
- *
- */
- private class ExportAction extends PaletteCustomizationAction {
-
- /**
- * Constructor
- */
- public ExportAction() {
- setEnabled(true);
- setText(PageDesignerResources.getInstance().getString(
- "DesignerPaletteCustomizerDialog.label.export")); //$NON-NLS-1$
- setImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_ELCL_EXPORT,
- PDPlugin.getPluginId()));
- setDisabledImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_DLCL_EXPORT,
- PDPlugin.getPluginId()));
- setHoverImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_CLCL_EXPORT,
- PDPlugin.getPluginId()));
- }
-
- private void handleExport() {
- final FileDialog fileDialog = new FileDialog(PDPlugin
- .getActiveWorkbenchShell());
- fileDialog.setFileName(DEFAULT_CUSTOMIZATIONS_EXPORT_FILENAME);
- String[] filterExtensions = new String[2];
- filterExtensions[0] = "*.xml"; //$NON-NLS-1$
- filterExtensions[1] = "*.*"; //$NON-NLS-1$
- fileDialog.setFilterExtensions(filterExtensions);
- fileDialog.setText(Messages.DesignerPaletteCustomizerDialog_ExportCustomizations);
- String filename = fileDialog.open();
- if (filename != null) {
- if (!filename.endsWith(DEFAULTEXTENSION)) {
- filename = filename + DEFAULTEXTENSION;
- }
- final IPaletteContext context = PaletteItemManager.createPaletteContext(((DesignerPaletteRoot)getPaletteRoot()).getFile());
- DesignerPaletteCustomizationsHelper
- .exportCustomizations(PaletteItemManager.getInstance(context), filename);
-
-
- updateActions();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- handleExport();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizationAction#update()
- */
- public void update() {
- //boolean enabled = false;
-// PaletteEntry entry = getSelectedPaletteEntry();
-// if (entry != null) {
- // if (getCustomizer() instanceof DesignerPaletteCustomizer)
- // enabled = ((DesignerPaletteCustomizer)
- // getCustomizer()).canExport(entry);
-// }
- setEnabled(true);
- }
-
- }
-
- /* (non-Javadoc)
- * Import action
- */
- private class ImportAction extends PaletteCustomizationAction {
- private DesignerPaletteCustomizerDialog designerPaletteCustomizerDialog;
-
- /**
- * Constructor
- * @param designerPaletteCustomizerDialog
- */
- public ImportAction(DesignerPaletteCustomizerDialog designerPaletteCustomizerDialog) {
- super();
- this.designerPaletteCustomizerDialog = designerPaletteCustomizerDialog;
- setEnabled(true);
- setText(PageDesignerResources.getInstance().getString(
- "DesignerPaletteCustomizerDialog.label.import")); //$NON-NLS-1$
- setImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_ELCL_IMPORT,
- PDPlugin.getPluginId()));
- setDisabledImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_DLCL_IMPORT,
- PDPlugin.getPluginId()));
- setHoverImageDescriptor(PluginImageHelper.getInstance()
- .getImageDescriptor(DesignerPaletteImages.IMG_CLCL_IMPORT,
- PDPlugin.getPluginId()));
-
- }
-
- private void handleImport() {
-// PaletteEntry entry = designerPaletteCustomizerDialog.getSelectedPaletteEntry();
- final FileDialog fileDialog = new FileDialog(PDPlugin
- .getActiveWorkbenchShell());
- fileDialog.setFileName(DEFAULT_CUSTOMIZATIONS_EXPORT_FILENAME);
- String[] filterExtensions = new String[2];
- filterExtensions[0] = "*.xml"; //$NON-NLS-1$
- filterExtensions[1] = "*.*"; //$NON-NLS-1$
- fileDialog.setFilterExtensions(filterExtensions);
- fileDialog.setText(Messages.DesignerPaletteCustomizerDialog_ImportCustomizations);
- String filename = fileDialog.open();
- if (filename != null) {
- //deselect current entry first
- designerPaletteCustomizerDialog.close();
-
-// getCustomizer().revertToSaved();
- DesignerPaletteCustomizationsHelper
- .importCustomizations((DesignerPaletteCustomizer)getCustomizer(), filename);
-
-// designerPaletteCustomizerDialog.setActiveEntry(entry);
- ((DesignerPaletteCustomizer)getCustomizer()).getDesignerPaletteRoot().refresh();
- designerPaletteCustomizerDialog.open();
-// designerPaletteCustomizerDialog.setActiveEntry(entry);
- }
- }
-
- public void run() {
- handleImport();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizationAction#update()
- */
- public void update() {
- //nothing to do
- }
- }
-
- /**
- * @return import action
- */
- public Action getImportAction() {
- return new ImportAction(this);
- }
-
- /**
- * @return export action
- */
- public Action getExportAction() {
- return new ExportAction();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog#createOutlineActions()
- */
- protected List createOutlineActions() {
- List actions = super.createOutlineActions();
- actions.remove(0);// remove new action
- actions.remove(0);// remove delete action
- actions.add(new ImportAction(this));
- actions.add(new ExportAction());
-
- return actions;
- }
-
- @Override
- protected TreeViewer createOutlineTreeViewer(Composite composite) {
- TreeViewer viewer = super.createOutlineTreeViewer(composite);
- viewer.setContentProvider(new DesignerPaletteContentProvider());
- return viewer;
- }
-
-
- /**
- * Content provider for dialog.
- * Displays only {@link TaglibPaletteDrawer}s
- */
- private static class DesignerPaletteContentProvider implements ITreeContentProvider {
-
- public Object[] getChildren(Object parentElement) {
- if (parentElement instanceof DesignerPaletteRoot){
- List libs = new ArrayList();
- List children = ((DesignerPaletteRoot)parentElement).getChildren();
- if (!children.isEmpty()) {
- for (Iterator it=children.iterator();it.hasNext();){
- PaletteEntry entry = (PaletteEntry)it.next();
- if (entry instanceof TaglibPaletteDrawer)
- libs.add(entry);
- }
- if (!libs.isEmpty())
- return libs.toArray();
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
- */
- public Object getParent(Object element) {
- return ((PaletteEntry)element).getParent();
- }
-
- /* (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.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement) {
- Object[] elements = new Object[0];
- if (inputElement instanceof DesignerPaletteRoot){
- elements = getChildren(inputElement);
- if (elements == null) {
- elements = new Object[0];
- }
- }
- return elements;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose() {
- //nothing to do
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- //won't change
- }
-
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteImages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteImages.java
deleted file mode 100644
index e00e92a8d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteImages.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-/**
- * Palette Image constants
- * @author mengbo
- */
-public class DesignerPaletteImages {
- /**
- * Import hover image
- */
- public static final String IMG_CLCL_IMPORT = "icons/palette/GENERIC/small/PD_Palette_Import_Hover.gif"; //$NON-NLS-1$
-
- /**
- * Export hover image
- */
- public static final String IMG_CLCL_EXPORT = "icons/palette/GENERIC/small/PD_Palette_Export_Hover.gif"; //$NON-NLS-1$
-
- /**
- * Import disabled image
- */
- public static final String IMG_DLCL_IMPORT = "icons/palette/GENERIC/small/PD_Palette_Import_Disabled.gif"; //$NON-NLS-1$
-
- /**
- * Export disabled image
- */
- public static final String IMG_DLCL_EXPORT = "icons/palette/GENERIC/small/PD_Palette_Export_Disabled.gif"; //$NON-NLS-1$
-
- /**
- * Import image
- */
- public static final String IMG_ELCL_IMPORT = "icons/palette/GENERIC/small/PD_Palette_Import.gif"; //$NON-NLS-1$
-
- /**
- * Export image
- */
- public static final String IMG_ELCL_EXPORT = "icons/palette/GENERIC/small/PD_Palette_Export.gif"; //$NON-NLS-1$
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRoot.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRoot.java
deleted file mode 100644
index 6c6d28ef5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRoot.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.Tool;
-import org.eclipse.gef.palette.MarqueeToolEntry;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.gef.palette.PaletteGroup;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.palette.SelectionToolEntry;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.tools.RangeSelectionTool;
-
-/**
- * @author mengbo
- */
-public class DesignerPaletteRoot extends PaletteRoot {
- private IPaletteItemManager _manager;
- private IFile _file;
- private IPaletteContext _paletteContext;
-
- /**
- * Creates a new DesignerPaletteRoot instance.
- * @param file
- */
- public DesignerPaletteRoot(final IFile file) {
- // create root
- super();
-
- this._paletteContext = PaletteItemManager.createPaletteContext(file);
- this._manager = PaletteItemManager.getInstance(_paletteContext);
-
- setupBasicItems();
- loadItems();
-
- // TODO: register listener on the manager for toolpalette change event.
-
- }
-
- /**
- * @return the paletteContext
- */
- public IPaletteContext getPaletteContext() {
- return _paletteContext;
- }
-
- /**
- * @return the paletteContext
- */
- public IFile getFile() {
- return _file;
- }
- /**
- * @return IPaletteItemManager instance for this root
- */
- public IPaletteItemManager getPaletteManager() {
- return this._manager;
- }
-
- private void setupBasicItems() {
- // Preferences prefs = PDPlugin.getDefault().getPluginPreferences();
- // _showAll = prefs.getBoolean(IJMTConstants.PREF_PALETTE_SHOW_ALL);
-
- // a group of default control tools
- // JSFPalette.DefaultGroup.LabelJSFPallete=Controls
- PaletteGroup controls = new PaletteGroup(PageDesignerResources
- .getInstance().getString(
- "JSFPalette.DefaultGroup.LabelJSFPallete")); //$NON-NLS-1$
- add(controls);
- // the selection tool
- ToolEntry tool = new SelectionToolEntry() {
- public Tool createTool() {
- return new RangeSelectionTool();
- }
- };
- controls.add(tool);
-
- // use selection tool as default entry
- setDefaultEntry(tool);
-
- // the marquee selection tool
- controls.add(new MarqueeToolEntry());
- }
-
- private void loadItems() {
- // _showAll =
- // PDPlugin.getDefault().getPluginPreferences().getBoolean(IJMTConstants.PREF_PALETTE_SHOW_ALL);
- // remove other things first.
- removeItems();
-
- if (_manager != null) {
- this.addAll(_manager.getAllCategories());
- };
- }
-
- /**
- * remove everything from the paletteroot
- *
- */
- protected void removeItems() {
- // we try to remove anything other than the basic
- // group that have the selectentry and marqeeentry
- List children1 = new ArrayList(getChildren());
- children1.remove(0); // remove the first one
- for (int i = 0, n = children1.size(); i < n; i++) {
- this.remove((PaletteEntry) children1.get(i));
- }
- }
-
- /**
- * refresh the palette, normally caused by preference change.
- */
- public void refresh() {
- loadItems();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRootFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRootFactory.java
deleted file mode 100644
index 77bbe6447..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteRootFactory.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * Factory for creating DesignerPaletteRoots
- * @author mengbo
- */
-public class DesignerPaletteRootFactory {
- /** Default palette size. */
- private static final int DEFAULT_PALETTE_SIZE = 125;
-
- /** Preference ID used to persist the palette location. */
- private static final String PALETTE_DOCK_LOCATION = "DesignerPaletteRootFactory.Location"; //$NON-NLS-1$
-
- /** Preference ID used to persist the palette size. */
- private static final String PALETTE_SIZE = "DesignerPaletteRootFactory.Size"; //$NON-NLS-1$
-
- /** Preference ID used to persist the flyout palette's state. */
- private static final String PALETTE_STATE = "DesignerPaletteRootFactory.State"; //$NON-NLS-1$
-
- /**
- * Return a {@link FlyoutPreferences} instance used to save/load the preferences of
- * a flyout palette.
- * @return FlyoutPreferences
- */
- public static FlyoutPreferences createPalettePreferences() {
- // set default flyout palette preference values, in case the preference
- // store
- // does not hold stored values for the given preferences
- getPreferenceStore().setDefault(PALETTE_DOCK_LOCATION, -1);
- getPreferenceStore().setDefault(PALETTE_STATE, -1);
- getPreferenceStore().setDefault(PALETTE_SIZE, DEFAULT_PALETTE_SIZE);
-
- return new FlyoutPreferences() {
- public int getDockLocation() {
- return getPreferenceStore().getInt(PALETTE_DOCK_LOCATION);
- }
-
- public int getPaletteState() {
- return getPreferenceStore().getInt(PALETTE_STATE);
- }
-
- public int getPaletteWidth() {
- return getPreferenceStore().getInt(PALETTE_SIZE);
- }
-
- public void setDockLocation(int location) {
- getPreferenceStore().setValue(PALETTE_DOCK_LOCATION, location);
- }
-
- public void setPaletteState(int state) {
- getPreferenceStore().setValue(PALETTE_STATE, state);
- }
-
- public void setPaletteWidth(int width) {
- getPreferenceStore().setValue(PALETTE_SIZE, width);
- }
- };
- }
-
- /**
- * Returns the preference store for the PDPlugin.
- *
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#getPreferenceStore()
- */
- private static IPreferenceStore getPreferenceStore() {
- return PDPlugin.getDefault().getPreferenceStore();
- }
-
-// /**
-// * Creates the PaletteRoot and adds all palette elements. Use this factory
-// * method to create a new palette for your graphical editor.
-// * <p>
-// * <i>Note: cannot support facelets</i>
-// * @param project
-// * @return a new PaletteRoot
-// * @deprecated - use createPaletteRoot(IFile file)
-// */
-// public static PaletteRoot createPaletteRoot(IProject project) {
-// PaletteItemManager manager = PaletteItemManager.getInstance(project);
-// if (manager == null) {
-// return null;
-// }
-// manager.reset();
-// PaletteRoot palette = new DesignerPaletteRoot(manager);
-// return palette;
-// }
-
- /**
- * Creates the PaletteRoot and adds all palette elements. Use this factory
- * method to create a new palette for your graphical editor.
- * @param file
- * @return a new PaletteRoot
- */
- public static PaletteRoot createPaletteRoot(final IFile file) {
- return new DesignerPaletteRoot(file);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewer.java
deleted file mode 100644
index b64e26ebd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.List;
-
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.PaletteCustomizer;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * XXX: currently create this class is just for add/remove listener to
- * preference change, so can refresh the palette.
- *
- * @author mengbo
- * @author mengbo
- * @version 1.5
- */
-public class DesignerPaletteViewer extends PaletteViewer {
-
- private PaletteCustomizerDialog _customizerDialog = null;
-
- private DesignerPaletteCustomizer _customizer;
-
- /**
- *
- */
- public DesignerPaletteViewer() {
- super();
-
- this.enableVerticalScrollbar(true);
- }
-
-// Preferences.IPropertyChangeListener listener = new Preferences.IPropertyChangeListener() {
-// public void propertyChange(PropertyChangeEvent event) {
-// PaletteRoot root = getPaletteRoot();
-// if (root instanceof DesignerPaletteRoot) {
-//// ((DesignerPaletteRoot) root).refresh();
-// // XXX: setActiveTool to null to workaround GEF bug of NPE
-// // setActiveTool(null);
-// }
-// }
-// };
-
- final IEntryChangeListener _paletteModelListener = new IEntryChangeListener() {
-
- public void modelChanged(List oldDefinitions, List newDefinitions) {
- final PaletteRoot root = getPaletteRoot();
- if (root instanceof DesignerPaletteRoot) {
- Control viewerControl = getControl();
-
- if (viewerControl != null && !viewerControl.isDisposed())
- {
- Display display = viewerControl.getDisplay();
-
- if (display != null && !display.isDisposed())
- {
- // this updates the UI, so it must be run on
- // the display thread
- display.asyncExec(new Runnable()
- {
- public void run() {
- ((DesignerPaletteRoot) root).refresh();
- }
- });
- }
- }
- }
- }
-
- };
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteViewer#hookControl()
- */
- protected void hookControl() {
- super.hookControl();
-// PDPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(
-// listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteViewer#unhookControl()
- */
- protected void unhookControl() {
-// PDPlugin.getDefault().getPluginPreferences()
-// .removePropertyChangeListener(listener);
- // remove palette model change listener
- PaletteRoot root = getPaletteRoot();
- if (root instanceof DesignerPaletteRoot) {
- if (_customizer != null){
- _customizer.setPaletteRoot(null);
- }
- IPaletteItemManager imanager = ((DesignerPaletteRoot) root)
- .getPaletteManager();
- if (imanager instanceof PaletteItemManager) {
- PaletteItemManager manager = (PaletteItemManager) imanager;
-// ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-// _resourceChangeListener);
- manager.removeEntryChangeListener(_paletteModelListener);
-// PaletteItemManager.clearPaletteItemManager();
- manager.release(((DesignerPaletteRoot)root).getPaletteContext());
- }
- }
- super.unhookControl();
- }
-
- public PaletteCustomizerDialog getCustomizerDialog() {
- if (_customizerDialog == null){
- _customizerDialog = DesignerPaletteCustomizationsHelper.getNewCustomizerDialog(this, getCustomizer() );
- }
- return _customizerDialog;
- }
-
- public PaletteCustomizer getCustomizer() {
- if (_customizer == null){
- _customizer = DesignerPaletteCustomizationsHelper.getNewCustomizer();
- _customizer.setPaletteRoot((DesignerPaletteRoot)this.getPaletteRoot());
- }
- return _customizer;
- }
-
- public void setPaletteRoot(PaletteRoot root) {
- super.setPaletteRoot(root);
- // add palette model change listener
- // PaletteRoot root = getPaletteRoot();
- if (root instanceof DesignerPaletteRoot) {
- ((DesignerPaletteRoot) root).getPaletteManager()
- .addEntryChangeListener(_paletteModelListener);
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewerProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewerProvider.java
deleted file mode 100644
index 57a8b7444..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/DesignerPaletteViewerProvider.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;
-import org.eclipse.gef.internal.ui.palette.editparts.DrawerEditPart;
-import org.eclipse.gef.ui.palette.PaletteContextMenuProvider;
-import org.eclipse.gef.ui.palette.PaletteViewer;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author mengbo
- */
-public class DesignerPaletteViewerProvider extends PaletteViewerProvider {
- /**
- * @param graphicalViewerDomain
- */
- public DesignerPaletteViewerProvider(EditDomain graphicalViewerDomain) {
- super(graphicalViewerDomain);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteViewerProvider#configurePaletteViewer(org.eclipse.gef.ui.palette.PaletteViewer)
- */
- protected void configurePaletteViewer(PaletteViewer viewer) {
- // super.configurePaletteViewer(viewer);
- viewer.setContextMenu(new PaletteContextMenuProvider(viewer) {
- public void buildContextMenu(IMenuManager menu) {
- StructuredSelection sel = (StructuredSelection)getViewer().getSelection();
- if (sel != null
- && sel.getFirstElement() instanceof DrawerEditPart
- && ((DrawerEditPart)sel.getFirstElement()).getDrawer() instanceof TaglibPaletteDrawer)
- menu.add(new HideTagLibAction((DrawerEditPart)sel.getFirstElement(), Messages.DesignerPaletteViewerProvider_Hide));
- super.buildContextMenu(menu);
- }
- });
-
- // XXX: should only use the following when we use Template
- viewer
- .addDragSourceListener(new TemplateTransferDragSourceListener(
- viewer));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.palette.PaletteViewerProvider#createPaletteViewer(org.eclipse.swt.widgets.Composite)
- */
- public PaletteViewer createPaletteViewer(Composite parent) {
- PaletteViewer pViewer = new DesignerPaletteViewer();
- pViewer.createControl(parent);
- configurePaletteViewer(pViewer);
- pViewer.setCustomizer(new DesignerPaletteCustomizer());
- hookPaletteViewer(pViewer);
-
- PlatformUI
- .getWorkbench()
- .getHelpSystem()
- .setHelp(
- parent,
- PDPlugin
- .getResourceString("DesignerPaletteViewerProvider.help.id")); //$NON-NLS-1$
-
- return pViewer;
- }
-
- private static class HideTagLibAction extends Action {
- private DrawerEditPart tagLib;
-
- /**
- * Constructor
- * @param tagLibDrawer
- * @param string
- */
- public HideTagLibAction(DrawerEditPart tagLibDrawer, String string) {
- super(string);
- this.tagLib = tagLibDrawer;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- TaglibPaletteDrawer pd = (TaglibPaletteDrawer)tagLib.getDrawer();
- pd.setVisible(false);
- DesignerPaletteCustomizationsHelper.hideTaglibDrawer(pd);
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceData.java
deleted file mode 100644
index e31a32540..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceData.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-/**
- * Data describing a palette drop.
- *
- * @author cbateman
- *
- */
-public interface IDropSourceData
-{
- /**
- * @return uri of the tag's library. MUST NOT BE NULL.
- */
- public String getNamespace();
- /**
- * @return a unique id for a tag creation provider that may be different
- * from the uri. MUST NOT BE NULL.
- */
- public String getId();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceDataProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceDataProvider.java
deleted file mode 100644
index d3116d0b5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IDropSourceDataProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-/**
- * Used by objects (usually palette entries) that wish provide drop source data
- * to a client.
- *
- * @author cbateman
- *
- */
-public interface IDropSourceDataProvider
-{
- /**
- * @return a drop source data in context
- */
- IDropSourceData getDropSourceData();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IEntryChangeListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IEntryChangeListener.java
deleted file mode 100644
index 2f4667eb2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IEntryChangeListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.List;
-
-/**
- * @author mengbo
- */
-public interface IEntryChangeListener {
- /**
- * @param oldDefinitions
- * the old taglib definitions
- * @param newDefinitions
- * the new taglib definitions
- */
- void modelChanged(List oldDefinitions, List newDefinitions);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteConstants.java
deleted file mode 100644
index dcbf6515a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteConstants.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-/**
- * Constants used by palette customizations persistence
- *
- * @author mengbo
- */
-public interface IPaletteConstants {
- /**
- *
- */
- public static final String BUNDLE_ID = "org.eclipse.jst.pagedesigner"; //$NON-NLS-1$
-
- /**
- * contant for palett-item element name
- */
- public static final String ROOT = "palette-item"; //$NON-NLS-1$
-
- /**
- * constant for uri attribute
- */
- public static final String URI = "uri"; //$NON-NLS-1$
-
- /**
- * Constant for hidden attribute
- */
- public static final String ISHIDDEN = "hidden"; //$NON-NLS-1$
-
- /**
- * constant for id attribute
- */
- public static final String ID = "id"; //$NON-NLS-1$
-
- /**
- * constant for category element name
- */
- public static final String CATEGORY_TAG = "category"; //$NON-NLS-1$
-
-//OLD - no longer/currently used
-
-// public static final String EXTENSION_POINT_ID = "ResourceContributions"; //$NON-NLS-1$
-// public static final String FILENAME = "/tag.xml"; //$NON-NLS-1$
-// public static final String TAGNAME = "tagName"; //$NON-NLS-1$
-// public static final String ITEM_TAG = "item"; //$NON-NLS-1$
-// public static final String EXPERT = "expert"; //$NON-NLS-1$
-// public static final String LARGEICON = "largeIcon"; //$NON-NLS-1$
-// public static final String SMALLICON = "smallIcon"; //$NON-NLS-1$
-// public static final String LABEL = "label"; //$NON-NLS-1$
-// public static final String INITIALSTATE = "initialState"; //$NON-NLS-1$
-// public static final String SHORTDESC = "shortDesc"; //$NON-NLS-1$
-// public static final String ATTRIBUTE_TAG = "attribute"; //$NON-NLS-1$
-// public static final String NAME = "name"; //$NON-NLS-1$
-// public static final String VALUE = "value"; //$NON-NLS-1$
-// public static final String ICONPREFIX = "iconPrefix"; //$NON-NLS-1$
-// public static final String TAGLIBEXT = "capability"; //$NON-NLS-1$
-// public static final String JARPROTO = "jar:file://"; //$NON-NLS-1$
-// public static final String FILEPROTO = "file://"; //$NON-NLS-1$
-// public static final String REQUIREHFORM = "requireHForm"; //$NON-NLS-1$
-// public static final String JSFCOMPONENTCATEGORY = "jsfComponentCategory"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteContext.java
deleted file mode 100644
index c8a940f31..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteContext.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.jsf.context.IModelContext;
-
-/**
- * Context in which the WPE palette is operating
- *
- */
-public interface IPaletteContext extends IModelContext {
- /**
- * @return IFile
- */
- public IFile getFile();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteFactory.java
deleted file mode 100644
index 703ccf7bb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2009 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.gef.EditDomain;
-import org.eclipse.gef.palette.PaletteRoot;
-import org.eclipse.gef.ui.palette.PaletteViewerProvider;
-import org.eclipse.gef.ui.views.palette.PaletteViewerPage;
-import org.eclipse.ui.IEditorInput;
-
-/**
- * Create a palette parts to replace the default palette in
- * the Web Page Editor.
- *
- * If any of the create methods return null, the default WPE behaviour will be used.
- */
-public interface IPaletteFactory {
- /**
- * @param provider
- * @return {@link PaletteViewerPage} - MAY return null. If null, the default palette viewer page will be used.
- */
- public PaletteViewerPage createPaletteViewerPage(PaletteViewerProvider provider) ;
-
- /**
- * @param domain
- * @return {@link PaletteViewerProvider} - may return null. If null, the default paletteViewerProvider will be used.
- */
- public PaletteViewerProvider createPaletteViewerProvider(EditDomain domain) ;
-
- /**
- * @param editorInput
- * @return PaletteRoot - may return null. If null, the default palette root will be used.
- */
- public PaletteRoot createPaletteRoot(IEditorInput editorInput);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteItemManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteItemManager.java
deleted file mode 100644
index 7b2b154f4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/IPaletteItemManager.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory.TagRegistryIdentifier;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
-
-/**
- * PaletteItemManager interface.
- *
- * NOT intended to be implemented by clients
- *
- * @author mengbo
- */
-public interface IPaletteItemManager {
- /**
- * @return IProject
- */
- public TagRegistryIdentifier getTagRegistryIdentifier();
-
- /**
- * @return list of {@link TaglibPaletteDrawer}s being managed for this project
- */
- public List/*TaglibPaletteDrawer*/ getAllCategories();
-
- /**
- * Create a TaglibPaletteDrawer with given label for given id
- *
- * @param id
- * @param label
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer createTaglibPaletteDrawer(String id, String label);
-
- /**
- * Retrieve the TaglibPaletteDrawer by id. May be null.
- *
- * @param id
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer getTaglibPalletteDrawer(String id);
-
- /**
- * Locate by id, and if not found, create a TaglibPaletteDrawer using label and id
- *
- * @param id
- * @param label
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer findOrCreateCategory(String id, String label);
-
- /**
- * Adds a listener to the list of those notified when the model contents are
- * replaced
- *
- * @param listener -
- * the listener to add
- */
- void addEntryChangeListener(IEntryChangeListener listener);
-
- /**
- * Adds a listener to the list of those notified when the model contents are
- * replaced
- *
- * @param listener -
- * the listener to remove
- */
- void removeEntryChangeListener(IEntryChangeListener listener);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ITagDropSourceData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ITagDropSourceData.java
deleted file mode 100644
index 16af8d833..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ITagDropSourceData.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-
-/**
- * Provides generic information for tag creation from a palette drop.
- *
- * @author cbateman
- *
- */
-public interface ITagDropSourceData extends IDropSourceData
-{
- /**
- * @return tagName
- */
- public String getTagName();
-
- /**
- * Convenience method returning the tag libraries default prefix, if
- * applicable
- *
- * @return default prefix
- */
- public String getDefaultPrefix();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/Messages.java
deleted file mode 100644
index 0bf173753..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.editors.palette.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String DesignerPaletteCustomizerDialog_ExportCustomizations;
- /**
- * see messages.properties
- */
- public static String DesignerPaletteCustomizerDialog_ImportCustomizations;
- /**
- * see messages.properties
- */
- public static String DesignerPaletteViewerProvider_Hide;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java
deleted file mode 100644
index 64d8d40bc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationInfo;
-import org.eclipse.jst.pagedesigner.utils.CommandUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * A source data that is enhanced by metadata.
- *
- * @author cbateman
- *
- */
-public final class MetadataTagDropSourceData implements ITagDropSourceData
-{
- private final IDOMModel _model;
- private final TagCreationInfo _tagCreationInfo;
- private final ITagDropSourceData _delegate;
-
- /**
- * @param creationProvider
- * @param model
- */
- public MetadataTagDropSourceData(
- final ITagDropSourceData creationProvider,
- final IDOMModel model)
- {
- _delegate = creationProvider;
- _model = model;
- _tagCreationInfo = getTagCreationInfo();
- }
-
- /**
- * @return the pre-defined attributes for the tag from meta-data or
- * null if none.
- */
- public List<TagCreationAttribute> getAttributes()
- {
- if (_tagCreationInfo != null)
- {
- return _tagCreationInfo.getAttributes();
- }
- return null;
- }
-
- /**
- * @return the template derived from metadata for tag drop or null if none.
- */
- public String getTemplate()
- {
- if (_tagCreationInfo != null)
- {
- return (String) _tagCreationInfo.getTemplate();
- }
- return null;
- }
-
- public String getDefaultPrefix()
- {
- return _delegate.getDefaultPrefix();
- }
-
- public String getTagName()
- {
- return _delegate.getTagName();
- }
-
- public String getNamespace()
- {
- return _delegate.getNamespace();
- }
-
- private TagCreationInfo getTagCreationInfo()
- {
- final ITaglibDomainMetaDataModelContext metadataContext = CommandUtil
- .getMetadataContext(getNamespace(), _model);
- TagCreationInfo tagCreationInfo = null;
- String id = getId();
- if (metadataContext != null && id != null)
- {
- tagCreationInfo = createCreationInfo(metadataContext, id,
- getTagName());
- }
- return tagCreationInfo;
- }
-
- public String getId()
- {
- return _delegate.getId();
- }
-
- /**
- * @param metaDataContext
- * @param id
- * @param tagName
- * @return a tag creation info for the tag and id in the metadata context
- */
- static TagCreationInfo createCreationInfo(
- final ITaglibDomainMetaDataModelContext metaDataContext,
- final String id, final String tagName)
- {
- final Model model = TaglibDomainMetaDataQueryHelper
- .getModel(metaDataContext);
- if (model != null)
- {
- Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model,
- PaletteInfos.TRAIT_ID);
- if (trait != null)
- {
- final PaletteInfos pis = (PaletteInfos) trait.getValue();
- final PaletteInfo pi = pis.findPaletteInfoById(id);
- if (pi != null)
- {
- return pi.getTagCreation();
- }
- }
- // tag-creation trait on entity directly?
- final Entity tag = getTagEntity(metaDataContext, tagName);
- if (tag != null)
- {// metadata exists
- trait = TaglibDomainMetaDataQueryHelper.getTrait(tag,
- "tag-create"); //$NON-NLS-1$
- if (trait != null && trait.getValue() != null)
- {
- return (TagCreationInfo) trait.getValue();
- }
- }
- }
- return null;
- }
- /**
- * @param metaDataContext
- * @param tagName
- * @return the {@link Entity} for this tag element being created
- */
- private static Entity getTagEntity(
- final ITaglibDomainMetaDataModelContext metaDataContext,
- final String tagName)
- {
- return TaglibDomainMetaDataQueryHelper.getEntity(metaDataContext,
- tagName);
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ShowAllAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ShowAllAction.java
deleted file mode 100644
index f115bfe3c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/ShowAllAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- */
-public class ShowAllAction extends Action {
- Preferences _preferences = null;
-
- /**
- * @param pluginPreferences
- */
- public ShowAllAction(Preferences pluginPreferences) {
- super(PDPlugin.getResourceString("ShowAllAction.ActionLabel.ShowAll")); //$NON-NLS-1$
- _preferences = pluginPreferences;
- boolean showAll = _preferences
- .getBoolean(IJMTConstants.PREF_PALETTE_SHOW_ALL);
- this.setChecked(showAll);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- boolean showAll = _preferences
- .getBoolean(IJMTConstants.PREF_PALETTE_SHOW_ALL);
- // toggle the show all status. preference will fire out change event,
- // and palettes
- // receive this event will refresh
- _preferences.setValue(IJMTConstants.PREF_PALETTE_SHOW_ALL, !showAll);
- this.setChecked(!showAll);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java
deleted file mode 100644
index fe6d5b8ed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IImageDescriptorProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Locates and creates Images for tags using the common metadata framework.
- *
- * Images are cached in the PDPlugin's ImageRegistry.
- *
- * Some code is being duplicated in palette helper. PaletteHelper should be re-factored to use this code
- *
- */
-public class TagImageManager {
-
- private static final String PALETTE_DEFAULT_IMAGE_FILE = "palette/GENERIC/large/PD_Palette_Default.gif"; //$NON-NLS-1$
-
- private static TagImageManager INSTANCE = null;
-
- private final static ImageDescriptor DEFAULT_SMALL_ICON = JSFUICommonPlugin
- .getDefault().getImageDescriptor(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
-
- private final static ImageDescriptor DEFAULT_LARGE_ICON = PDPlugin
- .getDefault().getImageDescriptor(
- PALETTE_DEFAULT_IMAGE_FILE);
-
- private static final String TRAIT_ICON_SMALL = "small-icon"; //$NON-NLS-1$
-
- private static final String TRAIT_ICON_LARGE = "large-icon"; //$NON-NLS-1$
-
- /**
- * @return singleton instance
- */
- public synchronized static TagImageManager getInstance() {
- if (INSTANCE == null) {
- INSTANCE = new TagImageManager();
- }
- return INSTANCE;
- }
-
- /**
- * Returns small image using metadata and may be null. Caller should NOT dispose the image, but should call TagImageManager's dispose(image)
- * @param project
- * @param nsUri
- * @param tagName
- * @return small image using metadata. May be null.
- */
- public Image getSmallIconImage(IProject project, String nsUri, String tagName) {
- Image image = null;
- Model model = getModel(project, nsUri);
- if (model != null){
- ImageDescriptor imgDesc = getSmallIconImageDescriptor(model, tagName);
- image = getOrCreateImage(imgDesc);
- }
-
- return image;
- }
-
- /**
- * @param project
- * @param nsUri
- * @param tagName
- * @return large image using metadata. May be null.
- */
- public Image getLargeIconImage(IProject project, String nsUri, String tagName) {
- Image image = null;
- Model model = getModel(project, nsUri);
- if (model != null){
- ImageDescriptor imgDesc = getLargeIconImageDescriptor(model, nsUri);
- image = getOrCreateImage(imgDesc);
- }
-
- return image;
- }
-
- /**
- * Gets, and creates if necessary, a shared image.
- * @param imageDescriptor
- * @return Image from shared cache
- */
- public static Image getOrCreateImage(ImageDescriptor imageDescriptor) {
- Image image = null;
- if (imageDescriptor != null){
- image = PDPlugin.getDefault().getImageRegistry().get(imageDescriptor.toString());
- if (image == null ){
- image = imageDescriptor.createImage();
- PDPlugin.getDefault().getImageRegistry().put(imageDescriptor.toString(), image);
- } else if (image.isDisposed()){ //should not occur, but handling just in case
- PDPlugin.getDefault().getImageRegistry().remove(imageDescriptor.toString());
- image = imageDescriptor.createImage();
- PDPlugin.getDefault().getImageRegistry().put(imageDescriptor.toString(), image);
- }
- }
- return image;
- }
-
- private Model getModel(IProject project, String nsUri) {
- ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsUri);
- Model model =TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- // no caching at this time so there is no need to listen to model notifications
-// if (model != null && !hasAdapter(model))
-// addAdapter(model);
- return model;
- }
-
-
-// private void addAdapter(Model model) {
-// if (model != null){
-//// model.eAdapters().add(INSTANCE);
-// }
-// }
-//
-// private boolean hasAdapter(Model model) {
-// for(Adapter a : model.eAdapters()){
-// if (a == INSTANCE)
-// return true;
-// }
-// return false;
-// }
-
- private ImageDescriptor getSmallIconImageDescriptor(Model model, String tagName) {
- return getIconImageDescriptor(model, tagName, true);
- }
-
- private ImageDescriptor getLargeIconImageDescriptor(Model model, String tagName) {
- return getIconImageDescriptor(model, tagName, false);
- }
-
- private ImageDescriptor getIconImageDescriptor(Model model, String tagName, boolean small) {
- ImageDescriptor icon = null;
-
- //use palette infos if available
- Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "paletteInfos"); //$NON-NLS-1$
- if (trait != null){
- PaletteInfos tags = (PaletteInfos)trait.getValue();
- for (Iterator it=tags.getInfos().iterator();it.hasNext();){
- PaletteInfo tag = (PaletteInfo)it.next();
- if (tag.getId().equalsIgnoreCase(tagName)){
- IMetaDataSourceModelProvider sourceProvider = ((Trait)tag.eContainer().eContainer()).getSourceModelProvider();
- if (small)
- icon = getImageDescriptorFromString(sourceProvider, tag.getSmallIcon(), DEFAULT_SMALL_ICON);
- else
- icon = getImageDescriptorFromString(sourceProvider, tag.getLargeIcon(), DEFAULT_LARGE_ICON);
-
- break;
- }
- }
- }
- if (icon == null) {
- for (Iterator it=model.getChildEntities().iterator();it.hasNext();){
- Entity tagAsEntity = (Entity)it.next();
- if (tagAsEntity.getId().equalsIgnoreCase(tagName)){
- if (small)
- icon = getImageDescriptorFromTagTraitValueAsString(tagAsEntity, TRAIT_ICON_SMALL, DEFAULT_SMALL_ICON);
- else
- icon = getImageDescriptorFromTagTraitValueAsString(tagAsEntity, TRAIT_ICON_LARGE, DEFAULT_LARGE_ICON);
-
- break;
- }
- }
-
- }
-
- return icon;
- }
-
- private ImageDescriptor getImageDescriptorFromString(IMetaDataSourceModelProvider sourceModelProvider, String imgDesc, ImageDescriptor defaultValue){
- ImageDescriptor image = defaultValue;
- IImageDescriptorProvider imageProvider = (IImageDescriptorProvider)sourceModelProvider.getAdapter(IImageDescriptorProvider.class);
- if (imageProvider != null){
- image = imageProvider.getImageDescriptor(imgDesc);
- }
- return image;
- }
-
- private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(Entity entity, String key, ImageDescriptor defaultValue){
- Trait t = TaglibDomainMetaDataQueryHelper.getTrait(entity, key);
- if (t != null){
- String imgDesc = TraitValueHelper.getValueAsString(t);
- return getImageDescriptorFromString(t.getSourceModelProvider(), imgDesc, defaultValue);
- }
- return defaultValue;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolCreationAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolCreationAdapter.java
deleted file mode 100644
index 2ac052ecf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolCreationAdapter.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * ITagDropSourceData implementation useable by TagToolPaletteEntry for its
- * drop transfer object.
- *
- * @author cbateman
- *
- */
-public final class TagToolCreationAdapter implements ITagDropSourceData
-{
- private String _uri;
- private String _tagName;
- private String _defaultPrefix;
- private String _id;
-
- /**
- * @param uri
- * @param tagName
- * @param defaultPrefix
- * @param id
- */
- public TagToolCreationAdapter(final String uri, final String tagName, final String defaultPrefix,
- final String id)
- {
- _uri = uri;
- _tagName = tagName;
- _defaultPrefix = defaultPrefix;
- _id = id;
- }
-
- public String getDefaultPrefix()
- {
- return _defaultPrefix;
- }
-
- public String getTagName()
- {
- return _tagName;
- }
-
- public String getNamespace()
- {
- return _uri;
- }
-
- public String getId()
- {
- return _id;
- }
-
- /**
- * @param provider
- * @param model
- * @return a metadata tag creation adapter for an existing tag
- * creation provider (which need not itself be a TagToolCreationAdapter)
- * and a dom model.
- */
- public static MetadataTagDropSourceData createMdTagCreationProvider(final ITagDropSourceData provider, final IDOMModel model)
- {
- return new MetadataTagDropSourceData(provider, model);
- }
-
- /**
- * @param container
- * @param paletteContext
- * @return the tag creation provider
- */
- public static ITagDropSourceData findProviderForContainer(
- final QName container, final IPaletteContext paletteContext)
- {
-
- return findProviderForContainer(container.getNamespaceURI(), container
- .getLocalPart(), paletteContext);
- }
-
- /**
- * @param uri
- * @param tagName
- * @param paletteContext
- * @return the tag creation provider
- */
- public static ITagDropSourceData findProviderForContainer(
- final String uri, final String tagName,
- final IPaletteContext paletteContext)
- {
- final PaletteItemManager itemManager = PaletteItemManager.getInstance(paletteContext);
- if (itemManager != null) {
- final TaglibPaletteDrawer category = itemManager.findCategoryByURI(uri);
- if (category != null)
- {
- final TagToolPaletteEntry tagItem = category
- .getTagPaletteEntryByTagName(tagName);
- if (tagItem != null)
- {
- return tagItem.getTemplate();
- }
- }
- }
- return null;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolPaletteEntry.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolPaletteEntry.java
deleted file mode 100644
index 7483504f5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagToolPaletteEntry.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette;
-
-import org.eclipse.gef.Tool;
-import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationTool;
-
-/**
- * Represents a tag palette item entry in the web page designer palette
- *
- */
-public class TagToolPaletteEntry extends CombinedTemplateCreationEntry
- implements IDropSourceDataProvider
-{
-
- /**
- * Constructor
- *
- * @param template
- * the template item for the drop
- * @param label
- * @param shortDescription
- * @param iconSmall
- * @param iconLarge
- */
- public TagToolPaletteEntry(final ITagDropSourceData template,
- final String label, final String shortDescription,
- final ImageDescriptor iconSmall, final ImageDescriptor iconLarge)
- {
- super(label, shortDescription, template, NOOP_FACTORY, iconSmall,
- iconLarge);
- }
-
- /**
- * @return tagName
- */
- public String getTagName()
- {
- return getTemplate().getTagName();
- }
-
- /**
- * Convenience method returning the tag libraries default prefix, if
- * applicable
- *
- * @return default prefix
- */
- public String getDefaultPrefix()
- {
- return getTemplate().getDefaultPrefix();
- }
-
- /**
- * @return uri of the tag's library
- */
- public String getURI()
- {
- return getTemplate().getNamespace();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.palette.ToolEntry#createTool()
- */
- @Override
- public Tool createTool()
- {
- return new ItemCreationTool(getTemplate());
- }
-
- private final static CreationFactory NOOP_FACTORY = new CreationFactory()
- {
- public Object getNewObject()
- {
- // should never get called
- throw new UnsupportedOperationException(
- "createTool should be overriden, so this should never be called"); //$NON-NLS-1$
- }
-
- public Object getObjectType()
- {
- // should never get called
- throw new UnsupportedOperationException(
- "createTool should be overriden, so this should never be called"); //$NON-NLS-1$
- }
- };
-
- @Override
- public ITagDropSourceData getTemplate()
- {
- return (ITagDropSourceData) super.getTemplate();
- }
-
- public IDropSourceData getDropSourceData()
- {
- return getTemplate();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteElementTemplateHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteElementTemplateHelper.java
deleted file mode 100644
index 83ebf27a4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteElementTemplateHelper.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette.impl;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.palette.MetadataTagDropSourceData;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.SAXException;
-
-/**
- *
- * @author mengbo
- */
-public class PaletteElementTemplateHelper {
- //private static final String TEMPLATE_ITEM_NAME = "template";
-
- private static final String PREFIX_ATTRIBUTE = "_uri_"; //$NON-NLS-1$
-
-// private static Logger _log = PDPlugin
-// .getLogger(PaletteElementTemplateHelper.class);
-
- /**
- * This method is used to process template element which is read from .xmi
- * file and generate default element.
- *
- * @param model
- * @param element
- * @param creationProvider
- */
- public static void applyTemplate(IDOMModel model, Element element,
- MetadataTagDropSourceData creationProvider) {
- if (element == null || element.getLocalName() == null) {
- return;
- }
-
- Node[] templateNodes = getTemplateNodes(model, creationProvider);
- if (templateNodes != null) {
- for (int i=0;i<templateNodes.length;i++){
- Node anode = templateNodes[i];
- element.appendChild(anode);
- }
- }
- }
-
- private static Node[] getTemplateNodes(IDOMModel model,
- MetadataTagDropSourceData creationProvider) {
-
- if (creationProvider == null)
- return null;
-
- String template = creationProvider.getTemplate();
- if (template != null){
-
- final String nodeStr = prepareNode(template);//(String)template.getTemplate();
- final Logger logger = PDPlugin.getLogger(PaletteElementTemplateHelper.class);
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(false);
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document doc = builder.parse(new ByteArrayInputStream( nodeStr.getBytes()));
- Node beginNode = doc.getFirstChild();
- Node templateNode = beginNode.cloneNode(true);//model.getDocument().importNode(beginNode, true);
- Node[] templateNodes = applyPrefixes(model, templateNode.getChildNodes(), model.getDocument());
- return templateNodes;
- } catch (ParserConfigurationException e) {
- logger.error(e);
- } catch (SAXException e) {
- logger.error(e);
- } catch (IOException e) {
- logger.error(e);
- } catch (Exception e){
- logger.error(e);
- }
- }
- return null;
- }
-
- /**
- * @param template
- * @return xml as String wrapped by a <begin> node as template may not have a single root element
- */
- private static String prepareNode(String template) {
- StringBuffer buf = new StringBuffer("<begin>"); //$NON-NLS-1$
- buf.append(template);
- buf.append("</begin>"); //$NON-NLS-1$
- return buf.toString();
- }
-
- /**
- * Use the actrual prefixs of jsf html and jsf core to set the prefix of
- * each node declared in template.
- * @param model
- * @param templateNodes
- * @param document
- * @return Node[]
- *
- */
- public static Node[] applyPrefixes(IDOMModel model,
- NodeList templateNodes, Document document) {
- List result = new ArrayList();
- for (int i = 0, n = templateNodes.getLength(); i < n; i++) {
- Node node = cloneNodeDeep(model, document, templateNodes.item(i));
- if (node instanceof Element) {
- result.add(node);
- }
- }
- return (Node[]) result.toArray(new Node[result.size()]);
- }
-
- /**
- * TODO: Later we may add some logic to reference the tld file through tag
- * name to resolve the prefixs directly.
- */
- private static void internalApplyPrefixes(IDOMModel model, Element refNode, Element node) {
- if (node != null && refNode != null) {
- String uri = refNode.getAttribute(PREFIX_ATTRIBUTE);
- if (uri != null) {
- String prefix = JSPUtil.getOrCreatePrefix(model, uri, null);
- node.setPrefix(prefix);
- }
- }
- }
-
-
- /**
- * A deep clone of the sourceNode
- * @param model
- * @param destDoc
- * @param sourceNode
- * @return Node
- */
- public static Node cloneNodeDeep(IDOMModel model, Document destDoc, Node sourceNode) {
- switch (sourceNode.getNodeType()) {
- case Node.ELEMENT_NODE:
- Element sourceEle = (Element) sourceNode;
- Element resultEle = destDoc.createElement(sourceEle.getTagName());
- internalApplyPrefixes(model, sourceEle, resultEle);
- NamedNodeMap attrs = sourceEle.getAttributes();
- for (int i = 0, size = attrs.getLength(); i < size; i++) {
- Attr a = (Attr) attrs.item(i);
- if (!PREFIX_ATTRIBUTE.equalsIgnoreCase(a.getNodeName())) {
- resultEle.setAttribute(a.getName(), a.getValue());
- }
- }
- NodeList children = sourceEle.getChildNodes();
- for (int i = 0, size = children.getLength(); i < size; i++) {
- Node n = children.item(i);
- Node d = cloneNodeDeep(model, destDoc, n);
- if (d != null) {
- resultEle.appendChild(d);
- }
- }
- return resultEle;
- case Node.TEXT_NODE:
- Text txt = destDoc.createTextNode(sourceNode.getNodeValue());
- if (txt instanceof IDOMText && sourceNode instanceof IDOMText) {
- try {
- ((IDOMText) txt).setSource(((IDOMText) sourceNode)
- .getSource());
- } catch (Exception ex) {
- // ignore
- }
- }
- return txt;
- case Node.CDATA_SECTION_NODE:
- return destDoc.createCDATASection(sourceNode.getNodeValue());
- default:
- return null; // not support.
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java
deleted file mode 100644
index 8abec4727..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java
+++ /dev/null
@@ -1,690 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette.impl;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IImageDescriptorProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfo;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.PaletteInfos;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.CMDocumentFactoryTLD;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDElementDeclaration;
-import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.palette.IPaletteItemManager;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolPaletteEntry;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-
-/**
- * Helper class.
- */
-public class PaletteHelper {
-
- // pattern to strip all <x> and </x> HTML tags
- final private static Pattern removeHTMLTags = Pattern
- .compile("<[/?\\w\\s=\"\\.\\#]+>"); //$NON-NLS-1$
-
- // pattern to find all runs of spaces longer than one
- final private static Pattern trimInteriorWhitespace = Pattern
- .compile("[ ]+"); //$NON-NLS-1$
-
- // pattern to find all new lines for removal
- final private static Pattern removeNewLines = Pattern.compile("[\n]"); //$NON-NLS-1$
-
- private final static ImageDescriptor DEFAULT_SMALL_ICON = JSFUICommonPlugin
- .getDefault().getImageDescriptor(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
-
- private final static ImageDescriptor DEFAULT_LARGE_ICON = PDPlugin
- .getDefault().getImageDescriptor(
- "palette/GENERIC/large/PD_Palette_Default.gif"); //$NON-NLS-1$
-
- // how many characters to truncate a palette item's description to.
- // TODO: add preference?
- // the soft length is the ideal length we try to truncate to. We first
- // try to find a period (end of sentence; TODO: should have a character
- // class)
- // inside the first SOFT_LENGTH chars at which to truncate a description
- // string.
- // if we can't find one then we search for the first one between SOFT_LENGTH
- // and min(HARD_LENGTH, str.length()). If found, we truncate there. If not,
- // we truncate to HARD_LENGTH-" ...".length() and append the ellipsis.
- // In all cases the truncated description string returned should <=
- // HARD_LENGTH.
- // private final static int DESCRIPTION_TRUNCATE_SOFT_LENGTH = 150;
- private final static int DESCRIPTION_TRUNCATE_HARD_LENGTH = 250;
-
-// private PaletteItemManager _paletteManager;
-
- /*package*/ PaletteHelper(final PaletteItemManager manager) {
-// _paletteManager = manager;
- }
- /**
- * Creates a TaglibPaletteDrawer with TagTool palette entries for each tag
- * from the CMDocument
- *
- * @param manager
- * @param tldRec
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer configPaletteItemsByTLD(
- final IPaletteItemManager manager, final ITaglibRecord tldRec) {
-
- final String tldURI = CMUtil.getURIFromTaglibRecord(tldRec, manager.getTagRegistryIdentifier().getProject());
-
- final CMDocumentFactoryTLD factory = new CMDocumentFactoryTLD();
- final TLDDocument doc = (TLDDocument) factory.createCMDocument(tldRec);
-
- return getOrCreateTaglibPaletteDrawer(manager, doc, tldURI);
- }
-
- /**
- * @param manager
- * @param doc
- * @param tldURI
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer getOrCreateTaglibPaletteDrawer(
- final IPaletteItemManager manager, final CMDocument doc, final String tldURI) {
-
- TaglibPaletteDrawer category = findCategory(manager, tldURI);
- if (category != null)
- return category;
-
- final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
- .createMetaDataModelContext(manager.getTagRegistryIdentifier().getProject(), tldURI);
- final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- category = createTaglibPaletteDrawer(manager, doc, model);
-
- if (category != null) {
- loadTags(category, doc, model);
- sortTags(category.getChildren());
- }
- return category;
- }
-
- private void sortTags(final List tags) {
- // note that once we store ordering customizations, we will need to do
- // something different
- // it will also be complicated if we decide to do 181958 and 181866
- Collections.sort(tags, new Comparator() {
-
- public int compare(final Object o1, final Object o2) {
- final String label1 = ((PaletteEntry) o1).getLabel();
- final String label2 = ((PaletteEntry) o2).getLabel();
-
- if (label1 == null) {
- // if both null, then equal
- if (label2 == null) {
- return 0;
- }
- // otherwise, sort label 2 before
- return 1;
- }
-
- if (label2 == null) {
- // if label1 not null, then sort it first
- return -1;
- }
- return label1.compareTo(label2);
- }
-
- });
-
- }
-
- private void loadTags(final TaglibPaletteDrawer category, final CMDocument doc,
- final Model model) {
-
- if (model != null) {// load from metadata - should always drop in here
- final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model,
- "paletteInfos"); //$NON-NLS-1$
- if (trait != null) {
- final PaletteInfos tags = (PaletteInfos) trait.getValue();
- for (final Iterator it = tags.getInfos().iterator(); it.hasNext();) {
- final PaletteInfo tag = (PaletteInfo) it.next();
- createTagEntry(category, tag, doc);
- }
- } else {
- for (final Iterator it = model.getChildEntities().iterator(); it
- .hasNext();) {
- final Entity tagAsEntity = (Entity) it.next();
- createTagEntry(category, tagAsEntity, doc);
- }
- }
- } else {// fail safe loading from cmDoc... should no longer go in here
- loadFromCMDocument(category, doc);
- }
-
- }
-
- private TaglibPaletteDrawer createTaglibPaletteDrawer(
- final IPaletteItemManager manager, final CMDocument doc, final Model model) {
-
- TaglibPaletteDrawer category = null;
- if (model != null) {
- // do we create it?
- final boolean isHidden = getBooleanTagTraitValue(model, "hidden", false); //$NON-NLS-1$
- if (isHidden) {
- return null;
- }
-
- String label = getStringTagTraitValue(model,
- "display-label", model.getId()); //$NON-NLS-1$
- label = label.equals("") ? model.getId() : label; //$NON-NLS-1$
- category = manager.createTaglibPaletteDrawer(model.getId(), label);
-
- String desc = getStringTagTraitValue(model,
- "description", model.getId()); //$NON-NLS-1$
- category.setDescription(formatDescription(desc));
-
- final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(
- model, "small-icon", null); //$NON-NLS-1$
- if (largeIconImage != null)
- category.setLargeIcon(largeIconImage);
-
- final String prefix = getStringTagTraitValue(model,
- "default-prefix", null); //$NON-NLS-1$
- category.setDefaultPrefix(prefix);
-
- final boolean isVisible = !(getBooleanTagTraitValue(model,
- "expert", false)); //$NON-NLS-1$
- category.setVisible(isVisible);
-
- category.setInitialState(PaletteDrawer.INITIAL_STATE_CLOSED);
-
- }
- return category;
- }
-
- private TaglibPaletteDrawer findCategory(
- final IPaletteItemManager manager, final String tldURI) {
-
- TaglibPaletteDrawer lib = null;
- for (final Iterator it = manager.getAllCategories().iterator(); it.hasNext();) {
- lib = (TaglibPaletteDrawer) it.next();
- if (tldURI.equals(lib.getURI()))
- return lib;
- }
- return null;
- }
-
- /*
- * (non-JavaDoc) This method will read information from the CMDocument to
- * create the tag entries. It will check the existing items in the registry.
- * If the corresponding tag is not in palette manager, then it will create
- * one, and mark the newly created item as "expert". Otherwise, it will
- * check whether the tld contains more information than the palette manager,
- * and adding those information to it (such as description, icons for tags)
- *
- * @param category
- *
- * @param cmdoc
- */
- private void loadFromCMDocument(final TaglibPaletteDrawer category,
- final CMDocument cmdoc) {
-
- final CMNamedNodeMap nodeMap = cmdoc.getElements();
- for (int i = 0, size = nodeMap.getLength(); i < size; i++) {
- final CMElementDeclaration eledecl = (CMElementDeclaration) nodeMap
- .item(i);
- final String tagName = eledecl.getElementName();
- TagToolPaletteEntry item;
- if (tagName.equalsIgnoreCase(IHTMLConstants.TAG_INPUT)) {// TODO:
- // fix
- // this
- // nonsense!
- final StringBuffer name = new StringBuffer(category.getURI());
- name.append(":").append(tagName).append(":").append(tagName); //$NON-NLS-1$ //$NON-NLS-2$
- item = category.getTagPaletteEntryById(name.toString());
- } else {
- item = category.getTagPaletteEntryByTagName(tagName);
- }
- if (item == null) {
- createTagEntry(category, eledecl);
-
- }
- }
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final PaletteInfo info, final CMDocument doc) {
-
- final Boolean hidden = info.getHidden();
- if ((hidden != null) && (hidden.booleanValue()))// do not create a
- // palette entry
- return;
-
- final IMetaDataSourceModelProvider sourceProvider = ((Trait) info
- .eContainer().eContainer()).getSourceModelProvider();
- final String tagName = info.getTag();
- final String id = info.getId();
- final String label = info.getDisplayLabel();
- final String desc = formatDescription(info.getDescription());
- final ImageDescriptor smallIcon = getImageDescriptorFromString(
- sourceProvider, info.getSmallIcon(), DEFAULT_SMALL_ICON);
- final ImageDescriptor largeIcon = getImageDescriptorFromString(
- sourceProvider, info.getLargeIcon(), DEFAULT_LARGE_ICON);
- final Boolean expert = info.getExpert();
-
- internalCreateTagEntry(doc, category, id, tagName, label, desc,
- smallIcon, largeIcon, (expert != null && expert.booleanValue()));
-
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final PaletteInfo info, final Namespace ns) {
-
- final Boolean hidden = info.getHidden();
- if ((hidden != null) && (hidden.booleanValue()))// do not create a
- // palette entry
- return;
-
- final IMetaDataSourceModelProvider sourceProvider = ((Trait) info
- .eContainer().eContainer()).getSourceModelProvider();
- final String tagName = info.getTag();
- final String id = info.getId();
- final String label = info.getDisplayLabel();
- final String desc = formatDescription(info.getDescription());
- final ImageDescriptor smallIcon = getImageDescriptorFromString(
- sourceProvider, info.getSmallIcon(), DEFAULT_SMALL_ICON);
- final ImageDescriptor largeIcon = getImageDescriptorFromString(
- sourceProvider, info.getLargeIcon(), DEFAULT_LARGE_ICON);
- final Boolean expert = info.getExpert();
-
- internalCreateTagEntry(ns, category, id, tagName, label, desc,
- smallIcon, largeIcon, (expert != null && expert.booleanValue()));
-
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final Entity entity, final CMDocument doc) {
-
- final boolean hidden = getBooleanTagTraitValue(entity, "hidden", false); //$NON-NLS-1$
- if (hidden)// do not create a palette entry
- return;
-
- final String tagName = entity.getId();
- final String label = getStringTagTraitValue(entity, "display-label", tagName); //$NON-NLS-1$
- final String desc = formatDescription(getStringTagTraitValue(entity,
- "description", tagName)); //$NON-NLS-1$
- final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(
- entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$
- final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(
- entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$
- final boolean expert = getBooleanTagTraitValue(entity, "expert", false); //$NON-NLS-1$
-
- internalCreateTagEntry(doc, category, tagName, tagName, label, desc,
- smallIcon, largeIcon, expert);
-
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final Entity entity, final Namespace ns) {
-
- final boolean hidden = getBooleanTagTraitValue(entity, "hidden", false); //$NON-NLS-1$
- if (hidden)// do not create a palette entry
- return;
-
- final String tagName = entity.getId();
- final String label = getStringTagTraitValue(entity, "display-label", tagName); //$NON-NLS-1$
- final String desc = formatDescription(getStringTagTraitValue(entity,
- "description", tagName)); //$NON-NLS-1$
- final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(
- entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$
- final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(
- entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$
- final boolean expert = getBooleanTagTraitValue(entity, "expert", false); //$NON-NLS-1$
-
- internalCreateTagEntry(ns, category, tagName, tagName, label, desc,
- smallIcon, largeIcon, expert);
-
- }
-
- private TagToolPaletteEntry internalCreateTagEntry(final TaglibPaletteDrawer category,
- final String id, final String tagName,
- final String label, String desc, final ImageDescriptor smallIcon,
- final ImageDescriptor largeIcon, final boolean expert) {
-
- final ITagDropSourceData data = new TagToolCreationAdapter(category
- .getURI(), tagName, category.getDefaultPrefix(), id);
- final TagToolPaletteEntry item = new TagToolPaletteEntry(data, label,
- desc, smallIcon, largeIcon);
- item.setId(id);
-
- item.setVisible(!expert);
- category.getChildren().add(item);
- item.setParent(category);
-
- return item;
- }
-
- private TagToolPaletteEntry internalCreateTagEntry(final CMDocument doc,
- final TaglibPaletteDrawer category, final String id, final String tagName,
- final String label, final String desc, final ImageDescriptor smallIcon,
- final ImageDescriptor largeIcon, final boolean expert) {
-
- if (verifyPresentInContentModel(doc, tagName)) {
- return internalCreateTagEntry(category, id, tagName, label, desc,
- smallIcon, largeIcon, expert);
- }
- return null;
- }
-
- private TagToolPaletteEntry internalCreateTagEntry(final Namespace ns,
- final TaglibPaletteDrawer category, final String id, final String tagName,
- final String label, final String desc, final ImageDescriptor smallIcon,
- final ImageDescriptor largeIcon, final boolean expert) {
-
- if (verifyPresentInContentModel(ns, tagName)) {
- return internalCreateTagEntry(category, id, tagName, label, desc,
- smallIcon, largeIcon, expert);
- }
- return null;
- }
-
- private boolean verifyPresentInContentModel(final CMDocument doc,
- final String tagName) {
-
- return doc.getElements().getNamedItem(tagName) != null;
- }
-
- private boolean verifyPresentInContentModel(final Namespace ns,
- final String tagName) {
-
- return ns.getViewElement(tagName) != null;
- }
-
- private boolean getBooleanTagTraitValue(final Entity entity, final String key,
- final boolean defaultValue) {
- final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, key);
- if (trait != null) {
- return TraitValueHelper.getValueAsBoolean(trait);
- }
- return defaultValue;
- }
-
- private String getStringTagTraitValue(final Entity entity, final String key,
- final String defaultValue) {
-
- final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(entity, key);
- if (trait != null) {
- final String val = TraitValueHelper.getValueAsString(trait);
- if (val != null)
- return val;
- }
- return defaultValue;
- }
-
- private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(
- final Entity entity, final String key, final ImageDescriptor defaultValue) {
- final Trait t = TaglibDomainMetaDataQueryHelper.getTrait(entity, key);
- if (t != null) {
- final String imgDesc = TraitValueHelper.getValueAsString(t);
- return getImageDescriptorFromString(t.getSourceModelProvider(),
- imgDesc, defaultValue);
- }
- return defaultValue;
- }
-
- private ImageDescriptor getImageDescriptorFromString(
- final IMetaDataSourceModelProvider sourceModelProvider, final String imgDesc,
- final ImageDescriptor defaultValue) {
-
- ImageDescriptor image = defaultValue;
- if (imgDesc != null) {
- final IImageDescriptorProvider imageProvider = (IImageDescriptorProvider) sourceModelProvider
- .getAdapter(IImageDescriptorProvider.class);
- if (imageProvider != null) {
- image = imageProvider.getImageDescriptor(imgDesc);
- }
- }
- return image;
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final CMElementDeclaration eledecl) {
-
- final String tagName = eledecl.getElementName();
- String label = null;
- String desc = null;
-
- if (eledecl instanceof TLDElementDeclaration) {
- final TLDElementDeclaration tag = (TLDElementDeclaration) eledecl;
- label = tag.getDisplayName();
- desc = tag.getDescription();
- }
-
- if (label == null || label.equals("")) //$NON-NLS-1$
- label = tagName;
-
- if (desc == null)
- desc = ""; //$NON-NLS-1$
- else
- desc = formatDescription(desc);
-
- final TagToolPaletteEntry item = internalCreateTagEntry(category, tagName,
- tagName, label, desc, getDefaultSmallIcon(),
- getDefaultLargeIcon(), false);
- item.setToolProperty("CMElementDeclaration", eledecl); //$NON-NLS-1$
-
- }
-
- /**
- * @return DEFAULT_LARGE_ICON
- */
- private ImageDescriptor getDefaultLargeIcon() {
- return DEFAULT_LARGE_ICON;
- }
-
- /**
- * @return DEFAULT_SMALL_ICON
- */
- private ImageDescriptor getDefaultSmallIcon() {
- return DEFAULT_SMALL_ICON;
- }
-
- private String formatDescription(final String desc) {
- // TODO: modify and use a formatter in the future?
- final String aDesc = filterConvertString(desc);
- if (aDesc != null) {
- if (aDesc.length() > DESCRIPTION_TRUNCATE_HARD_LENGTH) {
- final StringBuffer result = new StringBuffer(aDesc.substring(0,
- DESCRIPTION_TRUNCATE_HARD_LENGTH));
- result.append("..."); //$NON-NLS-1$
- return result.toString();
- }
- return aDesc;
-
- }
- return ""; //$NON-NLS-1$
- }
-
- private String filterConvertString(final String text) {
- if (text == null) {
- return ""; //$NON-NLS-1$
- }
-
- String result = removeHTMLTags.matcher(text).replaceAll(""); //$NON-NLS-1$
- result = removeNewLines.matcher(result).replaceAll(" "); //$NON-NLS-1$
- result = trimInteriorWhitespace.matcher(result).replaceAll(" "); //$NON-NLS-1$
-
- return result;
- }
-
- /**
- * @param manager
- * @param ns
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer configPaletteItemsByNamespace(
- final PaletteItemManager manager,
- final Namespace ns) {
-
- return getOrCreateTaglibPaletteDrawer(manager, ns);
- }
-
- /**
- * @param manager
- * @param ns
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer getOrCreateTaglibPaletteDrawer(
- final IPaletteItemManager manager, final Namespace ns) {
-
- TaglibPaletteDrawer category = findCategory(manager, ns.getNSUri());
- if (category != null)
- return category;
-
- final IProject project = manager.getTagRegistryIdentifier().getProject();
- final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
- .createMetaDataModelContext(project, ns.getNSUri());
- final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- category = createTaglibPaletteDrawer(manager, ns, model);
-
- if (category != null) {
- loadTags(category, ns, model);
- sortTags(category.getChildren());
- }
- return category;
- }
-
- private TaglibPaletteDrawer createTaglibPaletteDrawer(
- final IPaletteItemManager manager, final Namespace ns, final Model model) {
-
- TaglibPaletteDrawer category = null;
- if (model != null) {
- // do we create it?
- final boolean isHidden = getBooleanTagTraitValue(model, "hidden", false); //$NON-NLS-1$
- if (isHidden) {
- return null;
- }
-
- String label = getStringTagTraitValue(model,
- "display-label", model.getId()); //$NON-NLS-1$
- label = label.equals("") ? model.getId() : label; //$NON-NLS-1$
- category = manager.createTaglibPaletteDrawer(model.getId(), label);
-
- final String desc = getStringTagTraitValue(model,
- "description", model.getId()); //$NON-NLS-1$
- category.setDescription(formatDescription(desc));
-
- final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(
- model, "small-icon", null); //$NON-NLS-1$
- if (largeIconImage != null)
- category.setLargeIcon(largeIconImage);
-
- final String prefix = getStringTagTraitValue(model,
- "default-prefix", null); //$NON-NLS-1$
- category.setDefaultPrefix(prefix);
-
- final boolean isVisible = !(getBooleanTagTraitValue(model,
- "expert", false)); //$NON-NLS-1$
- category.setVisible(isVisible);
-
- category.setInitialState(PaletteDrawer.INITIAL_STATE_CLOSED);
-
- }
- return category;
- }
-
- private void loadTags(final TaglibPaletteDrawer category,
- final Namespace ns, final Model model) {
-
- if (model != null) {// load from metadata - should always drop in here
- final Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model,
- "paletteInfos"); //$NON-NLS-1$
- if (trait != null) {
- final PaletteInfos tags = (PaletteInfos) trait.getValue();
- for (Iterator it = tags.getInfos().iterator(); it.hasNext();) {
- final PaletteInfo tag = (PaletteInfo) it.next();
- createTagEntry(category, tag, ns);
- }
- } else {
- for (final Iterator it = model.getChildEntities().iterator(); it
- .hasNext();) {
- final Entity tagAsEntity = (Entity) it.next();
- createTagEntry(category, tagAsEntity, ns);
- }
- }
- } else {// fail safe loading from cmDoc... should no longer go in here
- loadFromNamespace(category, ns);
- }
- }
-
- private void loadFromNamespace(final TaglibPaletteDrawer category,
- final Namespace ns) {
-
- for (Object velem : ns.getViewElements()) {
- final ITagElement tag = (ITagElement) velem;
- final TagToolPaletteEntry item = category.getTagPaletteEntryByTagName(tag
- .getName());
- if (item == null) {
- createTagEntry(category, tag);
- }
- }
- }
-
- private void createTagEntry(final TaglibPaletteDrawer category,
- final ITagElement tag) {
-
- final String tagName = tag.getName();
- String label = tagName;
- String desc = ""; //$NON-NLS-1$
-
- // if (eledecl instanceof TLDElementDeclaration){
- // TLDElementDeclaration tag = (TLDElementDeclaration)eledecl;
- // label = tag.getDisplayName();
- // desc = tag.getDescription();
- // }
-
- // if (label == null || label.equals("")) //$NON-NLS-1$
- // label = tagName;
- //
- // if (desc == null )
- // desc = ""; //$NON-NLS-1$
- // else
- // desc = formatDescription(desc);
-
- // TagToolPaletteEntry item =
- internalCreateTagEntry(category, tagName, tagName, label, desc,
- getDefaultSmallIcon(), getDefaultLargeIcon(), false);
- // item.setToolProperty("CMElementDeclaration", eledecl); //$NON-NLS-1$
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java
deleted file mode 100644
index f81c5fa20..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette.impl;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.PaletteEntry;
-import org.eclipse.jst.jsf.common.internal.JSPUtil;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.Namespace;
-import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory;
-import org.eclipse.jst.jsf.core.internal.CompositeTagRegistryFactory.TagRegistryIdentifier;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry.ITagRegistryListener;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry.TagRegistryChangeEvent;
-import org.eclipse.jst.jsf.designtime.internal.view.model.ITagRegistry.TagRegistryChangeEvent.EventType;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.palette.DesignerPaletteCustomizationsHelper;
-import org.eclipse.jst.pagedesigner.editors.palette.IEntryChangeListener;
-import org.eclipse.jst.pagedesigner.editors.palette.IPaletteConstants;
-import org.eclipse.jst.pagedesigner.editors.palette.IPaletteContext;
-import org.eclipse.jst.pagedesigner.editors.palette.IPaletteItemManager;
-import org.eclipse.wst.html.core.internal.contentmodel.HTMLCMDocumentFactory;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-
-/**
- * Manages tag library palette by palette context. Capable of handling JSP and XHTML content types.
- *
- * Callers must use getInstance(IPaletteContext), and when done, call release(IFile).
- *
- * @author mengbo and others
- */
-public class PaletteItemManager implements IPaletteItemManager,
- IPaletteConstants, ITagRegistryListener {
-
- private static final boolean DEBUG = false;
-
-
- private static Map<TagRegistryIdentifier, PaletteItemManager> _managers = new HashMap<TagRegistryIdentifier, PaletteItemManager>();
- private static ReentrantLock MANAGER_LOCK = new ReentrantLock();
- private static long MANAGER_LOCK_TIMEOUT = 120;
-
- private Set<IFile> _files = new HashSet<IFile>();
- private TagRegistryIdentifier _tagRegId;
- private List<PaletteDrawer> _paletteCategories = new ArrayList<PaletteDrawer>();
- private CopyOnWriteArrayList<IEntryChangeListener> _listeners = new CopyOnWriteArrayList<IEntryChangeListener>();
- private AtomicBoolean IS_DISPOSED = new AtomicBoolean();
-
- private PaletteHelper _paletteHelper;
-
- private ITagRegistry _tagRegistry;
-
-
- /**
- * Return singleton paletteItemManager for a given project. Will only work for JSPs.
- * @param project
- * @return PaletteItemManager
- * @deprecated - use getInstance(paletteContext)
- */
- public static PaletteItemManager getInstance(final IProject project) {
- if (project == null) {
- // sometimes when the editor is editing a file in jar file, may not
- // be able to
- // get the project.
- return getInstance(createPaletteContext(null));
- }
- //relies on JSP file extension for content type
- return getInstance(createPaletteContext(project.getFile("dummy.jsp"))); //$NON-NLS-1$
- }
-
- /**
- * @param paletteContext
- * @return PaletteItemManager instance shared with all files with same palette context in a project
- * May return null if locking issue
- */
- public static PaletteItemManager getInstance(final IPaletteContext paletteContext) {
- boolean hasLock = false;
- try {
- if (MANAGER_LOCK.tryLock(MANAGER_LOCK_TIMEOUT, TimeUnit.SECONDS)){
- hasLock = true;
- final TagRegistryIdentifier regId = getTagRegistryIdentifier(paletteContext);
- PaletteItemManager manager = _managers.get(regId);
- if (manager == null) {
- manager = new PaletteItemManager(regId);
- _managers.put(regId, manager);
- manager.init();
- }
- manager.addFile(paletteContext.getFile());
- return manager;
- }
- //if we get here then the lock has timed out
- PDPlugin.log(new Status(Status.ERROR, PDPlugin.getPluginId(), "(getInstance()) Failed to get managers lock for" + paletteContext.getFile().toString())); //$NON-NLS-1$
-
- } catch (InterruptedException e) {
- PDPlugin.log("Failed in PaletteItemManager.getInstance(PaletteContext", e); //$NON-NLS-1$
- } finally {
- if (hasLock)
- MANAGER_LOCK.unlock();
- }
- return null;
- }
-
- private static TagRegistryIdentifier getTagRegistryIdentifier(
- final IPaletteContext paletteContext) {
-
- final IFile file = paletteContext.getFile();
- if (file != null) {
- final IContentTypeManager typeManager = Platform.getContentTypeManager();
- final IContentType contentType =
- typeManager.findContentTypeFor(file.getName());
-
- if (contentType != null)
- {
- return new TagRegistryIdentifier(file.getProject(), contentType);
- }
- return null;
- }
- //to support legacy null projects. Allows HTML and JSP tag libs to be displayed.
- return new TagRegistryIdentifier(null, org.eclipse.jst.pagedesigner.utils.JSPUtil.JSP_CONTENTTYPE);
-
- }
-
- /**
- * @param file
- * @return IPaletteContext
- */
- public static IPaletteContext createPaletteContext(final IFile file) {
- return new IPaletteContext() {
- public IFile getFile() {
- return file;
- }
-
- public Object getAdapter(Class adapter) {
- return null;
- }
- };
- }
- private void addFile(final IFile file) {
- synchronized (_files) {
- _files.add(file);
- }
-
- }
-
- /**
- * Indicates that the file no longer needs the paletteItemManager, freeing the manager to be released after last reference
- * @param paletteContext
- */
- public void release(final IPaletteContext paletteContext) {
- final IFile file = paletteContext.getFile();
- boolean isEmpty = false;
- synchronized (_files) {
- if (_files.contains(file)) {
- _files.remove(file);
- if (_files.isEmpty())
- isEmpty = true;
- }
- }
-
- if (isEmpty && IS_DISPOSED.compareAndSet(false, true)) {
- removeTagRegistryListeners(this);
- boolean hasLock = false;
- try {
- if (MANAGER_LOCK.tryLock(MANAGER_LOCK_TIMEOUT, TimeUnit.SECONDS)) {
- hasLock = true;
- _managers.remove(_tagRegId);
- }
- else {
- PDPlugin.log(new Status(Status.ERROR, PDPlugin.getPluginId(), "(Release) Failed to get managers lock for" + paletteContext.getFile().toString())); //$NON-NLS-1$
- }
- } catch (InterruptedException e) {
- PDPlugin.log("Failed to release paletteItemManager for" + paletteContext.getFile().toString(), e); //$NON-NLS-1$
- } finally {
- if (hasLock)
- MANAGER_LOCK.unlock();
- }
- }
- }
-
- private static void removeTagRegistryListeners(final PaletteItemManager manager) {
- if (manager.getTagRegistry() != null)
- manager.getTagRegistry().removeListener(manager);
- }
-
- private ITagRegistry getTagRegistry() {
- return _tagRegistry;
- }
-
- /**
- * For JUnit testing purposes only
- */
- public static void clearPaletteItemManager() {
-
- boolean hasLock = false;
- try {
- if (MANAGER_LOCK.tryLock(MANAGER_LOCK_TIMEOUT, TimeUnit.SECONDS)){
- hasLock = true;
- if (_managers == null)
- return;
-
- for (final PaletteItemManager manager : _managers.values()) {
- PaletteItemManager.removeTagRegistryListeners(manager);
- manager._files.clear();
- }
- _managers.clear();
- } else {
- //if we get here then the lock has timed out
- PDPlugin.log(new Status(Status.ERROR, PDPlugin.getPluginId(), "(clear) Failed to get managers lock")); //$NON-NLS-1$
- }
-
- } catch (InterruptedException e) {
- PDPlugin.log("Failed in clearPaletteItemManager", e); //$NON-NLS-1$
- } finally {
- if (hasLock)
- MANAGER_LOCK.unlock();
- }
-
- }
-
- private PaletteItemManager(final TagRegistryIdentifier regId) {
- _paletteHelper = new PaletteHelper(this);
- if (regId != null) {
- _tagRegId = regId;
-// init();
- }
- }
-
-
- public List getAllCategories() {
- synchronized (_paletteCategories) {
- final List<PaletteDrawer> readOnlyCategories = new ArrayList<PaletteDrawer>(_paletteCategories);
- return Collections.unmodifiableList(readOnlyCategories);
- }
- }
-
- /**
- * Initializes the palette items for the current project
- */
- protected synchronized void init() {
- synchronized (_paletteCategories) {
- _paletteCategories.clear();
- }
-
- initTagRegistry();
-
- DesignerPaletteCustomizationsHelper.loadUserCustomizations(this);
-
- sortCategories();
- }
-
- private void sortCategories() {
- //note that once we store ordering customizations, we will need to do something different
- synchronized(_paletteCategories) {
- Collections.sort(_paletteCategories, new Comparator(){
-
- public int compare(Object o1, Object o2) {
- String label1 = ((PaletteEntry)o1).getLabel();
- String label2 = ((PaletteEntry)o2).getLabel();
-
- return label1.compareTo(label2);
- }
-
- });
- }
- }
-
- /**
- * Reinitializes the palatteItemManager and informs all palette roots that use the manager to refresh
- */
- public void reset() {
- init();
- fireModelChanged(null, null);
- }
-
- private void initTagRegistry() {
- registerHTMLCategory();
- if (isJSP(_tagRegId))
- registerJSPCategory();
-
- registerTagsFromTagRegistry();
- }
-
- private boolean isJSP(final TagRegistryIdentifier tagRegistryId) {
- final IContentType ct = tagRegistryId.getContentType();
- if (JSPUtil.isJSPContentType(ct.getId()))
- return true;
- return false;
- }
-
- private void registerTagsFromTagRegistry() {
- _tagRegistry = getTagRegistry(_tagRegId);
- if (_tagRegistry != null) {
- for (final Namespace ns : _tagRegistry.getAllTagLibraries()) {
- _paletteHelper.configPaletteItemsByNamespace(this, ns);
- }
- }
- }
-
- private ITagRegistry getTagRegistry(final TagRegistryIdentifier regId) {
- ITagRegistry reg = null;
- if (regId.getProject() != null) {
- reg = CompositeTagRegistryFactory.getInstance().getRegistry(regId);
- if (reg != null) {
- reg.addListener(this);
- }
- }
- return reg;
- }
-
- private void registerHTMLCategory() {
- final CMDocument doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.HTML_DOC_TYPE);
- _paletteHelper.getOrCreateTaglibPaletteDrawer(this, doc, CMDocType.HTML_DOC_TYPE);
- }
-
- private void registerJSPCategory() {
- final CMDocument doc = HTMLCMDocumentFactory.getCMDocument(CMDocType.JSP11_DOC_TYPE);
- _paletteHelper.getOrCreateTaglibPaletteDrawer(this, doc, CMDocType.JSP11_DOC_TYPE);
- }
-
-// /**
-// * Search Classpath entry list to find if the entry is jar library and the
-// * library have the tld descriptor, if have ,build a palette category mapping
-// * the tld descriptor.
-// *
-// * @param project
-// */
-// private void registerTldFromClasspath(final IProject project) {
-// if (project != null) {
-// ITaglibRecord[] tldrecs = TaglibIndex.getAvailableTaglibRecords(project.getFullPath());
-// for (int i=0;i<tldrecs.length;i++){
-// _paletteHelper.configPaletteItemsByTLD(this, getCurProject(), tldrecs[i]);
-// }
-// }
-// }
-
- /**
- * @param id (most likely the uri)
- * @param label
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer findOrCreateCategory(final String id, final String label) {
- TaglibPaletteDrawer category = getTaglibPalletteDrawer(id);
- if (category == null)
- category = createTaglibPaletteDrawer(id, label);
- return category;
- }
-
- /**
- * @param uri
- * @return TaglibPaletteDrawer
- */
- public TaglibPaletteDrawer findCategoryByURI(final String uri) {
- TaglibPaletteDrawer category;
- for (final Iterator iter = getAllCategories().iterator(); iter.hasNext();) {
- category = (TaglibPaletteDrawer) iter.next();
- if (uri.equals(category.getURI())) {
- return category;
- }
- }
- return null;
- }
-
- public TaglibPaletteDrawer createTaglibPaletteDrawer(final String uri, final String label) {
- final TaglibPaletteDrawer r = new TaglibPaletteDrawer(uri, label);
- synchronized(_paletteCategories) {
- _paletteCategories.add(r);
- }
- return r;
- }
-
- public TaglibPaletteDrawer getTaglibPalletteDrawer(final String uri) {
- for (final Iterator iter = getAllCategories().iterator(); iter.hasNext();) {
- final TaglibPaletteDrawer cat = (TaglibPaletteDrawer) iter.next();
- if (uri.equalsIgnoreCase(cat.getId())) {
- return cat;
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.sybase.stf.jmt.pagedesigner.editors.palette.IPaletteItemManager#addEntryChangeListener(com.sybase.stf.jmt.pagedesigner.editors.palette.IEntryChangeListener)
- */
- public void addEntryChangeListener(final IEntryChangeListener listener) {
- _listeners.addIfAbsent(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.sybase.stf.jmt.pagedesigner.editors.palette.IPaletteItemManager#removeEntryChangeListener(com.sybase.stf.jmt.pagedesigner.editors.palette.IEntryChangeListener)
- */
- public void removeEntryChangeListener(final IEntryChangeListener listener) {
- _listeners.remove(listener);
- }
-
- /**
- * Notify model change event
- *
- * @param oldDefinitions
- * @param newDefinitions
- */
- private void fireModelChanged(final List oldDefinitions, final List newDefinitions) {
- if (_listeners == null) {
- return;
- }
- for (final Iterator<IEntryChangeListener> it= _listeners.iterator();it.hasNext();){
- final IEntryChangeListener listener = it.next();
- listener.modelChanged(oldDefinitions, newDefinitions);
- }
- }
-
- /**
- * Informs all paletteItemManagers, except the notifying paletteManager, of updates to the customizations
- * All palette viewer roots will be notifed of possible updates
- * @param notifyingManager
- */
- public static void notifyPaletteItemManagersOfCustomizationsUpdate(final IPaletteItemManager notifyingManager){
- boolean hasLock = false;
- try {
- if (MANAGER_LOCK.tryLock(MANAGER_LOCK_TIMEOUT, TimeUnit.SECONDS)){
- hasLock = true;
- for (Iterator it=_managers.values().iterator();it.hasNext();){
- final PaletteItemManager mgr = (PaletteItemManager)it.next();
- if (mgr != null && notifyingManager != mgr)
- mgr.reset();
- }
- }
- else {
- //if we get here then the lock has timed out
- PDPlugin.log(new Status(Status.ERROR, PDPlugin.getPluginId(), "Failed to get managers lock in notifyPaletteItemManagersOfCustomizationsUpdate")); //$NON-NLS-1$
- }
-
- } catch (InterruptedException e) {
- PDPlugin.log("Failed in notifyPaletteItemManagersOfCustomizationsUpdate", e); //$NON-NLS-1$
- } finally {
- if (hasLock)
- MANAGER_LOCK.unlock();
- }
-
- }
-
- public void registryChanged(final TagRegistryChangeEvent event) {
- final EventType eventType = event.getType();
- switch (eventType) {
- case ADDED_NAMESPACE:
- addNamespaces(event.getAffectedObjects());
- break;
- case REMOVED_NAMESPACE:
- removeNamespaces(event.getAffectedObjects());
- break;
- case CHANGED_NAMESPACE:
- changeNamespaces(event.getAffectedObjects());
- break;
- case REGISTRY_DISPOSED:
- break;
-
- default:
- break;
- }
-
- DesignerPaletteCustomizationsHelper.loadUserCustomizations(this);
- sortCategories();
-
- fireModelChanged(null, null);
- }
-
-
- private void addNamespaces(final List<? extends Namespace> affectedObjects) {
- synchronized (_paletteCategories) {
- for (final Namespace ns : affectedObjects) {
- if (DEBUG)
- System.out.println("Add NS: "+ns.getNSUri()+"["+System.currentTimeMillis()+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- _paletteHelper.configPaletteItemsByNamespace(this, ns);
- }
- }
- }
-
- private void removeNamespaces(final List<? extends Namespace> affectedObjects) {
- final List<Integer> drawersToRemove = new ArrayList<Integer>();
- synchronized (_paletteCategories) {
- for (final Namespace ns : affectedObjects) {
- for (int i=_paletteCategories.size() - 1; i >= 0; i--) {//gather in reverse order
- final PaletteDrawer drawer = _paletteCategories.get(i);
- if (drawer.getId().equals(ns.getNSUri())) {
- if (DEBUG)
- System.out.println("Remove NS: "+drawer.getId() +"["+System.currentTimeMillis()+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- drawersToRemove.add(new Integer(i));
- }
- }
- }
- if (! drawersToRemove.isEmpty()) {
- Collections.sort(drawersToRemove, new Comparator<Integer>() {//reverse order sort
-
- public int compare(Integer o1, Integer o2) {
- if (o1.intValue() > o2.intValue())
- return -1;
- else if (o1.intValue() < o2.intValue())
- return 1;
-
- return 0;
- }
- });
- for (Integer index : drawersToRemove) {
- _paletteCategories.remove(index.intValue());
- }
- }
- }
- }
-
- private void changeNamespaces(final List<? extends Namespace> affectedObjects) {
- //for now, remove then add
- removeNamespaces(affectedObjects);
- addNamespaces(affectedObjects);
- }
-
- public TagRegistryIdentifier getTagRegistryIdentifier() {
- return _tagRegId;
- }
-
- /**
- * @return helper
- */
- public PaletteHelper getPaletteHelper() {
- return _paletteHelper;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/TaglibPaletteDrawer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/TaglibPaletteDrawer.java
deleted file mode 100644
index 5f7ba74ce..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/TaglibPaletteDrawer.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.palette.impl;
-
-import java.util.Iterator;
-
-import org.eclipse.gef.palette.PaletteDrawer;
-import org.eclipse.gef.palette.ToolEntry;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolPaletteEntry;
-
-/**
- * Palette Drawer for Tag lib items
- *
- */
-public class TaglibPaletteDrawer extends PaletteDrawer {
- private String prefix;
-
- /**
- * Constructor
- * @param uri
- * @param label
- */
- public TaglibPaletteDrawer(String uri, String label) {
- super(label);
- super.setId(uri);
- setDrawerType(ToolEntry.PALETTE_TYPE_TOOL);
- }
-
- /**
- * @return default prefix for tag during creation
- */
- public String getDefaultPrefix() {
- return prefix;
- }
-
- /**
- * Set the default prefix for use during item creation
- * @param prefix
- */
- public void setDefaultPrefix(String prefix) {
- this.prefix = prefix;
- }
-
- /**
- * @return uri identifying the library of tags
- */
- public String getURI(){
- return getId();
- }
-
- /**
- * @param uri for the libary of tags
- */
- public void setURI(String uri){
- setId(uri);
- }
-
- /**
- * @param id
- * @return TagToolPaletteEntry for the tag using the id
- */
- public TagToolPaletteEntry getTagPaletteEntryById(String id){
- for (Iterator it=getChildren().iterator();it.hasNext();){
- TagToolPaletteEntry tag = (TagToolPaletteEntry)it.next();
- if (tag.getId().equals(id))
- return tag;
- }
- return null;
- }
-
- /**
- * @param tagName
- * @return TagToolPaletteEntry using the tag name
- */
- public TagToolPaletteEntry getTagPaletteEntryByTagName(String tagName){
- for (Iterator it=getChildren().iterator();it.hasNext();){
- TagToolPaletteEntry tag = (TagToolPaletteEntry)it.next();
- if (tag.getTagName().equalsIgnoreCase(tagName))
- return tag;
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.gef.palette.PaletteDrawer#acceptsType(java.lang.Object)
- */
- public boolean acceptsType(Object object){
- return true;
- }
-
- /**
- * @return PERMISSION_HIDE_ONLY
- * @see org.eclipse.gef.palette.PaletteEntry#getUserModificationPermission()
- */
- public int getUserModificationPermission() {
- return PERMISSION_HIDE_ONLY;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/messages.properties
deleted file mode 100644
index 81fbded6c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-DesignerPaletteCustomizerDialog_ExportCustomizations=Export Palette Customizations
-DesignerPaletteCustomizerDialog_ImportCustomizations=Import Palette Customizations
-DesignerPaletteViewerProvider_Hide=Hide
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/IPropertyPageDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/IPropertyPageDescriptor.java
deleted file mode 100644
index c5a8041d3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/IPropertyPageDescriptor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Property descriptor for metadata enabled tag attributes in the WPE property pages.
- *
- * <p><b>Provisional API - subject to change</b></p>
- * Not intended to be implemented by clients.
- */
-public interface IPropertyPageDescriptor extends IMetaDataEnabledFeature, IAdaptable{
- /**
- * Trait id for defining quick edit tab sections. Value must be of type qe:QuickEditTabSections
- * eg. <value xsi:type="qe:QuickEditTabSections">
- */
- public static final String QUICK_EDIT_TAB = "quick-edit-tab"; //$NON-NLS-1$
- /**
- * Trait id for category name value
- */
- public static final String PROP_DESC_CATEGORY = "category"; //$NON-NLS-1$
-
-// /**
-// * Trait id for fully qualified cell editor class name
-// */
-// public static final String PROP_DESC_CELL_EDITOR = "cell-editor";
-// /**
-// * Trait id for fully qualified dialog field editor name
-// */
-// public static final String PROP_DESC_DIALOG_FIELD_EDITOR = "dialog-field-editor";
-
- /**
- * @return name of attribute. Must not be null.
- */
- public String getAttributeName();
- /**
- * @return category name. Must not be null.
- */
- public String getCategory();
- /**
- * @return label to use. Must not be null.
- */
- public String getLabel();
- /**
- * @return description. May return null.
- */
- public String getDescription();
- /**
- * @return whether this is a required property. Default false.
- */
- public boolean isRequired();
- /**
- * @param parent
- * @return cell editor to use. May be null.
- */
- public CellEditor getCellEditor(Composite parent);
- /**
- * @return dialog field editor to use. May be null.
- */
- public DialogField getDialogFieldEditor();
- /**
- * @return uri. Must not be null.
- */
- public String getUri();
- /**
- * @return tag name. Must not be null.
- */
- public String getTagName();
- /**
- * @return fully qualified attribute-value-runtime-type as String
- */
- public String getValueType();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/EditorValidatorAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/EditorValidatorAdapter.java
deleted file mode 100644
index a2f6304ce..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/EditorValidatorAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.properties.internal;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidationMessage;
-
-/**
- * Adapts IValidValues to ICellEditorValidator
- *
- */
-public class EditorValidatorAdapter implements ICellEditorValidator, IInputValidator {
-
- private IValidValues _vvs;
-
- /**
- * Constructor
- * @param vvs
- */
- public EditorValidatorAdapter(IValidValues vvs) {
- _vvs = vvs;
- }
-
- public String isValid(Object value) {
- //for now, if value is not a string, return true
- if (value instanceof String)
- return isValid((String)value);
- return null;
- }
-
- public String isValid(String value) {
- _vvs.getValidationMessages().clear();
- if (_vvs.isValidValue(value))
- return null;//is valid
-
- return ((IValidationMessage)_vvs.getValidationMessages().get(0)).getMessage();
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptor.java
deleted file mode 100644
index eb49a6ce6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptor.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.properties.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.metadataprocessors.AbstractMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.jsf.metadataprocessors.features.IValidValues;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.meta.EditorCreator;
-import org.eclipse.jst.pagedesigner.meta.internal.CellEditorFactoryRegistry;
-import org.eclipse.jst.pagedesigner.properties.ITabbedPropertiesConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.w3c.dom.Element;
-
-/**
- * MD enabled feature of an attribute value runtime type allowing for the tabbed property
- * page to work
- *
- */
-public class PropertyDescriptor extends AbstractMetaDataEnabledFeature
- implements IMetaDataEnabledFeature, IPropertyPageDescriptor, IAdaptable {
-
- /**
- * Constructor
- */
- public PropertyDescriptor() {
- // TODO Auto-generated constructor stub
- }
-
- //IPropertyPageDescriptor
- public String getCategory() {
- String cat = getTraitValueAsString(IPropertyPageDescriptor.PROP_DESC_CATEGORY);
- return cat != null ? cat : ITabbedPropertiesConstants.OTHER_CATEGORY;
- }
-
- public CellEditor getCellEditor(Composite parent) {
-// TODO: allow for override of the factory by using MD
-// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(
-// getMetaDataContext().getEntity(),
-// IPropertyPageDescriptor.PROP_DESC_CELL_EDITOR);
-//
-// if (trait != null) {
-// String classname = TraitValueHelper.getValueAsString(trait);
-// if (classname != null && ! classname.equals("")){
-// try {
-// Class klass = PDPlugin.getDefault().getBundle().loadClass(classname);
-// if (klass != null){
-// //
-// }
-// } catch (ClassNotFoundException e) {//
-// String msg = "Unable to locate cell editor:"+classname+ " for "+toString();
-// PDPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, PDPlugin.getPluginId(), msg));
-// }
-// }
-// }
- //otherwise use factory
- Element element = (Element)IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(getStructuredDocumentContext()).getNode();
- return CellEditorFactoryRegistry.getInstance().createCellEditor(parent, this, element);
- }
-
- public String getDescription() {
- return getTraitValueAsString("description"); //$NON-NLS-1$
- }
-
- public String getLabel() {
- String label = getTraitValueAsString("display-label"); //$NON-NLS-1$
- if (label == null) {
- label = getMetaDataContext().getEntity().getId();
- }
- return label + ":"; //$NON-NLS-1$
- }
-
- public boolean isRequired() {
- return getTraitValueAsBoolean("required"); //$NON-NLS-1$
- }
-
- public DialogField getDialogFieldEditor() {
- //TODO: allow for override of the factory by using MD
-// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(
-// getMetaDataContext().getEntity(),
-// IPropertyPageDescriptor.PROP_DESC_DIALOG_FIELD_EDITOR);
-//
-// if (trait != null) {
-// String classname = TraitValueHelper.getValueAsString(trait);
-// if (classname != null && ! classname.equals("")){
-// try {
-// Class klass = PDPlugin.getDefault().getBundle().loadClass(classname);
-// if (klass != null){
-// //
-// }
-// } catch (ClassNotFoundException e) {//
-// String msg = "Unable to locate cell editor:"+classname+ " for "+toString();
-// PDPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, PDPlugin.getPluginId(), msg));
-// }
-// }
-// }
- //otherwise use factory
- EditorCreator creator = EditorCreator.getInstance();
- return creator.createDialogFieldWithWrapper(getUri(),
- getTagName(),this, null);
- }
-
- public String getTagName() {
- return getTagEntity().getId();
- }
-
- public String getUri() {
- return getMetaDataContext().getEntity().getModel().getCurrentModelContext().getUri();
- }
-
- public String getValueType() {
- return getTraitValueAsString(MetaDataEnabledProcessingFactory.ATTRIBUTE_VALUE_RUNTIME_TYPE_PROP_NAME);
- }
-
- public String getAttributeName() {
- return getMetaDataContext().getEntity().getId();
- }
-
- public Object getAdapter(Class adapter) {
- if (IPropertyDescriptor.class == adapter) {
- return new PropertyDescriptorAdapter(this);
- }
- else if (IPossibleValues.class == adapter) {
- List pvs = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(
- IPossibleValues.class,
- getStructuredDocumentContext(),
- getAttributeEntity());
- if (!pvs.isEmpty())
- return pvs.get(0);
- }
- else if (IDefaultValue.class == adapter) {
- List dvs = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(
- IDefaultValue.class,
- getStructuredDocumentContext(),
- getAttributeEntity());
- if (!dvs.isEmpty())
- return dvs.get(0);
- }
- else if (ICellEditorValidator.class == adapter) {
- IValidValues vvs = (IValidValues)getAdapter(IValidValues.class);
- if (vvs != null)
- return new EditorValidatorAdapter(vvs);
-
- }
- else if (IInputValidator.class == adapter) {
- IValidValues vvs = (IValidValues)getAdapter(IValidValues.class);
- if (vvs != null)
- return new EditorValidatorAdapter(vvs);
- }
- else if (IValidValues.class == adapter) {
- List vvs = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(
- IValidValues.class,
- getStructuredDocumentContext(),
- getAttributeEntity());
- if (!vvs.isEmpty())
- return vvs.get(0);
- }
- return null;
- }
-
- private Entity getTagEntity() {
- return (Entity)getAttributeEntity().eContainer();
- }
-
- private Entity getAttributeEntity() {
- return getMetaDataContext().getEntity();
- }
-
- public String toString() {
- return getUri()+"/"+getTagName()+"/"+getAttributeName(); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptorAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptorAdapter.java
deleted file mode 100644
index a946b29d4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/internal/PropertyDescriptorAdapter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editors.properties.internal;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-
-/**
- * Adapts the MetadataEnabledFeature <code>org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor</code>, to a <code>org.eclipse.ui.views.properties.IPropertyDescriptor</code>
- *
- */
-public class PropertyDescriptorAdapter implements IPropertyDescriptor{
-
- private IPropertyPageDescriptor _ppd;
-
- /**
- * Constructor
- * @param propertyPageDescriptor
- */
- public PropertyDescriptorAdapter(IPropertyPageDescriptor propertyPageDescriptor) {
- _ppd = propertyPageDescriptor;
- }
-
- public CellEditor createPropertyEditor(Composite parent) {
- return _ppd.getCellEditor(parent);
- }
-
- public String getCategory() {
- return _ppd.getCategory();
- }
-
- public String getDescription() {
- return _ppd.getDescription();
- }
-
- public String getDisplayName() {
- return _ppd.getAttributeName();
- }
-
- public String[] getFilterFlags() {
- return null;
- }
-
- public Object getHelpContextIds() {
- return null;//FIXME
- }
-
- public Object getId() {
- return _ppd.getAttributeName();
- }
-
- public ILabelProvider getLabelProvider() {
- return null;//FIXME: do better? Used to supply labels for attribute property sheet (not quick edit)
- }
-
- public boolean isCompatibleWith(IPropertyDescriptor anotherProperty) {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/package-info.java
deleted file mode 100644
index 4dae0fbaf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Web Page Editor tag attribute property page interfaces.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.editors.properties;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSections.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSections.java
deleted file mode 100644
index c3d53043b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSections.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSections.java,v 1.2 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Quick Edit Tab Sections</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections#getSections <em>Sections</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getQuickEditTabSections()
- * @model
- * @generated
- */
-public interface QuickEditTabSections extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * trait id to use
- * @generated NOT
- */
- String TRAIT_ID = "quick-edit-tab"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Sections</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Sections</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Sections</em>' containment reference list.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getQuickEditTabSections_Sections()
- * @model containment="true"
- * extendedMetaData="kind='element' name='section'"
- * @generated
- */
- EList<SectionInfo> getSections();
-
-} // QuickEditTabSections
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsFactory.java
deleted file mode 100644
index d51fba99a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsFactory.java,v 1.2 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage
- * @generated
- */
-public interface QuickEditTabSectionsFactory extends EFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- QuickEditTabSectionsFactory eINSTANCE = org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>Quick Edit Tab Sections</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Quick Edit Tab Sections</em>'.
- * @generated
- */
- QuickEditTabSections createQuickEditTabSections();
-
- /**
- * Returns a new object of class '<em>Section Info</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Section Info</em>'.
- * @generated
- */
- SectionInfo createSectionInfo();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- QuickEditTabSectionsPackage getQuickEditTabSectionsPackage();
-
-} //QuickEditTabSectionsFactory
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsPackage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsPackage.java
deleted file mode 100644
index e23670bbd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/QuickEditTabSectionsPackage.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsPackage.java,v 1.5 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsFactory
- * @model kind="package"
- * @generated
- */
-@SuppressWarnings("hiding")
-public interface QuickEditTabSectionsPackage extends EPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "quickedittabsections"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://org.eclipse.jsf.pagedesigner/QuickEditTabSections.ecore"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "qe"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- QuickEditTabSectionsPackage eINSTANCE = org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsImpl <em>Quick Edit Tab Sections</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsImpl
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getQuickEditTabSections()
- * @generated
- */
- int QUICK_EDIT_TAB_SECTIONS = 0;
-
- /**
- * The feature id for the '<em><b>Sections</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUICK_EDIT_TAB_SECTIONS__SECTIONS = 0;
-
- /**
- * The number of structural features of the '<em>Quick Edit Tab Sections</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int QUICK_EDIT_TAB_SECTIONS_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl <em>Section Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getSectionInfo()
- * @generated
- */
- int SECTION_INFO = 1;
-
- /**
- * The feature id for the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECTION_INFO__ID = 0;
-
- /**
- * The feature id for the '<em><b>Type</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECTION_INFO__TYPE = 1;
-
- /**
- * The number of structural features of the '<em>Section Info</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SECTION_INFO_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE <em>SECTION TYPE</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getSECTION_TYPE()
- * @generated
- */
- int SECTION_TYPE = 2;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections <em>Quick Edit Tab Sections</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Quick Edit Tab Sections</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections
- * @generated
- */
- EClass getQuickEditTabSections();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections#getSections <em>Sections</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Sections</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections#getSections()
- * @see #getQuickEditTabSections()
- * @generated
- */
- EReference getQuickEditTabSections_Sections();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo <em>Section Info</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Section Info</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo
- * @generated
- */
- EClass getSectionInfo();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getId <em>Id</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Id</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getId()
- * @see #getSectionInfo()
- * @generated
- */
- EAttribute getSectionInfo_Id();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getType <em>Type</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Type</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getType()
- * @see #getSectionInfo()
- * @generated
- */
- EAttribute getSectionInfo_Type();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE <em>SECTION TYPE</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>SECTION TYPE</em>'.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE
- * @generated
- */
- EEnum getSECTION_TYPE();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- QuickEditTabSectionsFactory getQuickEditTabSectionsFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
-// @SuppressWarnings("hiding")
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsImpl <em>Quick Edit Tab Sections</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsImpl
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getQuickEditTabSections()
- * @generated
- */
- EClass QUICK_EDIT_TAB_SECTIONS = eINSTANCE.getQuickEditTabSections();
-
- /**
- * The meta object literal for the '<em><b>Sections</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference QUICK_EDIT_TAB_SECTIONS__SECTIONS = eINSTANCE.getQuickEditTabSections_Sections();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl <em>Section Info</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getSectionInfo()
- * @generated
- */
- EClass SECTION_INFO = eINSTANCE.getSectionInfo();
-
- /**
- * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute SECTION_INFO__ID = eINSTANCE.getSectionInfo_Id();
-
- /**
- * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute SECTION_INFO__TYPE = eINSTANCE.getSectionInfo_Type();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE <em>SECTION TYPE</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsPackageImpl#getSECTION_TYPE()
- * @generated
- */
- EEnum SECTION_TYPE = eINSTANCE.getSECTION_TYPE();
-
- }
-
-} //QuickEditTabSectionsPackage
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SECTION_TYPE.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SECTION_TYPE.java
deleted file mode 100644
index 3db1adfda..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SECTION_TYPE.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: SECTION_TYPE.java,v 1.3 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.Enumerator;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the literals of the enumeration '<em><b>SECTION TYPE</b></em>',
- * and utility methods for working with them.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getSECTION_TYPE()
- * @model
- * @generated
- */
-public enum SECTION_TYPE implements Enumerator {
- /**
- * The '<em><b>ATTRIBUTE</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #ATTRIBUTE_VALUE
- * @generated
- * @ordered
- */
- ATTRIBUTE(0, "ATTRIBUTE", "ATTRIBUTE"), //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * The '<em><b>SECTION</b></em>' literal object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #SECTION_VALUE
- * @generated
- * @ordered
- */
- SECTION(1, "SECTION", "SECTION"); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The '<em><b>ATTRIBUTE</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>ATTRIBUTE</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #ATTRIBUTE
- * @model
- * @generated
- * @ordered
- */
- public static final int ATTRIBUTE_VALUE = 0;
-
- /**
- * The '<em><b>SECTION</b></em>' literal value.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of '<em><b>SECTION</b></em>' literal object isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @see #SECTION
- * @model
- * @generated
- * @ordered
- */
- public static final int SECTION_VALUE = 1;
-
- /**
- * An array of all the '<em><b>SECTION TYPE</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static final SECTION_TYPE[] VALUES_ARRAY =
- new SECTION_TYPE[] {
- ATTRIBUTE,
- SECTION,
- };
-
- /**
- * A public read-only list of all the '<em><b>SECTION TYPE</b></em>' enumerators.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final List<SECTION_TYPE> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
- /**
- * Returns the '<em><b>SECTION TYPE</b></em>' literal with the specified literal value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param literal
- * @return SECTION_TYPE
- * @generated
- */
- public static SECTION_TYPE get(String literal) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- SECTION_TYPE result = VALUES_ARRAY[i];
- if (result.toString().equals(literal)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>SECTION TYPE</b></em>' literal with the specified name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param name
- * @return SECTION_TYPE
- * @generated
- */
- public static SECTION_TYPE getByName(String name) {
- for (int i = 0; i < VALUES_ARRAY.length; ++i) {
- SECTION_TYPE result = VALUES_ARRAY[i];
- if (result.getName().equals(name)) {
- return result;
- }
- }
- return null;
- }
-
- /**
- * Returns the '<em><b>SECTION TYPE</b></em>' literal with the specified integer value.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value
- * @return SECTION_TYPE
- * @generated
- */
- public static SECTION_TYPE get(int value) {
- switch (value) {
- case ATTRIBUTE_VALUE: return ATTRIBUTE;
- case SECTION_VALUE: return SECTION;
- }
- return null;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final int value;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final String name;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private final String literal;
-
- /**
- * Only this class can construct instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private SECTION_TYPE(int value, String name, String literal) {
- this.value = value;
- this.name = name;
- this.literal = literal;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public int getValue() {
- return value;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName() {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLiteral() {
- return literal;
- }
-
- /**
- * Returns the literal value of the enumerator, which is its string representation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- return literal;
- }
-
-} //SECTION_TYPE
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SectionInfo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SectionInfo.java
deleted file mode 100644
index 8f5a152e6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/SectionInfo.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: SectionInfo.java,v 1.2 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Section Info</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getSectionInfo()
- * @model
- * @generated
- */
-public interface SectionInfo extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Id</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Id</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Id</em>' attribute.
- * @see #setId(String)
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getSectionInfo_Id()
- * @model required="true"
- * @generated
- */
- String getId();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getId <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Id</em>' attribute.
- * @see #getId()
- * @generated
- */
- void setId(String value);
-
- /**
- * Returns the value of the '<em><b>Type</b></em>' attribute.
- * The default value is <code>"ATTRIBUTE"</code>.
- * The literals are from the enumeration {@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Type</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Type</em>' attribute.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE
- * @see #setType(SECTION_TYPE)
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#getSectionInfo_Type()
- * @model default="ATTRIBUTE" unique="false"
- * @generated
- */
- SECTION_TYPE getType();
-
- /**
- * Sets the value of the '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo#getType <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Type</em>' attribute.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE
- * @see #getType()
- * @generated
- */
- void setType(SECTION_TYPE value);
-
-} // SectionInfo
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsFactoryImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsFactoryImpl.java
deleted file mode 100644
index 138866924..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsFactoryImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsFactoryImpl.java,v 1.3 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsFactory;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class QuickEditTabSectionsFactoryImpl extends EFactoryImpl implements QuickEditTabSectionsFactory {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * @return the factory
- * <!-- end-user-doc -->
- * @generated
- */
- public static QuickEditTabSectionsFactory init() {
- try {
- QuickEditTabSectionsFactory theQuickEditTabSectionsFactory = (QuickEditTabSectionsFactory)EPackage.Registry.INSTANCE.getEFactory("http://org.eclipse.jsf.pagedesigner/QuickEditTabSections.ecore"); //$NON-NLS-1$
- if (theQuickEditTabSectionsFactory != null) {
- return theQuickEditTabSectionsFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new QuickEditTabSectionsFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSectionsFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS: return createQuickEditTabSections();
- case QuickEditTabSectionsPackage.SECTION_INFO: return createSectionInfo();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case QuickEditTabSectionsPackage.SECTION_TYPE:
- return createSECTION_TYPEFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case QuickEditTabSectionsPackage.SECTION_TYPE:
- return convertSECTION_TYPEToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSections createQuickEditTabSections() {
- QuickEditTabSectionsImpl quickEditTabSections = new QuickEditTabSectionsImpl();
- return quickEditTabSections;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SectionInfo createSectionInfo() {
- SectionInfoImpl sectionInfo = new SectionInfoImpl();
- return sectionInfo;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param initialValue
- * @return the SECTION_TYPE enumerator
- * <!-- end-user-doc -->
- * @generated
- */
- public SECTION_TYPE createSECTION_TYPEFromString(EDataType eDataType, String initialValue) {
- SECTION_TYPE result = SECTION_TYPE.get(initialValue);
- if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- return result;
- }
-
- /**
- * <!-- begin-user-doc -->
- * @param eDataType
- * @param instanceValue
- * @return the String version of the section type
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertSECTION_TYPEToString(EDataType eDataType, Object instanceValue) {
- return instanceValue == null ? null : instanceValue.toString();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSectionsPackage getQuickEditTabSectionsPackage() {
- return (QuickEditTabSectionsPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * @return the package
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @Deprecated
- public static QuickEditTabSectionsPackage getPackage() {
- return QuickEditTabSectionsPackage.eINSTANCE;
- }
-
-} //QuickEditTabSectionsFactoryImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsImpl.java
deleted file mode 100644
index 081c76fb3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsImpl.java,v 1.2 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Quick Edit Tab Sections</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.QuickEditTabSectionsImpl#getSections <em>Sections</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class QuickEditTabSectionsImpl extends EObjectImpl implements QuickEditTabSections {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getSections() <em>Sections</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSections()
- * @generated
- * @ordered
- */
- protected EList<SectionInfo> sections;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected QuickEditTabSectionsImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return QuickEditTabSectionsPackage.Literals.QUICK_EDIT_TAB_SECTIONS;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<SectionInfo> getSections() {
- if (sections == null) {
- sections = new EObjectContainmentEList<SectionInfo>(SectionInfo.class, this, QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS);
- }
- return sections;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS:
- return ((InternalEList<?>)getSections()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS:
- return getSections();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS:
- getSections().clear();
- getSections().addAll((Collection<? extends SectionInfo>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS:
- getSections().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS__SECTIONS:
- return sections != null && !sections.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
-} //QuickEditTabSectionsImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsPackageImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsPackageImpl.java
deleted file mode 100644
index 636c6ba4b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/QuickEditTabSectionsPackageImpl.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsPackageImpl.java,v 1.3 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsFactory;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class QuickEditTabSectionsPackageImpl extends EPackageImpl implements QuickEditTabSectionsPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass quickEditTabSectionsEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass sectionInfoEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EEnum sectioN_TYPEEEnum = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private QuickEditTabSectionsPackageImpl() {
- super(eNS_URI, QuickEditTabSectionsFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this
- * model, and for any others upon which it depends. Simple
- * dependencies are satisfied by calling this method on all
- * dependent packages before doing anything else. This method drives
- * initialization for interdependent packages directly, in parallel
- * with this package, itself.
- * <p>Of this package and its interdependencies, all packages which
- * have not yet been registered by their URI values are first created
- * and registered. The packages are then initialized in two steps:
- * meta-model objects for all of the packages are created before any
- * are initialized, since one package's meta-model objects may refer to
- * those of another.
- * <p>Invocation of this method will not affect any packages that have
- * already been initialized.
- * <!-- begin-user-doc -->
- * @return the initialized package
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static QuickEditTabSectionsPackage init() {
- if (isInited) return (QuickEditTabSectionsPackage)EPackage.Registry.INSTANCE.getEPackage(QuickEditTabSectionsPackage.eNS_URI);
-
- // Obtain or create and register package
- QuickEditTabSectionsPackageImpl theQuickEditTabSectionsPackage = (QuickEditTabSectionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof QuickEditTabSectionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new QuickEditTabSectionsPackageImpl());
-
- isInited = true;
-
- // Create package meta-data objects
- theQuickEditTabSectionsPackage.createPackageContents();
-
- // Initialize created meta-data
- theQuickEditTabSectionsPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theQuickEditTabSectionsPackage.freeze();
-
- return theQuickEditTabSectionsPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getQuickEditTabSections() {
- return quickEditTabSectionsEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getQuickEditTabSections_Sections() {
- return (EReference)quickEditTabSectionsEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getSectionInfo() {
- return sectionInfoEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getSectionInfo_Id() {
- return (EAttribute)sectionInfoEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getSectionInfo_Type() {
- return (EAttribute)sectionInfoEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EEnum getSECTION_TYPE() {
- return sectioN_TYPEEEnum;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSectionsFactory getQuickEditTabSectionsFactory() {
- return (QuickEditTabSectionsFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- quickEditTabSectionsEClass = createEClass(QUICK_EDIT_TAB_SECTIONS);
- createEReference(quickEditTabSectionsEClass, QUICK_EDIT_TAB_SECTIONS__SECTIONS);
-
- sectionInfoEClass = createEClass(SECTION_INFO);
- createEAttribute(sectionInfoEClass, SECTION_INFO__ID);
- createEAttribute(sectionInfoEClass, SECTION_INFO__TYPE);
-
- // Create enums
- sectioN_TYPEEEnum = createEEnum(SECTION_TYPE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
-
- // Initialize classes and features; add operations and parameters
- initEClass(quickEditTabSectionsEClass, QuickEditTabSections.class, "QuickEditTabSections", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getQuickEditTabSections_Sections(), this.getSectionInfo(), null, "sections", null, 0, -1, QuickEditTabSections.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(sectionInfoEClass, SectionInfo.class, "SectionInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(getSectionInfo_Id(), ecorePackage.getEString(), "id", null, 1, 1, SectionInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getSectionInfo_Type(), this.getSECTION_TYPE(), "type", "ATTRIBUTE", 0, 1, SectionInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-
- // Initialize enums and add enum literals
- initEEnum(sectioN_TYPEEEnum, org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE.class, "SECTION_TYPE"); //$NON-NLS-1$
- addEEnumLiteral(sectioN_TYPEEEnum, org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE.ATTRIBUTE);
- addEEnumLiteral(sectioN_TYPEEEnum, org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE.SECTION);
-
- // Create resource
- createResource(eNS_URI);
-
- // Create annotations
- // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
- createExtendedMetaDataAnnotations();
- }
-
- /**
- * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void createExtendedMetaDataAnnotations() {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
- addAnnotation
- (getQuickEditTabSections_Sections(),
- source,
- new String[] {
- "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$
- "name", "section" //$NON-NLS-1$ //$NON-NLS-2$
- });
- }
-
-} //QuickEditTabSectionsPackageImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/SectionInfoImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/SectionInfoImpl.java
deleted file mode 100644
index b0019d9a0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/impl/SectionInfoImpl.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: SectionInfoImpl.java,v 1.2 2008/11/18 22:22:35 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Section Info</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl#getId <em>Id</em>}</li>
- * <li>{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl.SectionInfoImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class SectionInfoImpl extends EObjectImpl implements SectionInfo {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected static final String ID_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getId()
- * @generated
- * @ordered
- */
- protected String id = ID_EDEFAULT;
-
- /**
- * The default value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected static final SECTION_TYPE TYPE_EDEFAULT = SECTION_TYPE.ATTRIBUTE;
-
- /**
- * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getType()
- * @generated
- * @ordered
- */
- protected SECTION_TYPE type = TYPE_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SectionInfoImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return QuickEditTabSectionsPackage.Literals.SECTION_INFO;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getId() {
- return id;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setId(String newId) {
- String oldId = id;
- id = newId;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, QuickEditTabSectionsPackage.SECTION_INFO__ID, oldId, id));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SECTION_TYPE getType() {
- return type;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setType(SECTION_TYPE newType) {
- SECTION_TYPE oldType = type;
- type = newType == null ? TYPE_EDEFAULT : newType;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, QuickEditTabSectionsPackage.SECTION_INFO__TYPE, oldType, type));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.SECTION_INFO__ID:
- return getId();
- case QuickEditTabSectionsPackage.SECTION_INFO__TYPE:
- return getType();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.SECTION_INFO__ID:
- setId((String)newValue);
- return;
- case QuickEditTabSectionsPackage.SECTION_INFO__TYPE:
- setType((SECTION_TYPE)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.SECTION_INFO__ID:
- setId(ID_EDEFAULT);
- return;
- case QuickEditTabSectionsPackage.SECTION_INFO__TYPE:
- setType(TYPE_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case QuickEditTabSectionsPackage.SECTION_INFO__ID:
- return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
- case QuickEditTabSectionsPackage.SECTION_INFO__TYPE:
- return type != TYPE_EDEFAULT;
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString() {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (id: "); //$NON-NLS-1$
- result.append(id);
- result.append(", type: "); //$NON-NLS-1$
- result.append(type);
- result.append(')');
- return result.toString();
- }
-
-} //SectionInfoImpl
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsAdapterFactory.java
deleted file mode 100644
index f6b7045b1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsAdapterFactory.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsAdapterFactory.java,v 1.2 2008/11/18 22:22:46 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage
- * @generated
- */
-public class QuickEditTabSectionsAdapterFactory extends AdapterFactoryImpl {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static QuickEditTabSectionsPackage modelPackage;
-
- /**
- * Creates an instance of the adapter factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSectionsAdapterFactory() {
- if (modelPackage == null) {
- modelPackage = QuickEditTabSectionsPackage.eINSTANCE;
- }
- }
-
- /**
- * Returns whether this factory is applicable for the type of the object.
- * <!-- begin-user-doc -->
- * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
- * <!-- end-user-doc -->
- * @return whether this factory is applicable for the type of the object.
- * @generated
- */
- @Override
- public boolean isFactoryForType(Object object) {
- if (object == modelPackage) {
- return true;
- }
- if (object instanceof EObject) {
- return ((EObject)object).eClass().getEPackage() == modelPackage;
- }
- return false;
- }
-
- /**
- * The switch the delegates to the <code>createXXX</code> methods.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected QuickEditTabSectionsSwitch<Adapter> modelSwitch =
- new QuickEditTabSectionsSwitch<Adapter>() {
- @Override
- public Adapter caseQuickEditTabSections(QuickEditTabSections object) {
- return createQuickEditTabSectionsAdapter();
- }
- @Override
- public Adapter caseSectionInfo(SectionInfo object) {
- return createSectionInfoAdapter();
- }
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
-
- /**
- * Creates an adapter for the <code>target</code>.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param target the object to adapt.
- * @return the adapter for the <code>target</code>.
- * @generated
- */
- @Override
- public Adapter createAdapter(Notifier target) {
- return modelSwitch.doSwitch((EObject)target);
- }
-
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections <em>Quick Edit Tab Sections</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections
- * @generated
- */
- public Adapter createQuickEditTabSectionsAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for an object of class '{@link org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo <em>Section Info</em>}'.
- * <!-- begin-user-doc -->
- * This default implementation returns null so that we can easily ignore cases;
- * it's useful to ignore a case when inheritance will catch all the cases anyway.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo
- * @generated
- */
- public Adapter createSectionInfoAdapter() {
- return null;
- }
-
- /**
- * Creates a new adapter for the default case.
- * <!-- begin-user-doc -->
- * This default implementation returns null.
- * <!-- end-user-doc -->
- * @return the new adapter.
- * @generated
- */
- public Adapter createEObjectAdapter() {
- return null;
- }
-
-} //QuickEditTabSectionsAdapterFactory
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsSwitch.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsSwitch.java
deleted file mode 100644
index 040881cbe..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/internal/util/QuickEditTabSectionsSwitch.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Copyright (c) 2007 Oracle Corporation
- *
- * $Id: QuickEditTabSectionsSwitch.java,v 1.3 2008/11/18 22:22:46 gkessler Exp $
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- *
- * @param <T>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage
- * @generated
- */
-public class QuickEditTabSectionsSwitch<T> {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2007 Oracle Corporation"; //$NON-NLS-1$
-
- /**
- * The cached model package
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected static QuickEditTabSectionsPackage modelPackage;
-
- /**
- * Creates an instance of the switch.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public QuickEditTabSectionsSwitch() {
- if (modelPackage == null) {
- modelPackage = QuickEditTabSectionsPackage.eINSTANCE;
- }
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- public T doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param theEClass
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- List<EClass> eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch(eSuperTypes.get(0), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * @param classifierID
- * @param theEObject
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(int classifierID, EObject theEObject) {
- switch (classifierID) {
- case QuickEditTabSectionsPackage.QUICK_EDIT_TAB_SECTIONS: {
- QuickEditTabSections quickEditTabSections = (QuickEditTabSections)theEObject;
- T result = caseQuickEditTabSections(quickEditTabSections);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- case QuickEditTabSectionsPackage.SECTION_INFO: {
- SectionInfo sectionInfo = (SectionInfo)theEObject;
- T result = caseSectionInfo(sectionInfo);
- if (result == null) result = defaultCase(theEObject);
- return result;
- }
- default: return defaultCase(theEObject);
- }
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Quick Edit Tab Sections</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Quick Edit Tab Sections</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseQuickEditTabSections(QuickEditTabSections object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>Section Info</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Section Info</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
- * @generated
- */
- public T caseSectionInfo(SectionInfo object) {
- return null;
- }
-
- /**
- * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
- * <!-- begin-user-doc -->
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last case anyway.
- * <!-- end-user-doc -->
- * @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
- * @see #doSwitch(org.eclipse.emf.ecore.EObject)
- * @generated
- */
- public T defaultCase(EObject object) {
- return null;
- }
-
-} //QuickEditTabSectionsSwitch
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/package-info.java
deleted file mode 100644
index e51e80caf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/properties/quickedittabsections/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Web Page Editor tag attribute QuickEdit property page classes.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/AbsolutePointLocator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/AbsolutePointLocator.java
deleted file mode 100644
index 0ebdeb22a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/AbsolutePointLocator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Locator;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-
-/**
- * @author cbateman
- *
- */
-public class AbsolutePointLocator implements Locator
-{
- private static AbsolutePointLocator INSTANCE;
- private final static Point DEFAULT_POINT = new Point(0,0);
-
- private Point _referencePoint = DEFAULT_POINT;
- private int _xOffset = 0;
- private int _yOffset = 0;
- private IFigure _intersectFigure;
-
- /**
- * @return the singleton instance
- */
- public synchronized static AbsolutePointLocator getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new AbsolutePointLocator();
- }
- return INSTANCE;
- }
-
- /**
- * Relocates the target figure to the reference point with possible x and y
- * offsetting. Uses the target's preferredSize as the new size.
- */
- public void relocate(IFigure target)
- {
- Point leftTop = new Point(_referencePoint.x+_xOffset, _referencePoint.y+_yOffset);
-
-
- //figure.translateToAbsolute(leftTop);
- target.translateToRelative(leftTop);
- Dimension d = target.getPreferredSize();
- Rectangle rect = new Rectangle(leftTop, d);
-
- // to avoid enlargemeent
- if (_intersectFigure != null)
- {
- rect = rect.intersect(_intersectFigure.getBounds());
- }
-
- target.setBounds(rect);
- }
-
- /**
- * Sets the reference point used to calculate the location to which
- * relocate will relocate its target. The x and y offset values are added
- * to the reference point before final re-location. If point is null
- * then the reference is set to (0,0)
- * @param point
- * @param xoffset
- * @param yoffset
- */
- public void setReferencePoint(Point point, int xoffset, int yoffset)
- {
- if (point == null)
- {
- _referencePoint = DEFAULT_POINT;
- }
- else
- {
- _referencePoint = point;
- }
-
- _xOffset = xoffset;
- _yOffset = yoffset;
- }
-
- /**
- * Sets the figure used to calculate a rectangular intersect of the
- * relocated target. This normally set to the parent of the target
- * such as a layer to ensure that the relocate target does not enlarge
- * its parent by relocating outside it's rectangle.
- *
- * If intersectFigure is set to null, then no intersect calculation will
- * be performed.
- *
- * @param intersectFigure
- */
- public void setIntersectFigure(IFigure intersectFigure)
- {
- _intersectFigure = intersectFigure;
- }
-
- private AbsolutePointLocator() {/*no external instantiation*/}
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/BasicLabelToolTip.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/BasicLabelToolTip.java
deleted file mode 100644
index bd216a68f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/BasicLabelToolTip.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Label;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A tool tip based on a label
- * @author cbateman
- *
- */
-public class BasicLabelToolTip extends Label
-{
- /**
- * @param i
- */
- public BasicLabelToolTip(Image i) {
- super(i);
- initialize();
- }
-
- /**
- * @param s
- * @param i
- */
- public BasicLabelToolTip(String s, Image i) {
- super(s, i);
- initialize();
- }
-
- /**
- * @param s
- */
- public BasicLabelToolTip(String s) {
- super(s);
- initialize();
- }
-
- /**
- *
- */
- protected void initialize()
- {
- setOpaque(true);
- setBackgroundColor(ColorConstants.tooltipBackground);
- setBorder(
- new LineBorder(ColorConstants.tooltipForeground, 1)
- {
- // add an extra pixel of inset to make sure the text
- // isn't pressed against the border
- public Insets getInsets(IFigure figure) {
- return new Insets(getWidth()+1);
- }
- }
- );
- setTextAlignment(PositionConstants.CENTER);
- setForegroundColor(ColorConstants.tooltipForeground);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnHelper.java
deleted file mode 100644
index 6574e598e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnHelper.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
-
-/**
- * @author mengbo
- */
-public class ColumnHelper {
-
- /**
- * @param editPart
- * @return a rectangle that bounds the actual visual rectangle of the column represented
- * by editPart. The editPart's figure normally only maps to the td in the rendered table.
- *
- * The rectangle is translated to absolute bounds
- */
- public static Rectangle getAdjustedColumnBoundingRectangle(GraphicalEditPart editPart)
- {
- Rectangle bounds = editPart.getFigure().getBounds().getCopy();
-
- if (editPart.getParent() != null) {
- IFigure figure = ((GraphicalEditPart) editPart.getParent())
- .getFigure();
- if (figure instanceof CSSFigure) {
- CSSFigure cssFigure = (CSSFigure) figure;
- LayoutManager layoutManager = cssFigure.getLayoutManager();
- if (layoutManager instanceof CSSTableLayout2) {
- CSSTableLayout2 tableLayout = (CSSTableLayout2) layoutManager;
- bounds.y = tableLayout.getHSpacing();
- bounds.height = figure.getClientArea().height
- - tableLayout.getHSpacing() * 2;
- }
- }
- }
- bounds = new PrecisionRectangle(bounds.getResized(-1, -1));
- editPart.getFigure().translateToAbsolute(bounds);
-
- return bounds;
- }
-
- static Rectangle getColumnBounds(GraphicalEditPart editPart,
- IFigure target) {
- Rectangle bounds = getAdjustedColumnBoundingRectangle(editPart);
- target.translateToRelative(bounds);
- Insets insets = target.getInsets();
- bounds.translate(-insets.left, -insets.top);
- bounds.resize(insets.getWidth() + 1, insets.getHeight() + 1);
- return bounds;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnResizableEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnResizableEditPolicy.java
deleted file mode 100644
index 4b527c83d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ColumnResizableEditPolicy.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Locator;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Handle;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.gef.handles.MoveHandle;
-import org.eclipse.gef.handles.ResizeHandle;
-import org.eclipse.gef.handles.SquareHandle;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-import org.eclipse.gef.tools.SelectEditPartTracker;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class ColumnResizableEditPolicy extends ElementResizableEditPolicy {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#createSelectionHandles()
- */
- protected List createSelectionHandles() {
- String elementName = ((Element) getHost().getModel()).getLocalName();
- if ("column".equalsIgnoreCase(elementName)) { //$NON-NLS-1$
- List list = new ArrayList();
-
- GraphicalEditPart part = (GraphicalEditPart) getHost();
-
- {
- MoveHandle borderhandle = new MoveHandle(part, new ColumnBorderHandleLocator(
- part));
- list.add(borderhandle);
- }
-
- {
- MyMoveHandle cornerHandle = new MyMoveHandle(part, new ColumnHandleLocator(part, getHostFigure(),
- PositionConstants.NORTH_WEST));
- list.add(cornerHandle);
- }
-
- SelectEditPartTracker tracker = new SelectEditPartTracker(getHost());
- list.add(createHandle(part, PositionConstants.SOUTH_EAST, tracker,
- SharedCursors.ARROW));
- list.add(createHandle(part, PositionConstants.SOUTH_WEST, tracker,
- SharedCursors.ARROW));
- list.add(createHandle(part, PositionConstants.NORTH_WEST, tracker,
- SharedCursors.ARROW));
- list.add(createHandle(part, PositionConstants.NORTH_EAST, tracker,
- SharedCursors.ARROW));
- return list;
-
- }
- return super.createSelectionHandles();
- }
-
- private Handle createHandle(GraphicalEditPart owner, int direction,
- DragTracker tracker, Cursor cursor) {
- ResizeHandle handle = new ResizeHandle(owner, new ColumnCornerLocator(
- owner, direction), cursor);
- handle.setCursor(cursor);
- handle.setDragTracker(tracker);
- return handle;
- }
-
- private class ColumnHandleLocator extends CornerRelativeHandleLocator {
- private GraphicalEditPart editPart;
-
- /**
- * @param editPart
- * @param reference
- * @param location
- */
- public ColumnHandleLocator(GraphicalEditPart editPart, IFigure reference, int location) {
- super(reference, location);
- this.editPart = editPart;
- }
-
- protected Dimension getNewTargetSize(IFigure relocateFigure) {
- return relocateFigure.getPreferredSize();
- }
-
- protected Rectangle getCurrentTargetBounds(IFigure relocateFigure) {
- return ColumnHelper.getColumnBounds(editPart, relocateFigure);
- }
- }
-
- private class ColumnCornerLocator implements Locator {
- private double relativeX;
-
- private double relativeY;
-
- private GraphicalEditPart editPart;
-
- /**
- * Constructs a RelativeLocator with the given reference figure and
- * relative location. The location is a constant from
- * {@link PositionConstants} used as a convenient and readable way to
- * set both the relativeX and relativeY values.
- *
- * @param editPart
- * the reference figure
- * @param location
- * one of NORTH, NORTH_EAST, etc.
- */
- public ColumnCornerLocator(GraphicalEditPart editPart, int location) {
- this.editPart = editPart;
- switch (location & PositionConstants.NORTH_SOUTH) {
- case PositionConstants.NORTH:
- relativeY = 0;
- break;
- case PositionConstants.SOUTH:
- relativeY = 1.0;
- break;
- default:
- relativeY = 0.5;
- }
-
- switch (location & PositionConstants.EAST_WEST) {
- case PositionConstants.WEST:
- relativeX = 0;
- break;
- case PositionConstants.EAST:
- relativeX = 1.0;
- break;
- default:
- relativeX = 0.5;
- }
- }
-
- /**
- * Relocates the target using the relative offset locations.
- *
- * @see org.eclipse.draw2d.Locator#relocate(org.eclipse.draw2d.IFigure)
- */
- public void relocate(IFigure target) {
- Rectangle targetBounds = ColumnHelper.getColumnBounds(editPart,
- target);
-
- Dimension targetSize = target.getPreferredSize();
-
- targetBounds.x += (int) (targetBounds.width * relativeX - ((targetSize.width + 1) / 2));
- targetBounds.y += (int) (targetBounds.height * relativeY - ((targetSize.height + 1) / 2));
- targetBounds.setSize(targetSize);
- target.setBounds(targetBounds);
- }
- }
-
- private class ColumnBorderHandleLocator implements Locator {
- private GraphicalEditPart editPart;
-
- /**
- * @param editPart
- */
- public ColumnBorderHandleLocator(GraphicalEditPart editPart) {
- this.editPart = editPart;
- }
-
- public void relocate(IFigure target) {
- target.setBounds(ColumnHelper.getColumnBounds(editPart, target));
- }
- }
-
- private static class MyMoveHandle extends SquareHandle
- {
- private static final String MOVE_HANDLE_IMAGE_FILE = "MoveHandle.png"; //$NON-NLS-1$
-
- /**
- * @param owner
- * @param loc
- */
- public MyMoveHandle(GraphicalEditPart owner, Locator loc) {
- super(owner, loc);
- setCursor(SharedCursors.SIZEALL);
- }
-
- protected void init() {
- setPreferredSize(16,16);
- }
-
- protected Color getBorderColor() {
- return ColorConstants.black;
- }
-
- protected Color getFillColor() {
- return ColorConstants.white;
- }
-
- protected DragTracker createDragTracker() {
- DragTracker tracker = new DragEditPartsTracker(getOwner());
-
- return tracker;
- }
-
- public void paintFigure(Graphics graphics) {
- super.paintFigure(graphics);
- final Image moveImage = PDPlugin.getDefault().getImage(MOVE_HANDLE_IMAGE_FILE);
- Point topLeft = getBounds().getTopLeft().getCopy();
- topLeft.performTranslate(3,3);
- graphics.drawImage(moveImage, topLeft);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/CornerRelativeHandleLocator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/CornerRelativeHandleLocator.java
deleted file mode 100644
index e43befebd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/CornerRelativeHandleLocator.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.handles.RelativeHandleLocator;
-
-/**
- * A locator for handles that attach to the corner of square figures
- * @author cbateman
- *
- */
-class CornerRelativeHandleLocator extends RelativeHandleLocator
-{
- private double relativeX = 0;
- private double relativeY = 0;
- private double offsetXMultiplier = 0;
- private double offsetYMultiplier = 0;
-
- /**
- * @param reference
- * @param location
- */
- public CornerRelativeHandleLocator(IFigure reference, int location) {
- super(reference, location);
-
- // unfortunately, relativeX and relativeY are private in super
- // so duplicate calc code here
- switch (location & PositionConstants.NORTH_SOUTH)
- {
- case PositionConstants.NORTH:
- relativeY = 0;
- offsetYMultiplier = -1.0;
- break;
-
- case PositionConstants.SOUTH:
- relativeY = 1.0;
- offsetYMultiplier = 0;
- break;
- default:
- relativeY = 0.5;
- }
-
- switch (location & PositionConstants.EAST_WEST)
- {
- case PositionConstants.WEST:
- relativeX = 0;
- offsetXMultiplier = -1.0;
- break;
- case PositionConstants.EAST:
- relativeX = 1.0;
- offsetXMultiplier = 0;
- break;
- default:
- relativeX = 0.5;
- }
- }
-
- /**
- * Pass in targetBounds to be updated and newTargetSize. targetBounds will
- * be applied to the figure that is being relocated immediately after this method
- * @param targetBounds
- * @param newTargetSize
- */
- protected void relocateBounds(Rectangle targetBounds, Dimension newTargetSize)
- {
- // copied from super.relocate because relativeX/Y are private in super
- // changed from super to remove div by 2 that centers target; we want
- // it to be corner-to-corner
- targetBounds.x
- += (int) (((targetBounds.width+2) * relativeX) + ((newTargetSize.width+1)*offsetXMultiplier));
- targetBounds.y
- += (int) (targetBounds.height * relativeY + ((newTargetSize.height+1)*offsetYMultiplier));
-
- targetBounds.setSize(newTargetSize);
- }
-
- /**
- * @param relocateFigure
- * @return a modifiable Rectangle that represents the bounds of the figure to be relocated
- */
- protected Rectangle getCurrentTargetBounds(IFigure relocateFigure)
- {
- IFigure reference = getReferenceFigure();
- Rectangle targetBounds = new PrecisionRectangle(getReferenceBox().getResized(-1, -1));
- reference.translateToAbsolute(targetBounds);
- relocateFigure.translateToRelative(targetBounds);
- return targetBounds;
- }
-
- /**
- * @param relocateFigure
- * @return the new target dimensions
- */
- protected Dimension getNewTargetSize(IFigure relocateFigure)
- {
- return relocateFigure.getPreferredSize();
- }
-
- public void relocate(IFigure target) {
- Rectangle targetBounds = getCurrentTargetBounds(target);
- Dimension targetSize = getNewTargetSize(target);
- relocateBounds(targetBounds, targetSize);
-
- target.setBounds(targetBounds);
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DesignerElementEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DesignerElementEditPolicy.java
deleted file mode 100644
index d374946cd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DesignerElementEditPolicy.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.editpolicies.ComponentEditPolicy;
-
-/**
- * @author mengbo
- */
-public class DesignerElementEditPolicy extends ComponentEditPolicy {
-
- // /*
- // * (non-Javadoc)
- // *
- // * @see
- // org.eclipse.gef.editpolicies.ComponentEditPolicy#createDeleteCommand(org.eclipse.gef.requests.GroupRequest)
- // */
- // protected Command createDeleteCommand(GroupRequest deleteRequest)
- // {
- // // Object model = getHost().getModel();
- // // ;
- // // Node parent = null;
- // // if (model instanceof Node)
- // // {
- // // parent = ((Node) model).getParentNode();
- // // }
- // // EditDomain domain = getHost().getViewer().getEditDomain();
- // // IEditorPart editor = null;
- // // //FIXME: must do this cast?
- // // if (domain instanceof DefaultEditDomain)
- // // {
- // // editor = ((DefaultEditDomain) domain).getEditorPart();
- // // }
- // // if (editor instanceof HTMLEditor)
- // // {
- // // DeleteNodeCommand deleteCmd = new DeleteNodeCommand(((HTMLEditor)
- // editor).getTextEditor().getTextViewer());
- // // deleteCmd.setParent(parent);
- // // deleteCmd.setChild((Node) getHost().getModel());
- // // return deleteCmd;
- // // }
- // // else
- // // {
- // // return null;
- // // }
- // }
- //
- // /*
- // * (non-Javadoc)
- // *
- // * @see org.eclipse.gef.EditPolicy#getCommand(org.eclipse.gef.Request)
- // */
- // public Command getCommand(Request request)
- // {
- // if (request.getType() == DesignCutAction.CUT_TYPE && request instanceof
- // GroupRequest)
- // {
- // return createCutCommand((GroupRequest) request);
- // }
- // else if (request.getType() == DesignPasteAction.PASTE_TYPE && request
- // instanceof GroupRequest)
- // {
- // return createPasteCommand((GroupRequest) request);
- // }
- // return super.getCommand(request);
- // }
- //
- // protected Command createCutCommand(GroupRequest cutRequest)
- // {
- // Object model = getHost().getModel();
- // ;
- // Node parent = null;
- // if (model instanceof Node)
- // {
- // parent = ((Node) model).getParentNode();
- // }
- // EditDomain domain = getHost().getViewer().getEditDomain();
- // IEditorPart editor = null;
- // //FIXME: must do this cast?
- // if (domain instanceof DefaultEditDomain)
- // {
- // editor = ((DefaultEditDomain) domain).getEditorPart();
- // }
- // if (editor instanceof HTMLEditor)
- // {
- // CutNodeCommand cutCmd = new CutNodeCommand(((HTMLEditor)
- // editor).getTextEditor().getTextViewer());
- // cutCmd.setParent(parent);
- // cutCmd.setChild((Node) getHost().getModel());
- // return cutCmd;
- // }
- // else
- // {
- // return null;
- // }
- // }
- //
- // protected Command createPasteCommand(GroupRequest cutRequest)
- // {
- // Object model = getHost().getModel();
- // ;
- // Node parent = null;
- // if (model instanceof Node)
- // {
- // parent = ((Node) model).getParentNode();
- // }
- // EditDomain domain = getHost().getViewer().getEditDomain();
- // IEditorPart editor = null;
- // //FIXME: must do this cast?
- // if (domain instanceof DefaultEditDomain)
- // {
- // editor = ((DefaultEditDomain) domain).getEditorPart();
- // }
- // if (editor instanceof HTMLEditor)
- // {
- // PasteNodeCommand pasteCmd = new PasteNodeCommand(((HTMLEditor)
- // editor).getTextEditor().getTextViewer());
- // pasteCmd.setParent(parent);
- // pasteCmd.setChild((Node) getHost().getModel());
- // return pasteCmd;
- // }
- // else
- // {
- // return null;
- // }
- // }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DragMoveEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DragMoveEditPolicy.java
deleted file mode 100644
index 0a805da70..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DragMoveEditPolicy.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.commands.CloneNodeCommand;
-import org.eclipse.jst.pagedesigner.commands.MoveNodeCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.DnDPositionValidator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData.DropData;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DragMoveEditPolicy extends DropEditPolicy
-{
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public final Command getCommand(Request request) {
- if (!(request instanceof ChangeBoundsRequest)) {
- return null;
- }
-
- ChangeBoundsRequest r = (ChangeBoundsRequest) request;
-
- // we only support move/copy a single node.
- if (!MoveSupport.isSingleNode(r)) {
- return UnexecutableCommand.INSTANCE;
- }
-
- // the edit policy only handle at the target part, so only care about
- // the
- // target part request.
- final Object type = r.getType();
- if (type != REQ_ADD && type != REQ_CLONE && type != REQ_MOVE_CHILDREN) {
-
- return null;
- }
-
- Node draggedNode = MoveSupport.getDraggedNode(r);
- Node hostNode = ((NodeEditPart) getHost()).getIDOMNode();
-
- if (DOMUtil.isAncester(draggedNode, hostNode)) {
- return UnexecutableCommand.INSTANCE;
- }
-
- DesignPosition position = findPosition(r);
- if (position == null || !position.isValid()) {
- return null;
- }
-
- // can't move/copy into self.
- Node node = position.getContainerNode();
- if (DOMUtil.isAncester(draggedNode, node)) {
- return UnexecutableCommand.INSTANCE;
- }
-
- // ok, we are about to move/copy into the specified position.
- IDOMPosition domposition = DOMPositionHelper.toDOMPosition(position);
-
- if (REQ_CLONE.equals(type)) {
- return new CloneNodeCommand((IHTMLGraphicalViewer) getHost()
- .getViewer(), domposition, draggedNode);
- }
- return new MoveNodeCommand((IHTMLGraphicalViewer) getHost()
- .getViewer(), domposition, draggedNode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
- */
- public EditPart getTargetEditPart(Request request) {
- if (request instanceof ChangeBoundsRequest) {
- return this.getHost();
- }
- return super.getTargetEditPart(request);
- }
-
- protected final DesignPosition findPosition(DropRequest r) {
- final IPositionMediator mediator = getDropChildValidator(r);
- if (mediator == null)
- {
- return null;
- }
- final IDropLocationStrategy dropStrategy = createDropLocationStrategy(r);
- final DesignPosition position =
- dropStrategy.calculateDesignPosition(getHost(), r.getLocation(), mediator);
-
- // verify that the drop strategy has honoured it's contract that our
- // mediator be respected
- if (position != null)
- {
- if (!mediator.isValidPosition(position))
- {
- // if our mediator says no go, then veto the requestor
- // there is no drop location
- return null;
- }
- }
- return position;
- }
-
- public void showTargetFeedback(Request request)
- {
- Object type = request.getType();
- // only show feedback for these request types
- if (type == REQ_ADD || type == REQ_CLONE
- || type == REQ_MOVE_CHILDREN || type == REQ_MOVE) {
- super.showTargetFeedback(request);
- }
- }
-
- protected final IPositionMediator createDefaultDropChildValidator(DropData r)
- {
- return new DnDPositionValidator(new DropActionData(
- ActionData.COMPONENT_MOVE, r));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DropEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DropEditPolicy.java
deleted file mode 100644
index 87368ee6d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/DropEditPolicy.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-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.Request;
-import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.gef.requests.GroupRequest;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.elementedit.ElementEditFactoryRegistry;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData.DropData;
-import org.eclipse.jst.pagedesigner.viewer.DefaultDropLocationStrategy;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-
-/**
- * @author cbateman
- *
- */
-public abstract class DropEditPolicy extends GraphicalEditPolicy
-{
- private List _feedbackFigures;
-
- /**
- * @param r
- * @return a mediator that can validate valid model drops into the
- * host's edit part
- */
- protected IPositionMediator createDropChildValidator(DropRequest r)
- {
- // sub-class may override to customize the drop container validator
- return null;
- }
-
- /**
- * @param r
- * @return the appropriate design position for the drop request
- */
- protected abstract DesignPosition findPosition(DropRequest r);
-
- /**
- * @param data
- * @return a default validation mediator to be used if nothing custom is provided
- */
- protected abstract IPositionMediator createDefaultDropChildValidator(DropData data);
-
- /**
- * @param r
- * @return the validator to be used to validate the 'request' to drop
- * the edit parts specified by 'r' into this policy's host edit part
- */
- protected final IPositionMediator getDropChildValidator(DropRequest r)
- {
- IPositionMediator mediator = createDropChildValidator(r);
-
- if (mediator == null)
- {
- DropData data = createDropData(r);
-
- if (data == null)
- {
- return null;
- }
- mediator = createDefaultDropChildValidator(data);
- }
-
- return mediator;
- }
-
- /**
- * @param request
- * @return the data about the drop request
- */
- protected DropData createDropData(DropRequest request)
- {
- if (request instanceof GroupRequest)
- {
- List editParts = ((GroupRequest)request).getEditParts();
-
- // TODO: currently we only support one drop item
- if (editParts.size() > 0)
- {
- EditPart part = (EditPart) editParts.get(0);
- if (part instanceof NodeEditPart)
- {
- NodeEditPart nodePart = (NodeEditPart) part;
- TagIdentifier tagId = nodePart.getTagIdentifier();
- if (tagId != null)
- {
- List tagIds = new ArrayList();
- tagIds.add(tagId);
- return new DropData(tagIds);
- }
- }
- }
- }
- else if (request instanceof ItemCreationRequest)
- {
- IDropSourceData creationProvider =
- ((ItemCreationRequest)request).getTagCreationProvider();
- String tagName = creationProvider.getId();
- if (creationProvider instanceof ITagDropSourceData)
- {
- tagName = ((ITagDropSourceData)creationProvider).getTagName();
- }
- TagIdentifier tagId =
- TagIdentifierFactory.
- createJSPTagWrapper(creationProvider.getNamespace(),
- tagName);
- List tagIds = new ArrayList();
- tagIds.add(tagId);
- return new DropData(tagIds);
- }
-
- return null;
- }
-
- /**
- * @param r
- * @return the drop location strategy
- */
- protected final IDropLocationStrategy createDropLocationStrategy(DropRequest r)
- {
- DropData dropData = createDropData(r);
- if (dropData != null && dropData.getTagIdentifiers().size() > 0)
- {
- // TODO: only supporting single item drop currently
- TagIdentifier tagIdentifier =
- (TagIdentifier) dropData.getTagIdentifiers().get(0);
-
- IElementEdit elementEdit =
- ElementEditFactoryRegistry.getInstance()
- .createElementEdit(tagIdentifier);
-
- // element edit not guaranteed to exist
- if (elementEdit != null)
- {
- IDropLocationStrategy strategy =
- elementEdit.getDropRequestorLocationStrategy(tagIdentifier, getHost().getViewer());
-
- if (strategy != null)
- {
- return strategy;
- }
- }
- }
-
- // by default, return the default strategy
- return new DefaultDropLocationStrategy(getHost().getViewer());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
- */
- public void eraseTargetFeedback(Request request) {
- if (_feedbackFigures != null)
- {
- for (final Iterator it = _feedbackFigures.iterator(); it.hasNext();)
- {
- final IFigure figure = (IFigure) it.next();
-
- if (figure != null)
- {
- removeFeedback(figure);
- }
- }
-
- _feedbackFigures.clear();
- _feedbackFigures = null;
- }
- }
-
- public void showTargetFeedback(Request request)
- {
- if (request instanceof DropRequest)
- {
- DesignPosition position = findPosition((DropRequest)request);
- if (position != null) {
- // erase any prior feedback
- eraseTargetFeedback(request);
- // add figures to feedback layer and save them in _feedbackFigures
- // for later.
- _feedbackFigures = createDropLocationStrategy((DropRequest)request).showTargetFeedback(getHost(), position, (DropRequest)request);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementDecoratorSquareHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementDecoratorSquareHandle.java
deleted file mode 100644
index 5ba225743..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementDecoratorSquareHandle.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.Locator;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.SquareHandle;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-
-/**
- * A square handle for element decoration
- * @author cbateman
- *
- */
-public class ElementDecoratorSquareHandle extends SquareHandle {
-
-
- /**
- * @param owner
- * @param loc
- * @param c
- */
- public ElementDecoratorSquareHandle(GraphicalEditPart owner, Locator loc,
- Cursor c) {
- super(owner, loc, c);
- }
- /**
- * @param owner
- * @param loc
- */
- public ElementDecoratorSquareHandle(GraphicalEditPart owner, Locator loc) {
- super(owner, loc);
- }
- protected DragTracker createDragTracker() {
- return null;
- }
- protected Color getBorderColor() {
- return ColorConstants.black;
- }
-
- protected Color getFillColor()
- {
- return ColorConstants.white;
- }
-
- /**
- * @return the transparency alpha channel (0-255)
- */
- protected int getAlpha()
- {
- return 255;
- }
-
- /**
- * Draws the handle with fill color and outline color dependent
- * on the primary selection status of the owner editpart.
- *
- * @param g The graphics used to paint the figure.
- */
- public void paintFigure(Graphics g) {
- Rectangle r = getBounds();
- r.shrink(1, 1);
- try {
- g.setBackgroundColor(getFillColor());
- g.setAlpha(getAlpha());
- g.fillRectangle(r.x, r.y, r.width, r.height);
- g.setForegroundColor(getBorderColor());
- g.drawRectangle(r.x, r.y, r.width, r.height);
- } finally {
- //We don't really own rect 'r', so fix it.
- r.expand(1, 1);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java
deleted file mode 100644
index ee61b03d6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.ToolbarLayout;
-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.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NonVisualComponentEditPart;
-
-/**
- * A menu bar for a specific element edit part
- *
- * @author cbateman
- *
- */
-public class ElementMenuBar extends Figure implements ISelectionProvider, ISelectionChangedListener
-{
- private ElementEditPart _hostPart;
- /**
- * Should always be accessed for use through getChildParts(). Not automatically
- * allocated because of high probability that a host part will have no children of interest
- */
- private Set _childParts;
- private List _selectionListeners;
- private IStructuredSelection _selection;
-
- /**
- * @param hostPart
- */
- public ElementMenuBar(ElementEditPart hostPart)
- {
- hostPart.getViewer().addSelectionChangedListener(this);
-
- _hostPart = hostPart;
- ToolbarLayout layout = new ToolbarLayout(false);
- layout.setSpacing(4);
- setLayoutManager(layout);
- }
-
- /**
- * @return true if there are child parts in the menu
- */
- public boolean hasChildParts()
- {
- return _childParts != null &&_childParts.size() > 0;
- }
-
- /**
- *
- */
- public void dispose()
- {
- _hostPart.getViewer().removeSelectionChangedListener(this);
- if (_childParts != null)
- {
- _childParts.clear();
- _childParts = null;
- }
-
- if (_selectionListeners != null)
- {
- _selectionListeners.clear();
- _selectionListeners = null;
- }
-
- _selection = null;
- }
-
- /**
- * @param editpart
- */
- public void addNonVisualChild(NonVisualComponentEditPart editpart)
- {
- add(editpart.getFigure());
- getChildParts().add(editpart);
- }
-
- /**
- * Removes editpart from the list of non-visual edit parts that this menu
- * bar is managing the visuals for.
- * @param editpart
- */
- public void removeNonVisualChild(final NonVisualComponentEditPart editpart)
- {
- // TODO: I have relaxed the checking to see if editpart is valid
- // child because of the way ElementEditPart refreshes itself
- // when the model changes. It's possible this will get called more
- // than once for the same editpart argument
- getChildParts().remove(editpart);
- if (editpart.getFigure().getParent() == this)
- {
- remove(editpart.getFigure());
- }
- }
-
- /**
- * @return true if a member of the menu bar has edit part focus
- */
- public boolean hasEditPartFocus()
- {
- for (Iterator it = getChildParts().iterator(); it.hasNext();)
- {
- EditPart editPart = (EditPart) it.next();
-
- if (editPart.getSelected() == EditPart.SELECTED_PRIMARY)
- {
- return true;
- }
- }
- return false;
- }
-
- private Set getChildParts()
- {
- if (_childParts == null)
- {
- _childParts = new HashSet();
- }
-
- return _childParts;
- }
-
- protected void paintChildren(Graphics graphics)
- {
- // force all children to paint with my alpha setting
- graphics.setAlpha(getAlpha());
- //push the current state so it is what the children revert to
- graphics.pushState();
- super.paintChildren(graphics);
- // pop that state we pushed above
- graphics.popState();
- }
-
- private int getAlpha()
- {
- return isEnabled() ? 255 : 75;
- }
-
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- List listeners = getSelectionListeners();
-
- if (!listeners.contains(listener))
- {
- listeners.add(listener);
- }
- }
-
- public ISelection getSelection() {
- return _selection;
- }
-
- public void removeSelectionChangedListener(
- ISelectionChangedListener listener) {
- getSelectionListeners().remove(listener);
- }
-
- public void setSelection(ISelection selection) {
- // no external selection change supported
- }
-
- private List getSelectionListeners()
- {
- if (_selectionListeners == null)
- {
- _selectionListeners = new ArrayList(1);
- }
-
- return _selectionListeners;
- }
-
- private void fireSelectionChanged()
- {
- for (final Iterator it = _selectionListeners.iterator(); it.hasNext();)
- {
- ISelectionChangedListener listener = (ISelectionChangedListener) it.next();
- listener.selectionChanged(new SelectionChangedEvent(this, _selection));
- }
- }
-
- public void selectionChanged(SelectionChangedEvent event) {
- ISelection selection = event.getSelection();
-
- if (selection instanceof IStructuredSelection)
- {
- // the number of selections we care about will be no bigger than the total number of selections
- final List mySelections = new ArrayList(((IStructuredSelection)selection).size());
-
- if (_childParts != null)
- {
- for (final Iterator it = ((IStructuredSelection)selection).iterator()
- ; it.hasNext();)
- {
- Object selectedObj = it.next();
- if (_childParts.contains(selectedObj))
- {
- mySelections.add(selectedObj);
- }
- }
- }
-
- _selection = new StructuredSelection(mySelections);
-
- fireSelectionChanged();
- }
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementResizableEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementResizableEditPolicy.java
deleted file mode 100644
index 368d26795..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementResizableEditPolicy.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.ResizableEditPolicy;
-import org.eclipse.gef.handles.NonResizableHandleKit;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.SelectEditPartTracker;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.BlockBox;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.requests.LocationModifierRequest;
-import org.eclipse.jst.pagedesigner.tools.ObjectModeDragTracker;
-import org.eclipse.jst.pagedesigner.tools.RangeDragTracker;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ElementResizableEditPolicy extends ResizableEditPolicy implements IEnhancedSelectionEditPolicy
-{
- private static final Insets INSETS_1 = new Insets(1, 1, 1, 1);
-
- private static final int THRESHHOLD = 3;
-
- // the number of pixels to offset the top left of tooltop feedback
- // below the current mouse cursor location
- private static final int TOOLTIP_VERTICAL_OFFSET = 25;
-
- private static final Insets INSETS_CONST = new Insets(THRESHHOLD,
- THRESHHOLD, THRESHHOLD, THRESHHOLD);
-
- private boolean _showLabelFeedback = true;
-
- private IFigure[] _hoverFeedbackFigure;
-
- //private NonVisualChildDecorator _selectionDecoratorNorthWest; // = null;
- private MouseSelectableChildDecorator _nonVisualChildDecorator; // = null;
-
- private final static Color HOVER_FEEDBACK_COLOR = ColorConstants.blue;
-
- public void deactivate()
- {
- super.deactivate();
- if (_nonVisualChildDecorator != null)
- {
- _nonVisualChildDecorator.dispose();
- _nonVisualChildDecorator = null;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#showTargetFeedback(org.eclipse.gef.Request)
- */
- public void showTargetFeedback(Request request) {
- if (RequestConstants.REQ_SELECTION_HOVER.equals(request.getType())) {
- if (_hoverFeedbackFigure != null) {
- for (int i = 0; i < _hoverFeedbackFigure.length; i++) {
- removeFeedback(_hoverFeedbackFigure[i]);
- }
- _hoverFeedbackFigure = null;
- }
-
- // <gripe>this is what I hate about GEF, if it's a location dependent
- // request why aren't we guaranteed a LocationRequest?!
- // even GEF interal code protects casts by checking getType()
- // rather than an instanceof!</gripe>
- Assert.isTrue(request instanceof LocationRequest);
- // don't show tooltip if drag is active
- _showLabelFeedback = !((NodeEditPart)getHost()).isDragActive();
- _hoverFeedbackFigure = showHoverFeedback((LocationRequest)request);
- } else {
- super.showTargetFeedback(request);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
- */
- public void eraseTargetFeedback(Request request) {
- if (RequestConstants.REQ_SELECTION_HOVER.equals(request.getType())) {
- if (_hoverFeedbackFigure != null) {
- for (int i = 0; i < _hoverFeedbackFigure.length; i++) {
- removeFeedback(_hoverFeedbackFigure[i]);
- }
- _hoverFeedbackFigure = null;
- getNonVisualChildDecorator().updateState(MouseSelectableChildDecorator.EVENT_HOST_HOVER_LOST);
- }
- } else {
- super.eraseTargetFeedback(request);
- }
- }
-
- /**
- * @param request
- */
- private IFigure[] showHoverFeedback(LocationRequest request) {
- if (!shouldUseObjectMode(request) && !isStyleTags(getHost())) {
- return null;
- }
-
- final IFigure figure = this.getHostFigure();
- Rectangle[] rects;
- if (figure instanceof CSSFigure) {
- rects = ((CSSFigure) figure).getFragmentsBounds();
- } else {
- rects = new Rectangle[] { figure.getBounds() };
- }
- int figureSize = rects.length;
-
- if (_showLabelFeedback)
- {
- figureSize++;
- }
-
- IFigure[] figures = new IFigure[figureSize];
- for (int i = 0; i < rects.length; i++) {
- RectangleFigure fig = new RectangleFigure();
- fig.setFill(false);
- fig.setOutline(true);
- fig.setLineWidth(1);
- fig.setForegroundColor(HOVER_FEEDBACK_COLOR);
- addFeedback(fig);
-
- Rectangle r = rects[i].getCopy();
- figure.translateToAbsolute(r);
- fig.translateToRelative(r);
- fig.setBounds(r);
-
- figures[i] = fig;
- }
-
- if (_showLabelFeedback)
- {
- getNonVisualChildDecorator().updateState(MouseSelectableChildDecorator.EVENT_HOST_HOVER_RECEIVED);
-
- BasicLabelToolTip label = new BasicLabelToolTip(getTooltipText());
- addFeedback(label);
-
- // use mouse cursor plus an offset so the tooltip doesn't
- // appear z-ordered below the mouse cursor
- AbsolutePointLocator locator = AbsolutePointLocator.getInstance();
- locator.setReferencePoint(request.getLocation(), 0, TOOLTIP_VERTICAL_OFFSET);
- // to avoid enlargemeent of the feedback layer
- locator.setIntersectFigure(getFeedbackLayer());
- locator.relocate(label);
- figures[rects.length] = label;
- }
- return figures;
- }
-
- private String getTooltipText() {
- Element element = (Element) this.getHost().getModel();
- StringBuffer text = new StringBuffer(element.getTagName());
- return text.toString();
- }
-
- private boolean isStyleTags(EditPart part) {
- if (part != null && part.getModel() instanceof Node) {
- return EditModelQuery.HTML_STYLE_NODES.contains(((Node) part
- .getModel()).getNodeName());
- }
- return false;
- }
- private MouseSelectableChildDecorator getNonVisualChildDecorator()
- {
- if (_nonVisualChildDecorator == null)
- {
- _nonVisualChildDecorator =
- new MouseSelectableChildDecorator((GraphicalEditPart)getHost()
- , PositionConstants.NORTH_EAST
- , getLayer(LayerConstants.FEEDBACK_LAYER)
- , getLayer(LayerConstants.HANDLE_LAYER));
- }
- return _nonVisualChildDecorator;
- }
-
- /**
- * @param request
- * @return true if we should be using object mode for this request
- */
- public boolean shouldUseObjectMode(Request request) {
- ElementEditPart part = (ElementEditPart) this.getHost();
- if (isStyleTags(part)) {
- return false;
- }
- if (part.isWidget()
- || (!part.canHaveDirectTextChild() && !part
- .haveNonWhitespaceTextChild())) {
- return true;
- }
- if (request instanceof SelectionRequest
- && ((SelectionRequest) request).isControlKeyPressed()) {
- return true;
- }
- if (request instanceof LocationModifierRequest
- && ((LocationModifierRequest) request).isControlKeyPressed()) {
- return true;
- }
-
- // for other elements
- if (request instanceof LocationRequest) {
- Point location = ((LocationRequest) request).getLocation()
- .getCopy();
- part.getFigure().translateToRelative(location);
- return shouldUseObjectMode(location);
- }
- return false; // should not happen
- }
-
- /**
- * @param location
- * @return
- */
- private boolean shouldUseObjectMode(Point location) {
- // when the location is close to the border/padding of the element, then
- // we think it is default to
- // object mode selection.
- CSSFigure figure = (CSSFigure) this.getHostFigure();
- if (figure.getFragmentsBounds().length != 1) {
- return false;
- }
- Rectangle bounds = figure.getBounds().getCopy();
- Insets insets = figure.getInsets();
- bounds.crop(insets);
- if (insets.top > THRESHHOLD && insets.left > THRESHHOLD
- && insets.right > THRESHHOLD && insets.bottom > THRESHHOLD) {
- return !bounds.contains(location);
- }
-
- // since the figure insets could be 0, so we expand it a little, thus
- // even the point is
- // a little inside the content area, we still think it is selection the
- // object.
- if (bounds.height < 3 * THRESHHOLD || bounds.width < 3 * THRESHHOLD) {
- bounds.crop(INSETS_1);
- } else {
- bounds.crop(INSETS_CONST);
- }
- return !bounds.contains(location);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#createSelectionHandles()
- */
- protected List createSelectionHandles() {
- // we have three different kinds of handles.
- // 1. Those element that is resizable.
- // 2. Those element that is rectangle but not resizable.
- // 3. Those element that is not rectangle (fragments)
-
- IFigure figure = this.getHostFigure();
- if (figure instanceof CSSFigure && getHost() instanceof ElementEditPart) {
- CSSFigure cssfigure = (CSSFigure) figure;
- List fragments = cssfigure.getFragmentsForRead();
-
- // XXX: only one fragment and is blockbox, then we think it is
- // resizable by figure
- // should move this test to somewhere else.
- if (fragments != null && fragments.size() == 1
- && fragments.get(0) instanceof BlockBox) {
- if (((ElementEditPart) getHost()).isResizable()) {
- // super is Resizable policy, will create a resize handles.
- return super.createSelectionHandles();
- }
- return createNonResizeHandles();
- }
- return createFragmentsHandles();
- }
- // second case
- return createNonResizeHandles();
- }
-
- /**
- * @return
- */
- private List createFragmentsHandles() {
- List list = new ArrayList();
- list.add(new FragmentHandle((GraphicalEditPart) getHost()));
- return list;
- }
-
- /**
- * @return
- */
- private List createNonResizeHandles() {
- // following code copied from NonResizableEditPolicy
- List list = new ArrayList();
- if (isDragAllowed()) {
- NonResizableHandleKit.addHandles((GraphicalEditPart) getHost(),
- list);
- } else {
- NonResizableHandleKit.addHandles((GraphicalEditPart) getHost(),
- list, new SelectEditPartTracker(getHost()),
- SharedCursors.ARROW);
- }
-
- return list;
- }
-
-
- protected void hideSelection() {
- super.hideSelection();
- // handle removing the menu bar handle separately because it will decide
- // when to remove itself (not removeSelectionHandles)
- getNonVisualChildDecorator().updateState(MouseSelectableChildDecorator.EVENT_HOST_SELECTION_LOST);
-
- }
-
- protected void showSelection() {
- super.showSelection();
- // handle adding the menu bar handle separately because it will decide
- // when to remove itself (not removeSelectionHandles
- getNonVisualChildDecorator().updateState(MouseSelectableChildDecorator.EVENT_HOST_SELECTION_RECEIVED);
- }
-
- /**
- * child class could override this method.
- *
- * @param element
- * @param width
- * @param height
- * @return the resize command or null if none
- */
- protected Command getResizeCommand(IDOMElement element, int width,
- int height) {
- Map map = new HashMap();
- if (width > 0) {
- map.put("width", width + "px"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (height > 0) {
- map.put("height", height + "px"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (!map.isEmpty()) {
- return new ChangeStyleCommand(element, map);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#getResizeCommand(org.eclipse.gef.requests.ChangeBoundsRequest)
- */
- protected Command getResizeCommand(ChangeBoundsRequest request) {
- ElementEditPart part = (ElementEditPart) this.getHost();
-
- Rectangle rect = part.getFigure().getBounds();
- rect = request.getTransformedRectangle(rect);
- int width = rect.width;
- int height = rect.height;
-
- // since the user dragged rectangle included border/padding of the
- // element. And if the element's
- // width/height style setting don't include border padding, then we need
- // to set the element's width/height
- // style property a little smaller.
- if (part.getFigure() instanceof CSSFigure) {
- CSSFigure cssfigure = (CSSFigure) part.getFigure();
- ICSSStyle style = cssfigure.getCSSStyle();
- if (style != null && !style.isSizeIncludeBorderPadding()) {
- width -= (style.getBorderInsets().getWidth() + style
- .getPaddingInsets().getWidth());
- height -= (style.getBorderInsets().getHeight() + style
- .getPaddingInsets().getHeight());
- }
- }
-
- //make sure to only change the dimensions for the direction of the resize request.
- int resizeDirection = request.getResizeDirection();
- switch (resizeDirection) {
- case PositionConstants.EAST:
- case PositionConstants.WEST:
- //resizing, only the width, so set the height to -1;
- height = -1;
- break;
- case PositionConstants.NORTH:
- case PositionConstants.SOUTH:
- //resizing only the height, so set the width to -1
- width = -1;
- break;
- default:
- //all others are changing both directions...
- }
- return getResizeCommand((IDOMElement) part.getIDOMNode(), width, height);
- }
-
- /**
- * Shows or updates feedback for a change bounds request.
- *
- * @param request
- * the request
- */
- protected void showChangeBoundsFeedback(ChangeBoundsRequest request) {
- IFigure feedback = getDragSourceFeedbackFigure();
-
- PrecisionRectangle rect = new PrecisionRectangle(
- getInitialFeedbackBounds().getCopy());
- getHostFigure().translateToAbsolute(rect);
- rect.translate(request.getMoveDelta());
- rect.resize(request.getSizeDelta());
-
- // to avoid enlarge feedback pane.
- // when draging a editpart inside designer to move/copy it, we do not
- // want to
- // enlarge the canvas, since that may resulting in relayout.
- rect = (PrecisionRectangle) rect.intersect(getFeedbackLayer()
- .getBounds());
-
- feedback.translateToRelative(rect);
- feedback.setBounds(rect);
- }
-
- public Cursor getSelectionToolCursor(Point mouseLocation) {
- // by default return null to indicate system default.
- // sub-classes should override to customize
- return null;
- }
-
- /**
- * by default, return null
- * sub-classes should override to customize
- * @param request
- * @return the selectin tracker
- */
- protected DragTracker getSelectionTracker(LocationRequest request)
- {
- return null;
- }
-
- public DragTracker getSelectionDragTracker(LocationRequest request)
- {
- if (org.eclipse.jst.pagedesigner.requests.PageDesignerRequestConstants.REQ_SELECTION_TRACKER.equals(request.getType())){
- return getSelectionTracker(request);
- }
-
- // be default don't specify a selection drag tracker
- // sub-classes should override to customize
- if (shouldUseObjectMode(request)) {
- return new ObjectModeDragTracker(getHost());
- }
- return new RangeDragTracker(getHost());
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentCornerHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentCornerHandle.java
deleted file mode 100644
index ad3bd8745..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentCornerHandle.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.SquareHandle;
-import org.eclipse.jst.pagedesigner.tableedit.EmptyLocator;
-
-/**
- * A Handle used to mark the fragment.
- */
-public class FragmentCornerHandle extends SquareHandle {
- FragmentCornerHandle(GraphicalEditPart owner) {
- super(owner, new EmptyLocator());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.AbstractHandle#createDragTracker()
- */
- protected DragTracker createDragTracker() {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentHandle.java
deleted file mode 100644
index 5efd9843a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/FragmentHandle.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.draw2d.Locator;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Handle;
-import org.eclipse.gef.handles.AbstractHandle;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class FragmentHandle extends AbstractHandle implements Handle {
- /**
- * @param owner
- */
- public FragmentHandle(GraphicalEditPart owner) {
- super(owner, new FragmentLocator());
- this.setOpaque(false);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#paint(org.eclipse.draw2d.Graphics)
- */
- public void paint(Graphics graphics) {
- graphics.setClip(this.getBounds().getCopy().expand(7, 7));
- super.paint(graphics);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.AbstractHandle#createDragTracker()
- */
- protected DragTracker createDragTracker() {
- DragEditPartsTracker tracker = new DragEditPartsTracker(getOwner());
- tracker.setDefaultCursor(getCursor());
- return tracker;
- }
-
- private void refresh() {
-
- // set the bounds of this figure, so it could cover all children.
- bounds = getOwnerFigure().getBounds();
- bounds = new PrecisionRectangle(bounds.getResized(-1, -1));
- getOwnerFigure().translateToAbsolute(bounds);
- this.translateToRelative(bounds);
- this.setBounds(bounds);
-
- this.removeAll();
- // ok, recreate all children.
- CSSFigure cssfigure = (CSSFigure) getOwner().getFigure();
- List fragments = cssfigure.getFragmentsForRead();
- for (int i = 0, size = fragments.size(); i < size; i++) {
- // the rectangle.
- Figure childFigure = new BorderFigure();
- childFigure.setBorder(new LineBorder(1));
- this.add(childFigure);
-
- FlowBox box = (FlowBox) fragments.get(i);
- Rectangle rect = new Rectangle(box.getX(), box.getY(), box.getWidth(), box
- .getHeight());
- cssfigure.translateToAbsolute(rect);
-
- childFigure.translateToRelative(rect);
- childFigure.setBounds(rect);
-
- createCornerHandles(cssfigure, box);
- }
- }
-
- /**
- *
- */
- private void createCornerHandles(CSSFigure reference, FlowBox referencebox) {
- createHandle(reference, referencebox, PositionConstants.SOUTH_EAST);
- createHandle(reference, referencebox, PositionConstants.SOUTH_WEST);
- createHandle(reference, referencebox, PositionConstants.NORTH_WEST);
- createHandle(reference, referencebox, PositionConstants.NORTH_EAST);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#containsPoint(int, int)
- */
- public boolean containsPoint(int x, int y) {
- List children = this.getChildren();
- for (int i = 0, n = children.size(); i < n; i++) {
- if (((IFigure) children.get(i)).containsPoint(x, y)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param north_east
- */
- private void createHandle(CSSFigure reference, FlowBox referencebox,
- int location) {
- double relativeX, relativeY;
- switch (location & PositionConstants.NORTH_SOUTH) {
- case PositionConstants.NORTH:
- relativeY = 0;
- break;
- case PositionConstants.SOUTH:
- relativeY = 1.0;
- break;
- default:
- relativeY = 0.5;
- }
-
- switch (location & PositionConstants.EAST_WEST) {
- case PositionConstants.WEST:
- relativeX = 0;
- break;
- case PositionConstants.EAST:
- relativeX = 1.0;
- break;
- default:
- relativeX = 0.5;
- }
-
- FragmentCornerHandle target = new FragmentCornerHandle(getOwner());
- this.add(target);
-
- // for corner small box.
- Rectangle targetBounds = new Rectangle(referencebox.getX(),
- referencebox.getY(), referencebox.getWidth(), referencebox
- .getHeight());
- targetBounds = new PrecisionRectangle(targetBounds);
- reference.translateToAbsolute(targetBounds);
- target.translateToRelative(targetBounds);
- // targetBounds.resize(1, 1);
-
- Dimension targetSize = target.getPreferredSize();
-
- targetBounds.x += (int) (targetBounds.width * relativeX - ((targetSize.width + 1) / 2));
- targetBounds.y += (int) (targetBounds.height * relativeY - ((targetSize.height + 1) / 2));
- targetBounds.setSize(targetSize);
- target.setBounds(targetBounds);
- }
-
- static class FragmentLocator implements Locator {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Locator#relocate(org.eclipse.draw2d.IFigure)
- */
- public void relocate(IFigure target) {
- ((FragmentHandle) target).refresh();
- }
- }
-
- static class BorderFigure extends Figure {
- /**
- * the bounds padding
- */
- public static final int INNER_PAD = 2;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.IFigure#containsPoint(int, int)
- */
- public boolean containsPoint(int x, int y) {
- if (!super.containsPoint(x, y))
- return false;
- return !Rectangle.SINGLETON.setBounds(getBounds()).shrink(
- INNER_PAD, INNER_PAD).contains(x, y);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/IEnhancedSelectionEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/IEnhancedSelectionEditPolicy.java
deleted file mode 100644
index 779762bd9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/IEnhancedSelectionEditPolicy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.swt.graphics.Cursor;
-
-/**
- * Allows a selection edit policy to specify extra capabilities
- *
- * @author cbateman
- */
-public interface IEnhancedSelectionEditPolicy
-{
- /**
- * @param mouseLocation
- * @return the cursor that should be displayed when a selection tool
- * enters the hit box (mouses over) of an edit part but no selection
- * or drag operations have occurred yet. Null indicates the caller should
- * use whatever default it deems appropriate.
- */
- Cursor getSelectionToolCursor(Point mouseLocation);
-
- /**
- * @param request
- * @param mouseLocator
- * @return a drag tracker to be used when the mouse moves over a certain
- * location and mouse state is in initial state or null if the policy
- * doesn't wish to customize this. This allows an edit part
- * to customize what drag tracker is used depending on where the mouse is positioned
- * on its figure.
- */
- DragTracker getSelectionDragTracker(LocationRequest request);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ITableEditAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ITableEditAdapter.java
deleted file mode 100644
index 0795c8a82..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ITableEditAdapter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface ITableEditAdapter {
- /**
- * @return the column count
- */
- public int getColumnCount();
-
- /**
- * @return the row count
- */
- public int getRowCount();
-
- /**
- * @param atPosition
- */
- public void insertColumn(int atPosition);
-
- /**
- * @param rowPosition
- */
- public void insertRow(int rowPosition);
-
- /**
- * @param columnIndex
- * @return the starting point for resize
- */
- public int getColumnResizeStart(int columnIndex);
-
- /**
- * @return the resize width
- */
- public int getColumnResizeWidth();
-
- /**
- * @param columnIndex
- * @return column start
- */
- public int getColumnStart(int columnIndex);
-
- /**
- * @param columnIndex
- * @return the column width
- */
- public int getColumnWidth(int columnIndex);
-
- /**
- * @param rowIndex
- * @return the row start
- */
- public int getRowStart(int rowIndex);
-
- /**
- * @param rowIndex
- * @return the row height
- */
- public int getRowHeight(int rowIndex);
-
- /**
- * @param rowIndex
- * @return starting point of the row resize
- */
- public int getRowResizeStart(int rowIndex);
-
- /**
- * @return the row resize width
- */
- public int getRowResizeWidth();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/JSFDropEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/JSFDropEditPolicy.java
deleted file mode 100644
index 0b369193a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/JSFDropEditPolicy.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
-import org.eclipse.jst.pagedesigner.commands.PDDropRequest;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class JSFDropEditPolicy extends GraphicalEditPolicy {
- String _attrName;
-
- /**
- * @param attrname
- */
- public JSFDropEditPolicy(String attrname) {
- _attrName = attrname;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
- */
- public EditPart getTargetEditPart(Request request) {
- if (request instanceof PDDropRequest) {
- return getHost();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request) {
- if (request instanceof PDDropRequest) {
- PDDropRequest r = (PDDropRequest) request;
- final String s = (String) r.getCurrentEvent().data;
- return new Command() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- public void execute() {
- // XXX: should check whether alreayd set the attribute,
- // maybe
- // should also popup dialog etc.
- ((Element) getHost().getModel()).setAttribute(_attrName, s);
- }
- };
- }
-
- return super.getCommand(request);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#eraseTargetFeedback(org.eclipse.gef.Request)
- */
- public void eraseTargetFeedback(Request request) {
- //
- super.eraseTargetFeedback(request);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#showTargetFeedback(org.eclipse.gef.Request)
- */
- public void showTargetFeedback(Request request) {
- super.showTargetFeedback(request);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LinkEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LinkEditPolicy.java
deleted file mode 100644
index ad222bef7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LinkEditPolicy.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
-import org.eclipse.jst.pagedesigner.actions.link.LinkRequest;
-import org.eclipse.jst.pagedesigner.actions.link.MakeLinkCommand;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class LinkEditPolicy extends GraphicalEditPolicy {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.EditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request) {
- EditPart part = this.getHost();
- IHTMLGraphicalViewer viewer = null;
- if (part instanceof TextEditPart) {
- //TODO: ?? part = (TextEditPart) part;
- viewer = (IHTMLGraphicalViewer) part.getViewer();
- }
- if (request instanceof LinkRequest) {
- LinkRequest req = (LinkRequest) request;
- String identifier = req.getIdentifier();
- DesignRange range = req.getDesignRange();
- // TODO: when part !instancof TextEditPart, viewer == null
- Command command = new MakeLinkCommand(identifier, viewer, part,
- range);
- return command;
- }
- return super.getCommand(request);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LocationHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LocationHelper.java
deleted file mode 100644
index b6e09fe85..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/LocationHelper.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public final class LocationHelper {
- /**
- * @param host
- * @param p
- * @param result
- * @param tagName
- * @param skip
- * @return true if insertion point is found
- */
- public static boolean findInsertLocation(GraphicalEditPart host, Point p,
- GraphicalEditPart[] result, String tagName, Node skip) {
- if (isHostInsideSkip(host, skip))
- return false;
-
- while (isValidHost(host) && !canHostContainTag(host, tagName)) {
- if (host.getParent() instanceof GraphicalEditPart)
- host = (GraphicalEditPart) host.getParent();
- else
- host = null;
- }
- if (!isValidHost(host))
- return false;
-
- // ok, next we try to find a insertion point inside host
- result[0] = host;
- List children = host.getChildren();
- if (children.isEmpty()) {
- result[1] = null;
- return true;
- }
- // TODO: never read GraphicalEditPart ref = null;
- for (int i = 0, size = children.size(); i < size; i++) {
- GraphicalEditPart child = (GraphicalEditPart) children.get(i);
- Rectangle rect = getAbsoluteBounds(child);
-
- if (rect.contains(p)) {
- IFigure figure = child.getFigure();
- if (figure instanceof ICSSFigure) {
- List frags = ((ICSSFigure) figure).getFragmentsForRead();
- if (frags.size() > 1) // more than one frags, so is a zig
- // zag.
- {
- // check whether is before the first box.
- FlowBox box = (FlowBox) frags.get(0);
- Rectangle rect1 = getAbsoluteBounds(figure, box);
- if (rect1.x > p.x && rect1.y + rect1.height > p.y) {
- // p is at left/above the first box. so we think p
- // is before this child
- result[1] = child;
- return true;
- }
- // check whether is after the last box
- box = (FlowBox) frags.get(frags.size() - 1);
- rect1 = getAbsoluteBounds(figure, box);
- if (rect1.x < p.x && rect1.y < p.y) {
- continue;
- }
- }
- }
- // ok, treat as the point in a rect figure, see which side is
- // closer.
- if (p.x > rect.x + rect.width / 2) {
- continue;
- }
- result[1] = child;
- return true;
- } else if (rect.x + rect.width < p.x || rect.y + rect.height < p.y) {
- // p is at right or below rect. so the point is "after" the
- // rect.
- continue;
- } else {
- // ok, p is "before" rect.
- result[1] = child;
- return true;
- }
- }
- // we search through all.
- result[1] = null;
- return true;
- }
-
- /**
- * @param figure
- * @param box
- * @return the bounding rectangle
- */
- public static Rectangle getAbsoluteBounds(IFigure figure, FlowBox box) {
- Rectangle r = new Rectangle(box.getX(), box.getY(), box.getWidth(), box
- .getHeight());
- figure.translateToAbsolute(r);
- return r;
- }
-
- /**
- * @param child
- * @return the bounding rectangle
- */
- public static Rectangle getAbsoluteBounds(GraphicalEditPart child) {
- Rectangle bounds = child.getFigure().getBounds().getCopy();
- child.getFigure().translateToAbsolute(bounds);
- return bounds;
- }
-
- /**
- * @param host
- * @param tagName
- * @return
- */
- private static boolean canHostContainTag(GraphicalEditPart host,
- String tagName) {
- if (host == null)
- return false;
- Node node = (Node) host.getModel();
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- ModelQuery modelQuery = getModelQuery(node);
- if (modelQuery != null) {
- CMElementDeclaration elementDecl = modelQuery
- .getCMElementDeclaration((Element) node);
- if (elementDecl == null) {
- return true;
- }
- if (elementDecl.getContentType() == CMElementDeclaration.EMPTY)
- return false;
- }
- }
- return true;
- }
-
- /**
- * @param host
- * @return
- */
- private static boolean isValidHost(GraphicalEditPart host) {
- return host != null
- && (host instanceof ElementEditPart || host instanceof DocumentEditPart);
- }
-
- /**
- * @param host
- * @param skip
- * @return
- */
- private static boolean isHostInsideSkip(GraphicalEditPart host, Node skip) {
- if (skip == null)
- return false;
-
- // XXX: not done.
- return false;
- }
-
- private static ModelQuery getModelQuery(Node node) {
- Document doc = node.getOwnerDocument();
-
- if (node.getNodeType() == Node.DOCUMENT_NODE) {
- doc = (Document) node;
- }
- return ModelQueryUtil.getModelQuery(doc);
- }
-
- private LocationHelper()
- {
- // util class, no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MouseSelectableChildDecorator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MouseSelectableChildDecorator.java
deleted file mode 100644
index 11957af5d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MouseSelectableChildDecorator.java
+++ /dev/null
@@ -1,631 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Locator;
-import org.eclipse.draw2d.MouseEvent;
-import org.eclipse.draw2d.MouseListener;
-import org.eclipse.draw2d.MouseMotionListener;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A child decorator that supports mouse selection
- *
- * @author cbateman
- *
- */
-class MouseSelectableChildDecorator extends NonVisualChildDecorator
-{
- private static final String PIN_UP_IMAGE_FILE = "pin_up.gif"; //$NON-NLS-1$
-
- private static final String PIN_DOWN_IMAGE_FILE = "pin_down.gif"; //$NON-NLS-1$
-
- // no visual or affordance showing
- private static final int STATE_START = 0;
-
- // the host is showing hover feedback, but is not selected
- private static final int STATE_HOST_HOVER = 1;
-
- // the host has primary selection
- private static final int STATE_HOST_SELECTED = 2;
-
- // the selection handle for the decorator has mouse hover
- private static final int STATE_HANDLE_HOVER = 3;
-
- // the selection handle has been selected (is showing)
- private static final int STATE_HANDLE_MENU_BAR_SHOWING = 4;
-
- // the menu bar has hover
- private static final int STATE_HANDLE_MENU_BAR_HOVER = 5;
-
- // the menu bar has primary selection
- private static final int STATE_HANDLE_MENU_BAR_SELECTED = 6;
-
- /**
- * An event indicating the host received hover
- */
- public static final int EVENT_HOST_HOVER_RECEIVED = 31;
- /**
- * An event indicating the host lost hover
- */
- public static final int EVENT_HOST_HOVER_LOST = 32;
- /**
- * An event indicating the host received selection
- */
- public static final int EVENT_HOST_SELECTION_RECEIVED = 33;
- /**
- * An event indicating the host lost selection
- */
- public static final int EVENT_HOST_SELECTION_LOST = 34;
- private static final int EVENT_HANDLE_HOVER_RECEIVED = 35;
- private static final int EVENT_HANDLE_HOVER_LOST = 36;
- private static final int EVENT_HANDLE_SELECTED = 37;
- private static final int EVENT_ALL_SELECTION_LOST = 38;
- private static final int EVENT_MENU_BAR_SELECTION_RECEIVED = 39;
-
- private MouseMotionListener _motionListener;
- private MouseListener _mouseListener;
- private boolean _isMouseOver = false;
- private ElementMenuBar _elementMenuBar;
-
- private DisplayStateMachine _stateMachine;
- private VerticalMenuLocator _menuLocator;
- private AnimatedHideLocator _hideLocator;
- private IFigure _hoverParent;
- private IFigure _selectionParent;
-
- private ISelectionChangedListener _menuSelectionListener;
-
- MouseSelectableChildDecorator(final GraphicalEditPart hostPart, int location,
- IFigure hoverParent, IFigure selectionParent) {
- super(hostPart, location);
- _menuLocator = new VerticalMenuLocator(hostPart, this);
- _hideLocator = new AnimatedHideLocator();
- _elementMenuBar = ((ElementEditPart)hostPart).getElementMenuBar();
- _stateMachine = new DisplayStateMachine();
- _hoverParent = hoverParent;
- _selectionParent = selectionParent;
-
- _motionListener = new MouseMotionListener.Stub()
- {
- public void mouseEntered(MouseEvent me) {
- _isMouseOver = true;
- updateState(EVENT_HANDLE_HOVER_RECEIVED);
- }
-
- public void mouseExited(MouseEvent me) {
- _isMouseOver = false;
- updateState(EVENT_HANDLE_HOVER_LOST);
- }
- };
- addMouseMotionListener(_motionListener);
-
- _mouseListener = new MouseListener.Stub()
- {
- public void mousePressed(MouseEvent me) {
- updateState(EVENT_HANDLE_SELECTED);
- }
- };
- addMouseListener(_mouseListener);
-
- _menuSelectionListener = new ISelectionChangedListener()
- {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- if (selection.size() == 0)
- {
- // if the host part has been given back selection, then
- // we have a host selection event
- if (getOwner().getSelected() == EditPart.SELECTED_PRIMARY)
- {
- updateState(EVENT_HOST_SELECTION_RECEIVED);
- }
- // otherwise, both the host and the non-visual children are lost,
- // so fire all selection lost
- else
- {
- updateState(EVENT_ALL_SELECTION_LOST);
- }
- }
- // otherwise, one or more non-visual children have selection
- else
- {
- updateState(EVENT_MENU_BAR_SELECTION_RECEIVED);
- }
- }
- };
- _elementMenuBar.addSelectionChangedListener(_menuSelectionListener);
- }
-
- public void paintFigure(Graphics g) {
- // TODO: could we use an image label toggle button here instead?
- Image arrowImage = null;
-
- if (_stateMachine.isMenuShowing())
- {
- arrowImage = PDPlugin.getDefault().getImage(PIN_DOWN_IMAGE_FILE);
- }
- else
- {
- arrowImage = PDPlugin.getDefault().getImage(PIN_UP_IMAGE_FILE);
- }
-
- Rectangle r = getBounds();
- g.setAlpha(75);
- g.setBackgroundColor(getFillColor());
- g.fillRectangle(r.x, r.y, r.width, r.height);
- g.setAlpha(getAlpha());
- g.drawImage(arrowImage, r.x+1, r.y+1);
- g.setForegroundColor(getBorderColor());
- g.drawRectangle(r.x, r.y, r.width-1, r.height-1);
- }
-
- /**
- * @param event
- */
- public void updateState(int event)
- {
- int oldState = _stateMachine.doTransition(event);
- updateVisual(oldState);
- }
-
- /**
- * @param oldState
- */
- protected void updateVisual(int oldState)
- {
- // overriding all other considerations is whether the menu bar even has
- // any items to show. If not don't show anything
- if (!_elementMenuBar.hasChildParts())
- {
- if (getParent() != null)
- {
- getParent().remove(this);
- }
-
- return;
- }
-
- switch (_stateMachine._curState)
- {
- case STATE_START:
- hide(_elementMenuBar, false);
- IFigure parent = getParent();
- if (parent != null)
- {
- parent.remove(this);
- }
- break;
-
- case STATE_HOST_HOVER:
- if (_hoverParent != null)
- {
- _hoverParent.add(this);
- validate();
- }
- show(_elementMenuBar, false);
- setVisible(false);
- break;
-
- case STATE_HOST_SELECTED:
- if (_selectionParent != null)
- {
- _selectionParent.add(this);
- validate();
- }
-
- setVisible(true);
-
- if (oldState != STATE_HOST_SELECTED
- && oldState != STATE_HANDLE_HOVER)
- {
- show(_elementMenuBar, true);
- hide(_elementMenuBar, true);
- }
- else
- {
- if (!_hideLocator._isAnimating)
- {
- hide(_elementMenuBar, false);
- }
- }
- repaint();
- break;
-
- case STATE_HANDLE_HOVER:
- if (_stateMachine.isMenuShowing(oldState))
- {
- hide(_elementMenuBar, false);
- }
- else
- {
- show(_elementMenuBar, false);
- }
- repaint();
- break;
-
- case STATE_HANDLE_MENU_BAR_SHOWING:
- show(_elementMenuBar, true);
- repaint();
- break;
-
- case STATE_HANDLE_MENU_BAR_HOVER:
- case STATE_HANDLE_MENU_BAR_SELECTED:
- //revalidate();
- break;
-
-
- default:
-
- }
- }
-
- protected void init() {
- setPreferredSize(new Dimension(12, 12));
- }
-
- /**
- *
- */
- public void dispose()
- {
- hide(_elementMenuBar, false);
-
- if (_motionListener != null)
- {
- removeMouseMotionListener(_motionListener);
- _motionListener = null;
- }
-
- if (_mouseListener != null)
- {
- removeMouseListener(_mouseListener);
- _mouseListener = null;
- }
-
- if (_menuSelectionListener != null)
- {
- _elementMenuBar.removeSelectionChangedListener(_menuSelectionListener);
- _menuSelectionListener = null;
- }
- }
-
- private void hide(ElementMenuBar menuBar, boolean animate)
- {
- if (animate)
- {
- final Point endPoint = this.getLocation().getCopy();
- //TODO: don't understand when translation is necessary...
- //this.translateToAbsolute(endPoint);
-
- endPoint.x += this.getBounds().width / 2;
- endPoint.y += this.getBounds().height / 2;
- _hideLocator.setHideEndPoint(endPoint);
- _hideLocator.relocate(menuBar);
- }
- else
- {
- if (menuBar.getParent() != null)
- {
- getParent().remove(menuBar);
- }
- }
- }
-
- private void show(ElementMenuBar menuBar, boolean enabled)
- {
- menuBar.setEnabled(enabled);
- getParent().add(menuBar);
- _menuLocator.relocate(menuBar);
- }
-
- protected int getAlpha()
- {
- return (_isMouseOver || _stateMachine.isMenuShowing()) ? 255 : 75;
- }
-
- private class DisplayStateMachine
- {
- private int _curState = STATE_START;
-
- /**
- * @param event
- * @return execute a state machine transition on event
- */
- public int doTransition(int event)
- {
- final int oldState = _curState;
-
- switch(_curState)
- {
- case STATE_START:
- // can only transition from start state
- // on a host event
- if (event == EVENT_HOST_HOVER_RECEIVED)
- {
- _curState = STATE_HOST_HOVER;
- }
- else if (event == EVENT_HOST_SELECTION_RECEIVED)
- {
- _curState = STATE_HOST_SELECTED;
- }
- break;
-
- case STATE_HOST_HOVER:
- if (event == EVENT_HOST_SELECTION_RECEIVED)
- {
- _curState = STATE_HOST_SELECTED;
- }
- else if (event == EVENT_HOST_SELECTION_LOST
- || event == EVENT_HOST_HOVER_LOST)
- {
- _curState = STATE_START;
- }
- else if (event == EVENT_HOST_HOVER_RECEIVED)
- {
- // preserve state in this case
- }
- break;
-
- case STATE_HOST_SELECTED:
- // once the host is selected,the only host event that
- // that can change state is selection lost
- if (event == EVENT_HOST_SELECTION_LOST)
- {
- _curState = STATE_START;
- }
- else if (event == EVENT_HANDLE_HOVER_RECEIVED)
- {
- _curState = STATE_HANDLE_HOVER;
- }
- else if (event == EVENT_HANDLE_SELECTED)
- {
- _curState = STATE_HANDLE_MENU_BAR_SHOWING;
- }
- else if (event == EVENT_ALL_SELECTION_LOST)
- {
- _curState = STATE_START;
- }
- break;
-
- case STATE_HANDLE_HOVER:
- if (event == EVENT_HANDLE_HOVER_LOST)
- {
- _curState = STATE_HOST_SELECTED;
- }
- else if (event == EVENT_HANDLE_SELECTED)
- {
- _curState = STATE_HANDLE_MENU_BAR_SHOWING;
- }
- else if (event == EVENT_HOST_SELECTION_LOST)
- {
- _curState = STATE_START;
- }
- break;
- case STATE_HANDLE_MENU_BAR_SHOWING:
- if (event == EVENT_HANDLE_SELECTED)
- {
- _curState = STATE_HANDLE_HOVER;
- }
- else if (event == EVENT_MENU_BAR_SELECTION_RECEIVED)
- {
- _curState = STATE_HANDLE_MENU_BAR_SELECTED;
- }
- else if (event == EVENT_ALL_SELECTION_LOST)
- {
- _curState = STATE_START;
- }
- break;
-
- case STATE_HANDLE_MENU_BAR_HOVER:
- break;
-
- case STATE_HANDLE_MENU_BAR_SELECTED:
- if (event == EVENT_ALL_SELECTION_LOST)
- {
- _curState = STATE_START;
- }
- else if (event == EVENT_HANDLE_SELECTED)
- {
- _curState = STATE_HANDLE_HOVER;
- }
- break;
-
- }
-
-
- return oldState;
- }
-
- /**
- * @return true if the menu should be showing in the current state
- */
- public boolean isMenuShowing()
- {
- return isMenuShowing(_curState);
- }
-
- /**
- * @param state
- * @return true if state is one in which the menu should be showing
- */
- public boolean isMenuShowing(int state)
- {
- return _curState == STATE_HANDLE_MENU_BAR_SHOWING
- || _curState == STATE_HANDLE_MENU_BAR_HOVER
- || _curState == STATE_HANDLE_MENU_BAR_SELECTED;
- }
- }
-
- private static class VerticalMenuLocator implements Locator
- {
- private IFigure _referenceFigure;
-
- VerticalMenuLocator(GraphicalEditPart owner, IFigure reference)
- {
- _referenceFigure = reference;
- }
-
- public void relocate(IFigure target)
- {
- final Rectangle finalBounds = getFinalMenuBounds(target);
- target.setBounds(finalBounds);
- }
-
-
- private Rectangle getInitialMenuBounds(final IFigure target)
- {
- Rectangle targetBounds =
- new PrecisionRectangle(_referenceFigure.getBounds().getResized(-1, -1));
- _referenceFigure.translateToAbsolute(targetBounds);
- target.translateToRelative(targetBounds);
- return targetBounds;
- }
-
- private Rectangle getFinalMenuBounds(final IFigure target)
- {
- final IFigure referenceFigure = _referenceFigure;
-
- Rectangle targetBounds = getInitialMenuBounds(target);
- Dimension targetSize = target.getPreferredSize();
-
- // copied from super.relocate because relativeX/Y are private in super
- // changed from super to remove div by 2 that centers target; we want
- // it to be corner-to-corner
- targetBounds.x
- += targetBounds.width+4;
- targetBounds.y
- -= (targetSize.height / 2) - referenceFigure.getBounds().height/2;
- targetBounds.setSize(targetSize);
- //target.setBounds(targetBounds);
-
-// final Rectangle viewPortRect =
-// ((IHTMLGraphicalViewer)_owner.getViewer()).getViewport().getBounds();
-// final Rectangle targetRect = targetBounds.getCopy();
-//
-// targetRect.intersect(viewPortRect);
-
-// int width = targetBounds.width - targetRect.width;
-// int height = targetBounds.height - targetRect.height;
-
-// if (width != 0)
-// {
-// targetBounds.x -= width;
-// }
-//
-// if (height != 0)
-// {
-// targetBounds.y += height;
-// }
-
- return targetBounds;
- }
- }
-
- private static class AnimatedHideLocator implements Locator
- {
- private Point _endPoint;
- private boolean _isAnimating;
-
- /**
- * @param endPoint -- must be absolute coordinate
- */
- public void setHideEndPoint(Point endPoint)
- {
- _endPoint = endPoint;
- }
-
- public void relocate(IFigure target)
- {
- final Point newEndPoint = _endPoint.getCopy();
- target.translateToRelative(_endPoint);
- Rectangle startBounds = target.getBounds().getCopy();
- animateBoundsChange(target, startBounds, newEndPoint);
- }
-
- private void animateBoundsChange(final IFigure target,
- final Rectangle startBounds,
- final Point endPoint)
- {
- final int numSteps = 5;
- final int numMs = 500;
- final int timeSteps = numMs/numSteps;
-
- int xDelta = endPoint.x - startBounds.x;
- int yDelta = endPoint.y - startBounds.y;
-
- final int widthIncrement = -1 * startBounds.width / numSteps;
- final int heightIncrement = -1 * startBounds.height / numSteps;
- int xIncrement = xDelta / numSteps;
- int yIncrement = yDelta / numSteps;
-
- target.setBounds(startBounds);
- if (widthIncrement != 0 || heightIncrement != 0)
- {
- _isAnimating = true;
- doAnimation(numMs, timeSteps, widthIncrement, heightIncrement, xIncrement, yIncrement, endPoint, target);
- }
- }
-
- private void doAnimation(final int remainingTime,
- final int timeIncrement,
- final int widthIncrement, final int heightIncrement
- , final int xIncrement, final int yIncrement
- , final Point endPoint
- , final IFigure target)
- {
- Display.getCurrent().timerExec(timeIncrement,
- new Runnable()
- {
- public void run()
- {
- if (remainingTime <= 0)
- {
- if (target.getParent() != null)
- {
- target.getParent().remove(target);
- }
- _isAnimating = false;
- }
- else
- {
- final Rectangle curBounds = target.getBounds().getCopy();
- curBounds.width += widthIncrement;
- curBounds.height += heightIncrement;
- curBounds.x += xIncrement;
- curBounds.y += yIncrement;
- target.setBounds(curBounds);
- target.revalidate();
- doAnimation(remainingTime-timeIncrement, timeIncrement, widthIncrement, heightIncrement, xIncrement, yIncrement, endPoint, target);
- }
- }
- });
- }
- }
-}
-
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MoveSupport.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MoveSupport.java
deleted file mode 100644
index dc420cf5c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/MoveSupport.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.List;
-
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class MoveSupport {
- /**
- * Check whether the move operation only drags a single node.
- *
- * @param request
- * @return true if the request affects a single node
- */
- public static boolean isSingleNode(ChangeBoundsRequest request) {
- List parts = request.getEditParts();
- if (parts == null || parts.size() != 1
- || !(parts.get(0) instanceof NodeEditPart)) {
- return false;
- }
- return true;
- }
-
- /**
- * this method must be called after isSingleNode
- *
- * @param request
- * @return the dragged part
- */
- public static NodeEditPart getDraggedPart(ChangeBoundsRequest request) {
- List parts = request.getEditParts();
- NodeEditPart part = (NodeEditPart) parts.get(0);
- return part;
- }
-
- /**
- * this method must be called after isSingleNode
- *
- * @param request
- * @return the dragged node
- */
- public static Node getDraggedNode(ChangeBoundsRequest request) {
- return getDraggedPart(request).getIDOMNode();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildDecorator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildDecorator.java
deleted file mode 100644
index 2f9c1e663..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildDecorator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-
-class NonVisualChildDecorator extends ElementDecoratorSquareHandle
-{
-
- NonVisualChildDecorator(final GraphicalEditPart hostPart, int location)
- {
- super(hostPart, new CornerRelativeHandleLocator(hostPart.getFigure(), location));
- }
-
- protected void init() {
- setPreferredSize(new Dimension(8, 8));
- }
-
- public void ancestorMoved(IFigure ancestor) {
- // TODO: for some reason this causes an infinite loop
- // when in the feedback layer...
- //super.ancestorMoved(ancestor);
- }
-
- protected DragTracker createDragTracker() {
- return null;
- }
-
- protected int getAlpha()
- {
- return 255;
- }
-
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildGraphicalEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildGraphicalEditPolicy.java
deleted file mode 100644
index 59678d248..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/NonVisualChildGraphicalEditPolicy.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.NonVisualComponentEditPart;
-import org.eclipse.swt.graphics.Color;
-import org.w3c.dom.Element;
-
-/**
- * An edit policy for non visual child edit parts
- * @author cbateman
- *
- */
-public class NonVisualChildGraphicalEditPolicy extends NonResizableEditPolicy
-{
- // the number of pixels to offset the top left of tooltop feedback
- // below the current mouse cursor location
- private static final int TOOLTIP_VERTICAL_OFFSET = 25;
- private final static Color HOVER_FEEDBACK_COLOR = ColorConstants.blue;
-
-
- private BasicLabelToolTip _toolTip;
- private boolean _showLabelFeedback;
- private RectangleFigure _mouseOverBorder;
-
- public void showTargetFeedback(Request request) {
- if (RequestConstants.REQ_SELECTION_HOVER.equals(request.getType())) {
- removeToolTipLabel();
- removeMouseOverBorder();
- Assert.isTrue(request instanceof LocationRequest);
- // don't show tooltip if drag is active
- _showLabelFeedback = !((NodeEditPart)getHost()).isDragActive();
- showHoverFeedback((LocationRequest)request);
- } else {
- super.showTargetFeedback(request);
- }
-
- }
-
- public void eraseTargetFeedback(Request request) {
- removeToolTipLabel();
- removeMouseOverBorder();
- }
-
- /**
- * @param request
- */
- private void showHoverFeedback(LocationRequest request)
- {
- if (_showLabelFeedback)
- {
- addMouseOverBorder();
- _toolTip = new BasicLabelToolTip(getTooltipText());
- addFeedback(_toolTip);
-
- // use mouse cursor plus an offset so the tooltip doesn't
- // appear z-ordered below the mouse cursor
- AbsolutePointLocator locator = AbsolutePointLocator.getInstance();
- locator.setReferencePoint(request.getLocation(), 0, TOOLTIP_VERTICAL_OFFSET);
- // to avoid enlargemeent of the feedback layer
- locator.setIntersectFigure(getFeedbackLayer());
- locator.relocate(_toolTip);
- }
- }
-
- private String getTooltipText() {
- Element element = (Element) ((NonVisualComponentEditPart)getHost()).getDOMNode();
- StringBuffer text = new StringBuffer(element.getTagName());
- return text.toString();
- }
-
- private void addMouseOverBorder()
- {
- if (_mouseOverBorder == null)
- {
- _mouseOverBorder = new RectangleFigure();
- _mouseOverBorder.setFill(false);
- _mouseOverBorder.setOutline(true);
- _mouseOverBorder.setLineWidth(1);
- _mouseOverBorder.setForegroundColor(HOVER_FEEDBACK_COLOR);
- }
-
- addFeedback(_mouseOverBorder);
-
- IFigure hostFigure = getHostFigure();
- Rectangle r = hostFigure.getBounds().getCopy().expand(1, 1);
- hostFigure.translateToAbsolute(r);
- _mouseOverBorder.translateToRelative(r);
-
- _mouseOverBorder.setBounds(r);
- }
-
- /**
- *
- */
- private void removeMouseOverBorder()
- {
- if (_mouseOverBorder != null) {
- removeFeedback(_mouseOverBorder);
- _mouseOverBorder = null;
- }
- }
-
- protected List createSelectionHandles() {
-// return super.createSelectionHandles();
- return Collections.EMPTY_LIST;
- }
-
- /**
- *
- */
- private void removeToolTipLabel()
- {
- if (_toolTip != null) {
- removeFeedback(_toolTip);
- _toolTip = null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PDEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PDEditPolicy.java
deleted file mode 100644
index 72e76d63e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PDEditPolicy.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-/**
- * @author mengbo
- */
-public interface PDEditPolicy {
- /**
- * the edit policy for PD Drop
- */
- String PDDROP_ROLE = "PDDropEditPolicy"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PolicyHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PolicyHelper.java
deleted file mode 100644
index 79b8f7fc8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/PolicyHelper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class PolicyHelper {
- private static Logger _log = PDPlugin.getLogger(PolicyHelper.class);
-
- /**
- * @param part
- * @return the current viewer's status line manager or null
- */
- public static IStatusLineManager getStatusLineManager(EditPart part) {
- EditPartViewer v = part.getViewer();
- if (v instanceof IHTMLGraphicalViewer) {
- IHTMLGraphicalViewer htmlviewer = (IHTMLGraphicalViewer) v;
- IStatusLineManager m = htmlviewer.getStatusLineManager();
- if (m == null) {
- _log.info("Warn.PolicyHelper.0", (String) null); //$NON-NLS-1$
- }
- return m;
- }
- _log.info("Warn.PolicyHelper.1", (String)null); //$NON-NLS-1$
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEdit.java
deleted file mode 100644
index 5b8748581..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEdit.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreator;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.AbstractDropCustomizer;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.IDropCustomizer;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.w3c.dom.Element;
-
-/**
- * <p><b>Provisional API - subject to change</b></p>
- * @author mengbo
- * @version 1.5
- */
-// TODO: should this be abstract?
-public class AbstractElementEdit implements IElementEdit {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#createEditPolicies(org.eclipse.jst.pagedesigner.parts.ElementEditPart)
- */
- public void createEditPolicies(ElementEditPart part) {
- // do nothing; sub-classes should override to add edit policies a part
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#handleModelChange(org.w3c.dom.Element,
- * org.eclipse.jst.pagedesigner.parts.ElementEditPart)
- */
- public boolean handleModelChange(Element ele, ElementEditPart part,
- boolean recursive) {
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager,
- * org.w3c.dom.Element)
- */
- public void fillContextMenu(IMenuManager contextMenu, Element ele) {
- // default do nothing, child class could override.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContainerContextMenu(org.eclipse.jface.action.IMenuManager,
- * org.eclipse.jst.pagedesigner.parts.ElementEditPart,
- * org.eclipse.jst.pagedesigner.parts.NodeEditPart,
- * org.eclipse.jface.viewers.ISelection)
- */
- public boolean fillContainerContextMenu(IMenuManager contextMenu,
- ElementEditPart elePart, NodeEditPart nodePart,
- ISelection innerSelection) {
- return false;
- }
-
- /**
- * Child class should override this method if they have different way for
- * resizing. e.g. DataWindow use "width/height" attribute, not "style".
- * Also, the default ResizeCommand will adjust "style", so if child class
- * override this method, they should also use different command.
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy#getResizeCommand(org.eclipse.gef.requests.ChangeBoundsRequest)
- */
- public boolean isResizable(Element ele) {
- CMElementDeclaration decl = CMUtil.getElementDeclaration(ele);
- if (decl != null) {
- // XXX: default implementation, if this element support "style"
- // attribute,
- // then we think it support resize.
- return decl.getAttributes().getNamedItem("style") != null; //$NON-NLS-1$
- }
- return true;
- }
-
- /**
- * By default, return null to signal caller should use its default strategy
- */
- public IDropLocationStrategy getDropRequestorLocationStrategy(TagIdentifier tag, EditPartViewer viewer) {
- return null;
- }
-
- private final static IDropCustomizer DEFAULT_DROP_CUSTOMIZER =
- new AbstractDropCustomizer(){/* do nothing; use defaults */};
-
- /** (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#getDropCustomizer(org.eclipse.jst.jsf.common.dom.TagIdentifier)
- * @deprecated use getDropCustomizer(IDropSourceData) instead.
- */
- public IDropCustomizer getDropCustomizer(TagIdentifier tagId)
- {
- return DEFAULT_DROP_CUSTOMIZER;
- }
-
- public IDropCustomizer getDropCustomizer(IDropSourceData dropSourceData)
- {
- if (dropSourceData instanceof ITagDropSourceData)
- {
- final String uri = ((ITagDropSourceData)dropSourceData).getNamespace();
- final String tagName = ((ITagDropSourceData)dropSourceData).getTagName();
- final TagIdentifier tagId = TagIdentifierFactory.createJSPTagWrapper(uri, tagName);
- return getDropCustomizer(tagId);
- }
- return DEFAULT_DROP_CUSTOMIZER;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#getTagCreator(org.eclipse.jst.jsf.common.dom.TagIdentifier)
- */
- public ITagCreator getTagCreator(TagIdentifier tagId)
- {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEditFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEditFactory.java
deleted file mode 100644
index b7e42a5b9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/AbstractElementEditFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-/**
- * @author cbateman
- *
- */
-public abstract class AbstractElementEditFactory implements IElementEditFactory
-{
- private String _supportedUri;
-
- /**
- * @param uri
- */
- protected AbstractElementEditFactory(final String uri)
- {
- _supportedUri = uri;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory#createElementEdit(org.eclipse.jst.jsf.common.dom.TagIdentifier)
- */
- public abstract IElementEdit createElementEdit(TagIdentifier tag);
-
- public String getSupportedURI()
- {
- return _supportedUri;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFacRegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFacRegistryReader.java
deleted file mode 100644
index d4162baf4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFacRegistryReader.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.PageDesignerTraceOptions;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ElementEditFacRegistryReader {
- private static List<IElementEditFactory> _handlers = null;
-
- /**
- * @return all available handers for the ext-pt. List is not
- * modifiable
- */
- public static synchronized List<IElementEditFactory> getAllHandlers() {
- if (_handlers == null) {
- _handlers = readAllHandlers();
- }
- return Collections.unmodifiableList(_handlers);
- }
-
- private static List<IElementEditFactory> readAllHandlers()
- {
- List<IElementEditFactory> result = new ArrayList<IElementEditFactory>();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++)
- {
- IExtension ext = extensions[i];
- IConfigurationElement[] elementEditElement = ext
- .getConfigurationElements();
-
- for (int j = 0; j < elementEditElement.length; j++)
- {
- final IConfigurationElement element = elementEditElement[j];
- if (element.getName().equals(
- IJMTConstants.ELEMENT_EDIT_FACTORY))
- {
- elementEditElement[j].getAttribute("class"); //$NON-NLS-1$
- Object obj;
- try
- {
- obj = elementEditElement[j]
- .createExecutableExtension("class"); //$NON-NLS-1$
-
- // TODO: we need a policy based solution here,
- // but this will do for now
- if (obj instanceof IElementEditFactory)
- {
- if (element.getContributor().getName().startsWith("org.eclipse.jst")) //$NON-NLS-1$
- {
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITLOAD)
- {
- PageDesignerTraceOptions.log("ElementEditFacRegistryReader: Appending to list:"+obj.getClass().getName()); //$NON-NLS-1$
- }
- // push JSF tools provided ones to the end
- result.add((IElementEditFactory) obj);
- }
- // prepend if something outside JSF tools declared it
- else
- {
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITLOAD)
- {
- PageDesignerTraceOptions.log("ElementEditFacRegistryReader: Prepending to list:"+obj.getClass().getName()); //$NON-NLS-1$
- }
- // this way, adopters can put their overrides
- // of factories with built-in support like
- // JSF HTML/CORE will be used first
- result.add(0, (IElementEditFactory) obj);
- }
- }
- } catch (CoreException e)
- {
- PDPlugin.log("Problem loading element edit extension for "+element.toString(), e); //$NON-NLS-1$
- }
- }
- }
- }
-
-
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITLOAD)
- {
- PageDesignerTraceOptions.log("\nFinal elementEditFactory list in order:"); //$NON-NLS-1$
- for (final IElementEditFactory factory : result)
- {
- PageDesignerTraceOptions.log(factory.getClass().getName());
- }
- PageDesignerTraceOptions.log("\n"); //$NON-NLS-1$
- }
-
- return result;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFactoryRegistry.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFactoryRegistry.java
deleted file mode 100644
index 0b8f51307..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/ElementEditFactoryRegistry.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.PageDesignerTraceOptions;
-import org.eclipse.jst.pagedesigner.elementedit.html.HTMLElementEditFactory;
-import org.eclipse.jst.pagedesigner.elementedit.jsp.JSPElementEditFactory;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ElementEditFactoryRegistry
-{
- List _factories = new ArrayList();
-
- private static ElementEditFactoryRegistry _instance;
-
- /**
- *
- */
- private ElementEditFactoryRegistry()
- {
- final List<IElementEditFactory> facs = ElementEditFacRegistryReader
- .getAllHandlers();
-
- if (facs != null)
- {
- for (final IElementEditFactory fac : facs)
- {
- addFactory(fac);
- }
- }
- addFactory(new HTMLElementEditFactory());
- addFactory(new JSPElementEditFactory());
- }
-
- /**
- * Add a factory to list available.
- *
- * @param fac
- */
- public void addFactory(final IElementEditFactory fac)
- {
- _factories.add(fac);
- }
-
- /**
- * @param tagIdentifier
- * @return an IElementEdit constructed for the tag uniquely identified by
- * the ns uri (tag uri for JSP tags) and tagName (element name) or
- * null if the system can't create one.
- */
- public IElementEdit createElementEdit(final TagIdentifier tagIdentifier)
- {
- final String uri = tagIdentifier.getUri();
-
- // first round, match uri
- for (int i = 0, size = _factories.size(); i < size; i++)
- {
- final IElementEditFactory fac = (IElementEditFactory) _factories.get(i);
- final String facuri = fac.getSupportedURI();
- if (facuri != null && facuri.equalsIgnoreCase(uri))
- {
- final IElementEdit elementEdit = fac.createElementEdit(tagIdentifier);
- if (elementEdit != null)
- {
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITSELECTION)
- {
- PageDesignerTraceOptions.log("ElementEditFactoryRegistry: first loop, "+ //$NON-NLS-1$
- String.format("Selected %s for uri=%s, tagname=%s", elementEdit.getClass().getName(),uri, tagIdentifier.getTagName())); //$NON-NLS-1$
- }
- return elementEdit;
- }
- }
- }
- // second round
- for (int i = 0, size = _factories.size(); i < size; i++)
- {
- final IElementEditFactory fac = (IElementEditFactory) _factories.get(i);
- final String facuri = fac.getSupportedURI();
- if (facuri == null)
- {
- final IElementEdit elementEdit = fac.createElementEdit(tagIdentifier);
- if (elementEdit != null)
- {
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITSELECTION)
- {
- PageDesignerTraceOptions.log("ElementEditFactoryRegistry: second loop, "+ //$NON-NLS-1$
- String.format("Selected %s for uri=%s, tagname=%s", elementEdit.getClass().getName(),uri, tagIdentifier.getTagName())); //$NON-NLS-1$
- }
- return elementEdit;
- }
- }
- }
-
- if (PageDesignerTraceOptions.TRACE_ELEMENTEDITSELECTION)
- {
- PageDesignerTraceOptions.log("ElementEditFactoryRegistry: no element edit found, returning null for "+ //$NON-NLS-1$
- String.format("uri=%s, name=%s", tagIdentifier.getUri(), tagIdentifier.getTagName())); //$NON-NLS-1$
- }
-
- return null;
- }
-
- /**
- * Convenience method for createElementEdit(uri, tagName) that takes a tag
- * element.
- *
- * @param ele
- * @return an element edit
- */
- public IElementEdit createElementEdit(final Element ele)
- {
- final TagIdentifier tagIdentifier = TagIdentifierFactory
- .createDocumentTagWrapper(ele);
- return createElementEdit(tagIdentifier);
- }
-
- /**
- * @return the single instance of the factory registry
- */
- public synchronized static ElementEditFactoryRegistry getInstance()
- {
- if (_instance == null)
- {
- _instance = new ElementEditFactoryRegistry();
- }
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEdit.java
deleted file mode 100644
index 7a8e12f5a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEdit.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreator;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.IDropCustomizer;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-import org.w3c.dom.Element;
-
-/**
- * IElementEdit support additional edit support to an element.
- *
- * This interface should not be extended by clients. Extend AbstractElementEdit
- * instead.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author mengbo
- * @version 1.5
- */
-public interface IElementEdit
-{
- /**
- * override default edit policies on part
- * @param part
- */
- public void createEditPolicies(ElementEditPart part);
-
- /**
- * The element (or its decendent) changed.
- *
- * @param ele
- * @param part
- * @param recursive
- * @return handle model changes on part.
- */
- public boolean handleModelChange(Element ele, ElementEditPart part,
- boolean recursive);
-
- /**
- * Add special menu items for the particular element to the context menu.
- *
- * @param contextMenu
- * @param ele
- */
- public void fillContextMenu(IMenuManager contextMenu, Element ele);
-
- /**
- * This method is called when current selection is inside "ele". And this
- * method should fill in menu items relating to the "ele" context and the
- * current "innerSelection". For example, this "ele" could be a table,
- * "innerSelection" could be something inside a cell. Then could fill in
- * actions relating to the table and the cell, such as "add row before",
- * "delete current column", etc.
- *
- * @param contextMenu
- * @param elePart
- * the elementeditpart corresponding to this ElementEdit
- * @param nodePart
- * the smallest part covers the current selection. nodePart will
- * always be a decedent of the elePart.
- * @param innerSelection
- * the selection
- * @return true if added actions.
- */
- public boolean fillContainerContextMenu(IMenuManager contextMenu,
- ElementEditPart elePart, NodeEditPart nodePart,
- ISelection innerSelection);
-
- /**
- * whether the corresponding element support resize. If it does, then the
- * corresponding policy installed through <code>createEditPolicies</code>
- * should handle resize.
- * @param ele
- *
- * @return true if ele has resize support
- */
- public boolean isResizable(Element ele);
-
- /**
- * @param tag the element to return a drop location strategy for.
- * This is the requesting element (being dropped), not the drop target
- *
- * @param viewer is the viewer where the new strategy will optionally
- * add feedback
- *
- * @return the strategy to be used to use to find a drop location when
- * the corresponding element is being dropped (the source part). May
- * be null signalling that the caller should use its default strategy.
- *
- */
- public IDropLocationStrategy getDropRequestorLocationStrategy(TagIdentifier tag, EditPartViewer viewer);
-
- /**
- * @param tagId
- * @return the drop customizer for this edit's element. May return null.
- * Returning null and returning a IDropCustomizer whose runCustomizer always returns
- * OK and getDropCustomizationData always returns null will be considered
- * equivalent by the framework.
- * @deprecated use getDropCustomizer(IDropSourceData) instead
- */
- public IDropCustomizer getDropCustomizer(TagIdentifier tagId);
-
- /**
- * @param dropSourceData
- * @return the drop customizer for the drop source data or null if none.
- */
- public IDropCustomizer getDropCustomizer(final IDropSourceData dropSourceData);
-
- /**
- * @param tagId
- * @return a tag creator for the indicated tag or null to indicate that the
- * system should use it's default tag creator
- */
- public ITagCreator getTagCreator(TagIdentifier tagId);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEditFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEditFactory.java
deleted file mode 100644
index 052275a3b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/IElementEditFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-
-/**
- * @author mengbo
- * @version 1.5
- *
- * Clients should not implement this interface. Extend AbstractElementEditFactory instead.
- */
-public interface IElementEditFactory {
- /**
- *
- * @param tag
- * @return null if this factory don't support this element
- */
- public IElementEdit createElementEdit(TagIdentifier tag);
-
- /**
- * get the URI namespace that this factory support. "null" means this
- * factory can be used as default factory.
- *
- * @return null if this factory don't have a specific URI to support.
- */
- public String getSupportedURI();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HTMLElementEditFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HTMLElementEditFactory.java
deleted file mode 100644
index f4804c13d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HTMLElementEditFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.html;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class HTMLElementEditFactory implements IElementEditFactory
-{
- final static TagIdentifier HTMLTABLE_TAG_IDENTIFIER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_HTML, IHTMLConstants.TAG_TABLE);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory#createElementEdit(org.w3c.dom.Element)
- */
- public IElementEdit createElementEdit(TagIdentifier tagIdentifier) {
- if (HTMLTABLE_TAG_IDENTIFIER.isSameTagType(tagIdentifier)) {
- return new TableElementEdit();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory#getSupportedURI()
- */
- public String getSupportedURI() {
- return ITLDConstants.URI_HTML;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/TableElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/TableElementEdit.java
deleted file mode 100644
index a2d605c8a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/TableElementEdit.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.html;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuListener;
-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.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.actions.single.SelectEditPartAction;
-import org.eclipse.jst.pagedesigner.commands.html.TableDeleteColumnCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableDeleteHeaderFooterCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableDeleteRowCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableInsertColumnCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableInsertHeaderFooterCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableInsertRowCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableResizeColumnCommand;
-import org.eclipse.jst.pagedesigner.commands.html.TableResizeRowCommand;
-import org.eclipse.jst.pagedesigner.dom.html.TableChildElementPosition;
-import org.eclipse.jst.pagedesigner.dom.html.TableUtil;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.tableedit.DeleteHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.tableedit.DeleteHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.tableedit.DeleteRowColumnAction;
-import org.eclipse.jst.pagedesigner.tableedit.InsertHeaderFooterAction;
-import org.eclipse.jst.pagedesigner.tableedit.InsertHeaderFooterRequest;
-import org.eclipse.jst.pagedesigner.tableedit.InsertRowColumnAction;
-import org.eclipse.jst.pagedesigner.tableedit.TableInsertRequest;
-import org.eclipse.jst.pagedesigner.tableedit.TableResizableEditPolicy;
-import org.eclipse.jst.pagedesigner.tableedit.TableResizeRequest;
-import org.eclipse.jst.pagedesigner.tableedit.TableRowColumnDeleteRequest;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableElementEdit extends AbstractElementEdit {
-
- private final static Action action = new Action() {
- // TODO: what's this for?
- };
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager,
- * org.w3c.dom.Element)
- */
- public void fillContextMenu(IMenuManager contextMenu, Element ele) {
-
- final ElementEditPart tablePart =
- (ElementEditPart) ((IDOMElement) ele).getAdapterFor(EditPart.class);
-
- final Element table = (Element) tablePart.getModel();
-
- final TableChildElementPosition position = new TableUtil(table).getPosition((Node)null);
- final int cellRow = position.getRowIndex();
- final int cellColumn = position.getColumnIndex();
-
- final IMenuManager tableMenu =
- new MenuManager(PDPlugin.getResourceString("ElementEdit.Submenu.Table")); //$NON-NLS-1$
- tableMenu.add(action);
- tableMenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- tableMenu.removeAll();
- fillTableMenu(tablePart, cellRow, cellColumn, tableMenu);
- }
- });
-
- contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, tableMenu);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit#fillContainerContextMenu(org.eclipse.jface.action.IMenuManager,
- * org.eclipse.jst.pagedesigner.parts.ElementEditPart,
- * org.eclipse.jst.pagedesigner.parts.NodeEditPart,
- * org.eclipse.jface.viewers.ISelection)
- */
- public boolean fillContainerContextMenu(
- IMenuManager contextMenu,
- final ElementEditPart tablePart,
- NodeEditPart nodePart,
- ISelection innerSelection) {
-
- super.fillContainerContextMenu(contextMenu, tablePart, nodePart, innerSelection);
-
- final Element table = (Element) tablePart.getModel();
- final Node node = (Node) nodePart.getModel();
-
- final TableChildElementPosition position = new TableUtil(table).getPosition(node);
- final int cellRow = position.getRowIndex();
- final int cellColumn = position.getColumnIndex();
-
- final IMenuManager tableMenu =
- new MenuManager(PDPlugin.getResourceString("ElementEdit.Submenu.Table")); //$NON-NLS-1$
- tableMenu.add(action);
- tableMenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- tableMenu.removeAll();
- fillTableMenu(tablePart, cellRow, cellColumn, tableMenu);
- }
- });
-
- contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_CONTAINER, tableMenu);
- return true;
- }
-
- /**
- * @param tablePart
- * @param cellRow
- * @param cellColumn
- * @param tableMenu
- */
- private void fillTableMenu(ElementEditPart tablePart, int cellRow,
- int cellColumn, IMenuManager tableMenu) {
- SelectEditPartAction action1 = SelectEditPartAction.create(
- PDPlugin.getResourceString("ElementEdit.Submenu.SelectTable"), tablePart);//$NON-NLS-1$
- tableMenu.add(action1);
-
- tableMenu.add(new Separator());
-
- {
- InsertRowColumnAction insertRowBeforeAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertRowBefore"),//$NON-NLS-1$
- tablePart, cellRow, true, true);
- tableMenu.add(insertRowBeforeAction);
-
- InsertRowColumnAction insertRowAfterAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertRowAfter"),//$NON-NLS-1$
- tablePart, cellRow, true, false);
- tableMenu.add(insertRowAfterAction);
-
- tableMenu.add(new Separator());
- }
-
- {
- InsertRowColumnAction insertColumnBeforeAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertColumnBefore"),//$NON-NLS-1$
- tablePart, cellColumn, false, true);
- tableMenu.add(insertColumnBeforeAction);
-
- InsertRowColumnAction insertColumnAfterAction = new InsertRowColumnAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertColumnAfter"),//$NON-NLS-1$
- tablePart, cellColumn, false, false);
- tableMenu.add(insertColumnAfterAction);
-
- tableMenu.add(new Separator());
- }
-
- {
- DeleteRowColumnAction deleteRowAction = new DeleteRowColumnAction(
- PDPlugin.getResourceString("ElementEdit.Submenu.DeleteRow"),//$NON-NLS-1$
- tablePart, cellRow, true);
- tableMenu.add(deleteRowAction);
-
- DeleteRowColumnAction deleteColumnAction = new DeleteRowColumnAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.DeleteColumn"),//$NON-NLS-1$
- tablePart, cellColumn, false);
- tableMenu.add(deleteColumnAction);
- tableMenu.add(new Separator());
- }
-
- {
- InsertHeaderFooterAction headerAction = new InsertHeaderFooterAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertHeader"), tablePart, true);//$NON-NLS-1$
- tableMenu.add(headerAction);
- InsertHeaderFooterAction footerAction = new InsertHeaderFooterAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.InsertFooter"), tablePart, false);//$NON-NLS-1$
- tableMenu.add(footerAction);
- DeleteHeaderFooterAction delHeaderAction = new DeleteHeaderFooterAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.DeleteHeader"), tablePart, true);//$NON-NLS-1$
- tableMenu.add(delHeaderAction);
- DeleteHeaderFooterAction delFooterAction = new DeleteHeaderFooterAction(
- PDPlugin
- .getResourceString("ElementEdit.Submenu.DeleteFooter"), tablePart, false);//$NON-NLS-1$
- tableMenu.add(delFooterAction);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#createEditPolicies(org.eclipse.jst.pagedesigner.parts.ElementEditPart)
- */
- public void createEditPolicies(ElementEditPart part) {
- part.installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE,
- new TableResizePolicy(part));
- }
-
- static class TableResizePolicy extends TableResizableEditPolicy {
- ElementEditPart _part;
-
- /**
- * @param part
- */
- public TableResizePolicy(ElementEditPart part) {
- _part = part;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request) {
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) _part
- .getViewer();
- Element table = (Element) _part.getIDOMNode();
- if (request instanceof TableResizeRequest) {
- TableResizeRequest trq = (TableResizeRequest) request;
- if (trq.isRow()) {
- return new TableResizeRowCommand(viewer, table, trq
- .getIndex(), trq.getDelta());
- }
- return new TableResizeColumnCommand(viewer, table, trq
- .getIndex(), trq.getDelta());
- } else if (request instanceof TableInsertRequest) {
- TableInsertRequest tableInsertRequest = (TableInsertRequest) request;
- int index = tableInsertRequest.getIndex()
- + (tableInsertRequest.isBefore() ? 0 : 1);
- if (tableInsertRequest.isRow()) {
- return new TableInsertRowCommand(viewer, table, index,
- tableInsertRequest.isBefore());
- }
- return new TableInsertColumnCommand(viewer, table, index);
- } else if (request instanceof TableRowColumnDeleteRequest) {
- TableRowColumnDeleteRequest deleteReq = (TableRowColumnDeleteRequest) request;
- if (deleteReq.isRow()) {
- return new TableDeleteRowCommand(viewer, table, deleteReq
- .getIndex());
- }
- return new TableDeleteColumnCommand(viewer, table,
- deleteReq.getIndex());
- } else if (request instanceof InsertHeaderFooterRequest) {
- InsertHeaderFooterRequest hfRequest = (InsertHeaderFooterRequest) request;
- return new TableInsertHeaderFooterCommand(viewer, table,
- hfRequest.isHeader());
- } else if (request instanceof DeleteHeaderFooterRequest) {
- DeleteHeaderFooterRequest hfRequest = (DeleteHeaderFooterRequest) request;
- return new TableDeleteHeaderFooterCommand(viewer, table,
- hfRequest.isHeader());
- }
- return super.getCommand(request);
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/JSPElementEditFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/JSPElementEditFactory.java
deleted file mode 100644
index 9dc4f9e5b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/JSPElementEditFactory.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.jsp;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class JSPElementEditFactory implements IElementEditFactory
-{
- final static TagIdentifier TAG_DIRECTIVE_TAGLIB_TAG_IDENTIFIER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_JSP, IJSPCoreConstants.TAG_DIRECTIVE_TAGLIB);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory#createElementEdit(org.w3c.dom.Element)
- */
- public IElementEdit createElementEdit(TagIdentifier tagIdentifier) {
- if (TAG_DIRECTIVE_TAGLIB_TAG_IDENTIFIER.isSameTagType(tagIdentifier)) {
- return new TaglibElementEdit();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEditFactory#getSupportedURI()
- */
- public String getSupportedURI() {
- return ITLDConstants.URI_JSP;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibElementEdit.java
deleted file mode 100644
index 9c8288013..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibElementEdit.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.jsp;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TaglibElementEdit extends AbstractElementEdit {
- private TaglibURIAction action;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager,
- * org.w3c.dom.Element)
- */
- public void fillContextMenu(IMenuManager contextMenu, Element ele) {
- super.fillContextMenu(contextMenu, ele);
-
- TaglibURIAction action1 = getAction();
-
- action1.setURI(ele.getAttribute(ICSSPropertyID.ATTR_URI));
-
- action1.setElement(ele);
-
- contextMenu.appendToGroup(PageDesignerActionConstants.GROUP_SPECIAL,
- action1);
- }
-
- private TaglibURIAction getAction() {
- if (action == null) {
- action = new TaglibURIAction();
- }
- return action;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibURIAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibURIAction.java
deleted file mode 100644
index eefc1b332..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/jsp/TaglibURIAction.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.jsp;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TaglibURIAction extends Action {
- private String URI;
-
- private Element element;
-
- /**
- * Default constructor
- */
- public TaglibURIAction() {
- setText(PDPlugin.getResourceString("ElementEdit.Submenu.Taglib"));//$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- if (element == null || URI == null || "".equals(URI))//$NON-NLS-1$
- {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- String fileName = getResolvedURL(getElement(), URI);
-
- if (fileName != null && fileName.length() > 0) {
- IPath includedPath = new Path(fileName);
- includedPath.makeAbsolute();
-
- IFile file = getFile(includedPath);
- if (file != null && file.exists()) {
- try {
- IDE.openEditor(getPage(), file);
- return;
- } catch (PartInitException e) {
- PDPlugin.getAlerts().warning(
- "Message.Warning.Title", e.getLocalizedMessage());//$NON-NLS-1$
- }
- }
- }
- PDPlugin.getAlerts().warning(
- "Message.Warning.Title", "Taglib.OpenFile.ERROR");//$NON-NLS-1$ //$NON-NLS-2$
- }
-
- private IWorkbenchPage getPage() {
- IWorkbench workbench = PlatformUI.getWorkbench();
- IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
- return window.getActivePage();
- }
-
- /**
- * @param uri
- */
- public void setURI(String uri) {
- this.URI = uri;
- }
-
- private IFile getFile(IPath includedPath) {
- IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
- IProject[] projects = workspaceRoot.getProjects();
-
- for (int i = 0, length = projects.length; i < length; i++) {
- IPath path = projects[i].getLocation();
- path = path.makeAbsolute();
- if (path != null && path.isPrefixOf(includedPath)) {
- // -1 so we still have the project path
- includedPath = includedPath.removeFirstSegments(path
- .segmentCount() - 1);
- return ResourcesPlugin.getWorkspace().getRoot().getFile(
- includedPath);
- }
- }
- return null;
- }
-
- private String getResolvedURL(Element element_, String attrName) {
- URIResolver resolver = null;
- if (element_ instanceof IDOMNode) {
- resolver = ((IDOMNode) element_).getModel().getResolver();
- }
- if (null == resolver) {
- return null;
- }
- String src = URI;
- if (src != null && src.length() > 0) {
- return resolver.getLocationByURI(src);
- }
- return null;
- }
-
- /**
- * @return Returns the element.
- */
- public Element getElement() {
- return element;
- }
-
- /**
- * @param element
- * The element to set.
- */
- public void setElement(Element element) {
- this.element = element;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/IContextMenuItemContributor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/IContextMenuItemContributor.java
deleted file mode 100644
index 83bd334f2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/IContextMenuItemContributor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.extensionpoint;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-
-/**
- * @author mengbo
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-
-public interface IContextMenuItemContributor {
- /**
- * @param uri
- */
- void setURI(String uri);
-
- /**
- * @return the uri
- */
- String getURI();
-
- /**
- * @param manager
- * @param selection
- * @param model
- * @param parentUI
- */
- void fillContextMenu(IMenuManager manager, ISelection selection,
- IStructuredModel model, Control parentUI);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/package-info.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/package-info.java
deleted file mode 100644
index 547f3b35c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/extensionpoint/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-
-/**
- * Web Page Editor Extension Point Interfaces.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-package org.eclipse.jst.pagedesigner.extensionpoint;
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/AbstractFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/AbstractFigureHandler.java
deleted file mode 100644
index 06090c399..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/AbstractFigureHandler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class AbstractFigureHandler implements IFigureHandler {
- private CSSFigure _figure;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return (type == IFigureHandler.class);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // TODO: anything?
- }
-
- /**
- * @param node
- * @return the css style on the node
- */
- protected ICSSStyle getCSSStyle(Element node) {
- ICSSStyle style = null;
- if (node instanceof IDOMElement) {
- style = (ICSSStyle) ((IDOMElement) node)
- .getAdapterFor(ICSSStyle.class);
- }
- if (style == null) {
- style = DefaultStyle.getInstance();
- }
-
- return style;
- }
-
- /**
- * @param oldFigure
- */
- protected void setCurrentFigure(CSSFigure oldFigure) {
- this._figure = oldFigure;
- }
-
- public CSSFigure getFigure() {
- return this._figure;
- }
-
- /**
- * child class could override this method
- */
- public void dispose() {
- // TODO: anything to dispose?
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/BRFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/BRFigureHandler.java
deleted file mode 100644
index ff32c7220..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/BRFigureHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.layout.CSSBrFlowLayout;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSLayout;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class BRFigureHandler extends AbstractFigureHandler {
- /**
- * @param figure
- * @return the CSS layout for fixed layout
- */
- protected CSSLayout getFixedCSSLayout(CSSFigure figure) {
- return new CSSBrFlowLayout(figure);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.figurehandler.IFigureHandler#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-
- public void updateFigure(Element node, CSSFigure oldFigure) {
- oldFigure.setCSSStyle(getCSSStyle(node));
- oldFigure.setFixedLayoutManager(getFixedCSSLayout(oldFigure));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/DefaultFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/DefaultFigureHandler.java
deleted file mode 100644
index 82cc075dc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/DefaultFigureHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DefaultFigureHandler extends AbstractFigureHandler {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.figurehandler.IFigureHandler#updateFigure(org.w3c.dom.Element,
- * org.eclipse.jst.pagedesigner.css2.layout.CSSFigure)
- */
- public void updateFigure(Element node, CSSFigure oldFigure) {
- setCurrentFigure(oldFigure);
- ICSSStyle style = getCSSStyle(node);
- oldFigure.setCSSStyle(style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.figurehandler.IFigureHandler#isWidget()
- */
- public boolean isWidget() {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/FigureFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/FigureFactory.java
deleted file mode 100644
index f061e116a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/FigureFactory.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory2;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSTextFigure;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider;
-import org.eclipse.jst.pagedesigner.editors.palette.TagImageManager;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public final class FigureFactory
-{
- /**
- * @param figure
- * @param node
- */
- private static void createFigureDeep(IFigure parentFigure, final Node node) {
- if (node instanceof Element) {
- IFigureHandler handler = createAndAdapt((Element) node);
- if (handler instanceof HiddenFigureHandler) {
- // for deep hidden element, we don't create figure for them.
- // this will remove the small <> icon for data window.
- return;
- }
- CSSFigure figure = new CSSFigure();
- handler.updateFigure((Element) node, figure);
- // IFigure figure = handler.createFigure((Element) node);
- parentFigure.add(figure);
- if (!handler.isWidget()) {
- NodeList children = node.getChildNodes();
-
- for (int i = 0, size = children.getLength(); i < size; i++) {
- createFigureDeep(figure, children.item(i));
- }
- }
- } else if (node instanceof Text) {
- final String data = HTMLUtil.compactWhitespaces((Text) node, node
- .getNodeValue());
- // XXX: seemed there is some bug in handling whitespace (unnecessary
- // take additional space)
- // so skip it here.
- if (data.trim().length() == 0) {
- return;
- }
- // XXX: currently creating of CSSTextFigure is distributed both here
- // and TextEditPart. We may want to unify them later.
- CSSTextFigure figure = new CSSTextFigure(new ICSSTextProvider() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider#getCSSStyle()
- */
- // TODO: dead?
-// public ICSSStyle getCSSStyle() {
-// INodeNotifier notifier = (INodeNotifier) node
-// .getParentNode();
-// return (ICSSStyle) notifier.getAdapterFor(ICSSStyle.class);
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider#getTextData()
- */
- public String getTextData() {
- return data;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider#getSelectedRange()
- */
- public int[] getSelectedRange() {
- // text figure created here will not be real text in
- // original doc.
- // so don't support their selection.
- return null;
- }
- });
- parentFigure.add(figure);
- }
- }
-
- /**
- * @param ele
- * @param old
- * @param figure
- * @return the figure
- */
- public static IFigure updateDeepFigure(Element ele, Element old,
- CSSFigure figure) {
- recursiveDisposeAndUnadapt(old);
- List figureChildren = figure.getChildren();
- for (int i = figureChildren.size() - 1; i >= 0; i--) {
- figure.remove((IFigure) figureChildren.get(i));
- }
-
- IFigureHandler handler = createAndAdapt(ele);
- handler.updateFigure(ele, figure);
- if (!handler.isWidget()) {
- NodeList children = ele.getChildNodes();
- for (int i = 0, size = children.getLength(); i < size; i++) {
- createFigureDeep(figure, children.item(i));
- }
- }
- return figure;
- }
-
-
- private static void recursiveDisposeAndUnadapt(Element ele) {
- disposeAndUnadapt(ele);
- NodeList nl = ele.getChildNodes();
- for (int i = 0, size = nl.getLength(); i < size; i++) {
- Node n = nl.item(i);
- if (n instanceof Element) {
- recursiveDisposeAndUnadapt((Element) n);
- }
- }
- }
-
- private static void disposeAndUnadapt(Element ele) {
- IFigureHandler handler = getHandler(ele);
- if (handler != null) {
- handler.dispose();
- ((IDOMElement) ele).removeAdapter(handler);
- }
- }
-
- private static IFigureHandler getHandler(Element ele) {
- if (ele instanceof IDOMElement) {
- IDOMElement xmlele = (IDOMElement) ele;
- return (IFigureHandler) xmlele.getAdapterFor(IFigureHandler.class);
- }
- return null;
- }
-
- private static IFigureHandler createAndAdapt(Element ele) {
- IFigureHandler handler = createFigureHandler(ele);
- if (ele instanceof IDOMElement) {
- ((IDOMElement) ele).addAdapter(handler);
- }
- return handler;
- }
-
- private static IFigureHandler createFigureHandler(Element ele) {
- String tag = ele.getTagName();
- if ("input".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new InputFigureHandler();
- } else if ("select".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new SelectFigureHandler();
- } else if ("img".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new ImgFigureHandler();
- } else if ("object".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new ObjectFigureHandler();
- } else if ("textarea".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new TextareaFigureHandler();
- } else if ("br".equalsIgnoreCase(tag)) { //$NON-NLS-1$
- return new BRFigureHandler();
- } else if (!HTMLUtil.isVisualHtmlElement(tag)) {
- return new HiddenFigureHandler(getSharedHTMLImage(ele));
- } else {
- return new DefaultFigureHandler();
- }
- }
-
- /**
- * @param tag
- * @return
- */
- private static Image getSharedHTMLImage(Element element) {
- Image image = null;
-
- IStructuredDocumentContext context = IStructuredDocumentContextFactory2.INSTANCE.getContext(element);
- if (context != null){
- IWorkspaceContextResolver wsResolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- if (wsResolver != null){
- image = TagImageManager.getInstance().getSmallIconImage(wsResolver.getProject(),"HTML", element.getLocalName()); //$NON-NLS-1$
- }
- }
- return image != null ? image : JSFUICommonPlugin.getDefault().getImage(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
- }
-
- private FigureFactory()
- {
- // no external instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/HiddenFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/HiddenFigureHandler.java
deleted file mode 100644
index 4a253cdf8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/HiddenFigureHandler.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.jst.pagedesigner.css2.widget.ImageWidgetProvider;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class HiddenFigureHandler extends WidgetFigureHandler {
- private Image _image;
-
- /**
- * @param image
- */
- public HiddenFigureHandler(Image image) {
- _image = image;
- }
-
- protected ICSSWidgetProvider initializeWidgetProvider(Element ele) {
- return new ImageWidgetProvider(getImage(), DefaultStyle.getInstance());
- }
-
- /**
- * @return
- */
- private Image getImage() {
- return _image;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/IFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/IFigureHandler.java
deleted file mode 100644
index 99cfe3ad3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/IFigureHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.w3c.dom.Element;
-
-/**
- * IFigureHandler is similiar to EditPart in some sence. Each IFigureHandler is
- * adapted to an HTML element node, and provide a figure for it.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface IFigureHandler extends INodeAdapter {
- /**
- * @param node
- * @param oldFigure
- */
- public void updateFigure(Element node, CSSFigure oldFigure);
-
- /**
- *
- */
- public void dispose();
-
- /**
- * @return true if the node is deemed a widget
- */
- public boolean isWidget();
-
- /**
- * @return the figure
- */
- public CSSFigure getFigure();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ImgFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ImgFigureHandler.java
deleted file mode 100644
index 920b3d32f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ImgFigureHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.ImageWidgetProvider;
-import org.eclipse.jst.pagedesigner.utils.ImageResolver;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-/*package*/ class ImgFigureHandler extends WidgetFigureHandler {
- /**
- * the image provided for a widget
- */
- protected Image _image;
-
- /**
- * child class can override this method.
- *
- * @param node
- */
- protected void initializeImage(Element node) {
- if (_image != null) {
- _image.dispose();
- }
- _image = ImageResolver.initializeImage(node, "src"); //$NON-NLS-1$
- }
-
- public void dispose() {
- if (_image != null) {
- _image.dispose();
- _image = null;
- }
- }
-
- protected ICSSWidgetProvider initializeWidgetProvider(Element ele) {
- initializeImage(ele);
- ImageWidgetProvider provider = new ImageWidgetProvider(_image,
- getCSSStyle(ele));
- return provider;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/InputFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/InputFigureHandler.java
deleted file mode 100644
index bd61ce0bd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/InputFigureHandler.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.utils.JSFSharedImages;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.ButtonWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.CheckboxWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.HiddenProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.ImageWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.InputFileWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.RadioWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.TextInputWidgetProvider;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.eclipse.jst.pagedesigner.utils.ImageResolver;
-import org.eclipse.swt.graphics.Image;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-/*package*/ class InputFigureHandler extends WidgetFigureHandler {
- private Image _image;
-
- void initializeImage(Element node) {
- if (_image != null) {
- _image.dispose();
- }
- _image = ImageResolver.initializeImage(node, "src"); //$NON-NLS-1$
- }
-
- ImageWidgetProvider getImageProvider(Element node) {
- initializeImage(node);
- ImageWidgetProvider provider = new ImageWidgetProvider(_image,
- getCSSStyle(node));
- return provider;
- }
-
- ICSSWidgetProvider getButtonProvider(Element node) {
- ButtonWidgetProvider provider = new ButtonWidgetProvider(
- getCSSStyle(node));
- provider.setValue(getButtonValue(node));
- return provider;
- }
-
- ICSSWidgetProvider getFileProvider(Element node) {
- // ICSSWidgetProvider textprovider = getTextInputProvider();
- // // XXX: should we use the defaultstyle for the button?
- // ButtonWidgetProvider browsebutton = new
- // ButtonWidgetProvider(getCSSStyle());
- // browsebutton.setValue("Browse...");
- // CompositeWidgetProvider provider = new
- // CompositeWidgetProvider(getCSSStyle(), textprovider, browsebutton,
- // false);
- // return provider;
- ICSSWidgetProvider textprovider = getTextInputProvider(node);
- // XXX: should we use the defaultstyle for the button?
- ButtonWidgetProvider browsebutton = new ButtonWidgetProvider(
- getCSSStyle(node));
- browsebutton.setValue(Messages.InputFigureHandler_Browse);
- InputFileWidgetProvider provider = new InputFileWidgetProvider(
- getCSSStyle(node), textprovider, browsebutton);
- return provider;
- }
-
- /**
- * should not return null
- *
- * @return the image
- */
- protected Image getHiddenImage() {
- return JSFUICommonPlugin.getDefault().getImage(
- JSFSharedImages.DEFAULT_PALETTE_TAG_IMG);
- }
-
- ICSSWidgetProvider getHiddenProvider(Element node) {
- return new HiddenProvider(getHiddenImage(), node);
- }
-
- ICSSWidgetProvider getPasswordProvider(Element node) {
- TextInputWidgetProvider provider = new TextInputWidgetProvider(
- getCSSStyle(node), TextInputWidgetProvider.PWD_SIZE);
- provider.setSize(getSize(node));
- provider.setValue("********"); //$NON-NLS-1$
- return provider;
- }
-
- ICSSWidgetProvider getTextInputProvider(Element node) {
- TextInputWidgetProvider provider = new TextInputWidgetProvider(
- getCSSStyle(node));
- provider.setSize(getSize(node));
- provider.setValue(getValue(node));
- return provider;
- }
-
- private int getSize(Element node) {
- String s = DOMUtil.getAttributeIgnoreCase(node, "size"); //$NON-NLS-1$
- try {
- if (s != null) {
- return Integer.parseInt(s);
- }
- } catch (NumberFormatException ex) {
- // suppress and fall-through; return 0
- }
- return 0;
- }
-
- /**
- * @return
- */
- private String getValue(Element node) {
- return DOMUtil.getAttributeIgnoreCase(node, "value"); //$NON-NLS-1$
- }
-
- private String getButtonValue(Element node) {
- String value = getValue(node);
- if (value == null) {
- String type = DOMUtil.getAttributeIgnoreCase(node,
- ICSSPropertyID.ATTR_TYPE);
- if (type.equalsIgnoreCase(ICSSPropertyID.VAL_SUBMIT)) {
- return IHTMLConstants.SUBMIT_LABEL;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_RESET)) {
- return IHTMLConstants.RESET_LABEL;
- }
- }
- return value;
- }
-
- /**
- * @return the widget provider
- */
- protected ICSSWidgetProvider initializeWidgetProvider(Element node) {
- reset();
-
- String type = DOMUtil.getAttributeIgnoreCase(node,
- ICSSPropertyID.ATTR_TYPE);
-
- if (type == null) {
- return getTextInputProvider(node);
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_SUBMIT)
- || type.equalsIgnoreCase(ICSSPropertyID.VAL_RESET)
- || type.equalsIgnoreCase(ICSSPropertyID.VAL_BUTTON)) {
- return getButtonProvider(node);
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_IMAGE)) {
- return getImageProvider(node);
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_FILE)) {
- return getFileProvider(node);
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_RADIO)) {
- RadioWidgetProvider provider = new RadioWidgetProvider(
- getCSSStyle(node));
- provider.setChecked(node.hasAttribute("checked")); //$NON-NLS-1$
- return provider;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_CHECKBOX)) {
- CheckboxWidgetProvider provider = new CheckboxWidgetProvider(
- getCSSStyle(node));
- provider.setChecked(node.hasAttribute("checked")); //$NON-NLS-1$
- return provider;
- } else if (type.equalsIgnoreCase(ICSSPropertyID.VAL_HIDDEN)) {
- return getHiddenProvider(node);
- }
- if (type.equalsIgnoreCase(ICSSPropertyID.VAL_PASSWORD)) {
- return getPasswordProvider(node);
- }
- return getTextInputProvider(node);
- }
-
- /**
- *
- */
- private void reset() {
- if (_image != null) {
- _image.dispose();
- _image = null;
- }
- }
-
- public void dispose() {
- reset();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/Messages.java
deleted file mode 100644
index 63be1085f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * String resource handler
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.figurehandler.messages"; //$NON-NLS-1$
- /**
- * see messages.properties
- */
- public static String InputFigureHandler_Browse;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ObjectFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ObjectFigureHandler.java
deleted file mode 100644
index 8dfeccdfd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ObjectFigureHandler.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.editors.palette.TagImageManager;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class ObjectFigureHandler extends ImgFigureHandler {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.figurehandler.ImgFigureHandler#initializeImage()
- */
- protected void initializeImage(Element node) {
- if (_image == null) {
- _image = TagImageManager.getInstance().getSmallIconImage(null, "HTML", node.getTagName()); //$NON-NLS-1$
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/SelectFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/SelectFigureHandler.java
deleted file mode 100644
index 6876b54dd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/SelectFigureHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import java.util.List;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.ComboWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.ListWidgetProvider;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-/*package*/ class SelectFigureHandler extends WidgetFigureHandler {
-
- /**
- * @param node
- * @return the labels
- */
- public String[] getOptionLabels(Element node) {
- List options = DOMUtil.getChildElementsByTagIgnoreCase(node,
- IHTMLConstants.TAG_OPTION);
- String[] ret = new String[options.size()];
- for (int i = 0; i < ret.length; i++) {
- Element option = (Element) options.get(i);
- ret[i] = DOMUtil.getTextElementValue(option);
- }
- return ret;
- }
-
- /**
- * @param node
- * @return the label
- */
- public String getSelectedLabels(Element node) {
- List options = DOMUtil.getChildElementsByTagIgnoreCase(node,
- IHTMLConstants.TAG_OPTION);
- String result = null;
- for (int i = 0, n = options.size(); i < n; i++) {
- Element option = (Element) options.get(i);
- if (option.hasAttribute(IHTMLConstants.ATTR_SELECTED)) {
- result = DOMUtil.getTextElementValue(option);
- }
- }
- return result;
- }
-
- /**
- * @param node
- * @return true if is multiple
- */
- private boolean isMultiple(Element node) {
- return DOMUtil
- .getAttributeIgnoreCase(node, ICSSPropertyID.VAL_MULTIPLE) != null;
- }
-
- /**
- * @return the provider
- */
- protected final ICSSWidgetProvider initializeWidgetProvider(Element node) {
- String[] labels = getOptionLabels(node);
- String rows = DOMUtil.getAttributeIgnoreCase(node,
- IHTMLConstants.ATTR_SIZE);
- int rowsInt = 0;
- try {
- if (rows != null) {
- rowsInt = Integer.parseInt(rows);
- }
- } catch (Exception ex) {
- // ignore
- }
- if (isMultiple(node) || rowsInt > 1) {
- ListWidgetProvider provider = new ListWidgetProvider(
- getCSSStyle(node));
- provider.setOptions(labels);
- provider.setRows(rowsInt);
- return provider;
- }
- ComboWidgetProvider provider = new ComboWidgetProvider(
- getCSSStyle(node));
- provider.setOptions(labels);
- provider.setSelectedLabel(getSelectedLabels(node));
- return provider;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/TextareaFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/TextareaFigureHandler.java
deleted file mode 100644
index 8905538d9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/TextareaFigureHandler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.eclipse.jst.pagedesigner.css2.widget.TextAreaWidgetProvider;
-import org.eclipse.jst.pagedesigner.utils.DOMUtil;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ class TextareaFigureHandler extends WidgetFigureHandler {
- protected ICSSWidgetProvider initializeWidgetProvider(Element node) {
- TextAreaWidgetProvider provider = new TextAreaWidgetProvider(
- getCSSStyle(node));
- String s = DOMUtil.getAttributeIgnoreCase(node, "cols"); //$NON-NLS-1$
- if (s != null) {
- try {
- provider.setColumns(Integer.parseInt(s));
- } catch (Exception ex) {
- // ignore
- }
- }
- s = DOMUtil.getAttributeIgnoreCase(node, "rows"); //$NON-NLS-1$
- if (s != null) {
- try {
- provider.setRows(Integer.parseInt(s));
- } catch (Exception ex) {
- // ignore
- }
- }
- s = DOMUtil.getTextElementValue(node);
- if (s != null) {
- provider.setValue(s);
- }
- return provider;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/WidgetFigureHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/WidgetFigureHandler.java
deleted file mode 100644
index d2a34210a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/WidgetFigureHandler.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.figurehandler;
-
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSWidgetLayout;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSWidgetProvider;
-import org.w3c.dom.Element;
-
-/**
- * A widget figure handler
- *
- */
-abstract class WidgetFigureHandler extends AbstractFigureHandler {
-
- /**
- * default constructor
- */
- public WidgetFigureHandler() {
- super();
- }
-
- public void updateFigure(Element node, CSSFigure oldFigure) {
- setCurrentFigure(oldFigure);
- ICSSWidgetProvider provider = initializeWidgetProvider(node);
- oldFigure.setCSSStyle(provider.getCSSStyle());
- oldFigure
- .setFixedLayoutManager(new CSSWidgetLayout(oldFigure, provider));
- }
-
- /**
- * @param ele
- * @return the widget provider
- */
- protected abstract ICSSWidgetProvider initializeWidgetProvider(Element ele);
-
- public boolean isWidget() {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/messages.properties
deleted file mode 100644
index 3c804bba0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-InputFigureHandler_Browse=Browse...
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreationAdvisor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreationAdvisor.java
deleted file mode 100644
index 1ccd83343..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreationAdvisor.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import java.util.Collection;
-
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ContainerCreationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand;
-import org.eclipse.jst.pagedesigner.utils.BodyHelper;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * Clients should sub-class in order to create a new ITagCreationAdvisor type,
- * however, it is preferable to extend DefaultTagCreationAdvisor where possible.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public abstract class AbstractTagCreationAdvisor implements ITagCreationAdvisor
-{
- /**
- * Information passed by the framework about the tag to be created
- * {@link CreationData}
- */
- protected final CreationData _creationData;
-
- /**
- * @param creationData
- */
- public AbstractTagCreationAdvisor(CreationData creationData)
- {
- this._creationData = creationData;
- }
-
- /**
- * @param model
- * @param tagElement
- */
- public final void applyCustomization(IDOMModel model, Element tagElement)
- {
- ElementCustomizationCommand command =
- getElementCustomizationCommand(model, tagElement);
-
- if (command != null && command.canExecute())
- {
- command.execute();
- }
- }
-
- /**
- * @param model
- * @param tagElement
- * @return the customization command
- */
- protected abstract ElementCustomizationCommand getElementCustomizationCommand(IDOMModel model, Element tagElement);
-
- /**
- * Return position for tag after all necessary containers are created.
- * If necessary containers cannot be created and do not exist for any reason,
- * implementer should return null
- * to signal that the tag creation should not occur.
- *
- * Clients may override this method to provide custom container positioning
- *
- * @param model
- * @param domPosition
- * @return position after necessary containers are created
- */
- public final IDOMPosition checkAndApplyNecessaryContainers(
- IDOMModel model, IDOMPosition domPosition)
- {
- IDOMPosition position = DOMPositionHelper.splitText(domPosition);
-
- position = BodyHelper.adjustInsertPosition
- (_creationData.getUri(), _creationData.getTagName(), position);
-
- //position = getContainerCreationCommands(position);
- ContainerCreationCommand command = getContainerCreationCommand(position);
-
- if (command != null)
- {
- command.execute();
- Collection<IDOMPosition> collection = command.getResult();
-
- if (collection.size()==1)
- {
- position = collection.iterator().next();
- }
- else
- {
- position = null;
- }
- }
-
- if (position == null) {
- // user cancelled
- return null;
- }
-
- // because the next call of getPrefix() may insert new taglib node
- // into the document, if we use the normal
- // DOMPositin which use index, maybe it will be invalidated by the
- // new taglib node. So use RefPosition here.
- return DOMPositionHelper.toDOMRefPosition(position);
- }
-
- /**
- * @param position
- * @return a command (could be CompoundCommand or chained command) that when executed
- * will add any necessary containers.
- */
- protected abstract ContainerCreationCommand getContainerCreationCommand(IDOMPosition position);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreator.java
deleted file mode 100644
index a3347811b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/AbstractTagCreator.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-
-/**
- * The abstract class from which all client ITagCreator instances
- * should be derived.
- *
- * The createTag method enforces a set of steps required by the framework
- * to create a new tag. However, it allows you to configure some of the steps
- * by providing an ITagCreationAdvisor through the doSelectCreationAdvisor.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public abstract class AbstractTagCreator implements ITagCreator
-{
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.ITagCreator#createTag(org.eclipse.jst.pagedesigner.editors.palette.TagToolPaletteEntry, org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel, org.eclipse.jst.pagedesigner.dom.IDOMPosition)
- */
- public final Element createTag(final CreationData creationData)
- {
- final ITagCreationAdvisor advisor = selectCreationAdvisor(creationData);
-
- // adjust the creation position to accommodate required containers
- final IDOMPosition position =
- advisor.checkAndApplyNecessaryContainers(creationData.getModel(), creationData.getDomPosition());
-
- if (position == null) return null;//throw exception?
-
- creationData.setAdjustedPosition(position);
-
- // create the element
- final Element ele = createElement(creationData);
- if (ele == null) return null;//throw exception?
-
- // apply tag customization
- advisor.applyCustomization(creationData.getModel(), ele);
-
- // ensure that any attributes required by the tag's definition
- // is initialized.
- // TODO: a drawback of this approach is that it leaves the tag in
- // a state where there are no error flags to tell the user something is
- // missing, but may initialize the tag with an (empty) invalid value
- //ensureRequiredAttrs(ele, creationData);
-
- addTagToContainer(position, ele);
-
- return ele;
- }
-
- private ITagCreationAdvisor selectCreationAdvisor(CreationData creationData)
- {
- ITagCreationAdvisor advisor = doSelectCreationAdvisor(creationData);
-
- // enforce that the advisor must be an AbstractTagCreationAdvisor to
- // avoid using the default (not this case also covers advisor == null)
- if (! (advisor instanceof AbstractTagCreationAdvisor))
- {
- advisor = new DefaultTagCreationAdvisor(creationData);
- }
-
- return advisor;
- }
-
- /**
- * @param creationData
- * @return a tag creation advisor or null to indicate the use of the system default
- */
- protected abstract ITagCreationAdvisor doSelectCreationAdvisor(CreationData creationData);
-
- /**
- * @param creationData
- * @return {@link Element}
- */
- protected final Element createElement(final CreationData creationData)
- {
- Element ele = creationData.getModel().getDocument().createElement(creationData.getTagName());
- if (ele == null) return null;
-
- //ugly... fix me
-
- // TODO: move this into an ensure method?
- // XXX: we are using "startsWith("directive.")" to test whether
- // should setJSPTag, this
- // maybe is not the best way. Need check whether SSE have special
- // API for it.
- if (ITLDConstants.URI_JSP.equals(creationData.getUri())
- && (ele.getLocalName().startsWith("directive.") //$NON-NLS-1$
- || "declaration".equals(ele.getLocalName()) //$NON-NLS-1$
- || "expression".equals(ele.getLocalName()) || "scriptlet" //$NON-NLS-1$ //$NON-NLS-2$
- .equals(ele.getLocalName()))) {
- // it is a jsp tag
- ((IDOMElement) ele).setJSPTag(true);
- }
-
- if (creationData.getPrefix() != null)
- {
- ele.setPrefix(creationData.getPrefix());
- }
-
- return ele;
- }
-
- /**
- * @param position
- * @param tagElement
- */
- private void addTagToContainer(final IDOMPosition position, final Element tagElement) {
- if (position == null || position.getContainerNode() == null) {
- return;
- }
-
- if (position.getNextSiblingNode() == null) {
- position.getContainerNode().appendChild(tagElement);
- } else {
- position.getContainerNode().insertBefore(tagElement,
- position.getNextSiblingNode());
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java
deleted file mode 100644
index 5669ea93b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.wst.xml.core.internal.provisional.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * Value object that wraps creation data
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public final class CreationData
-{
- private final ITagDropSourceData _creationProvider;
- private final String _prefix;
- private final IDOMPosition _domPosition;
- private final IDOMModel _model;
- private final IAdaptable _customizationData;
-
- private TagIdentifier _tagId; // = null; lazy init on creation
-
- /**
- * The tag {@link Entity} being created
- */
- private Entity _tagEntity; // = null; lazy load because derived from
- // potentially expensive meta-data search
-
- /**
- * The {@link ITaglibDomainMetaDataModelContext} for the tag creation
- */
- private final ITaglibDomainMetaDataModelContext _taglibMetaDataContext;
-
- // mutable because it may be changed from the original _domPosition
- private IDOMPosition _adjustedPosition;
-
-
- /**
- * @param creationProvider
- * @param model
- * @param domPosition
- * @param taglibMetaDataContext
- * @param customizationData
- */
- public CreationData(final ITagDropSourceData creationProvider,
- final IDOMModel model, final IDOMPosition domPosition,
- final ITaglibDomainMetaDataModelContext taglibMetaDataContext,
- final IAdaptable customizationData)
- {
- super();
- this._creationProvider = creationProvider;
- this._taglibMetaDataContext = taglibMetaDataContext;
- this._domPosition = domPosition;
- this._adjustedPosition = _domPosition;
- this._model = model;
- this._customizationData = customizationData;
- this._prefix = getPrefix(getUri(), model, getDefaultPrefix());
- }
-
- /**
- * Returns the ns prefix for the tag and also creates taglib reference if necessary
- * @param uri
- * @param model
- * @param suggested
- * @return prefix to use
- */
- protected static String getPrefix(String uri, IDOMModel model,
- String suggested) {
- // TODO: this shouldn't really add to the document
- if (uri==null || ITLDConstants.URI_HTML.equalsIgnoreCase(uri)
- || ITLDConstants.URI_JSP.equalsIgnoreCase(uri)
- || CMDocType.JSP11_DOC_TYPE.equalsIgnoreCase(uri)) {
- return null;
- }
-
- // now handles custom tag lib
- return JSPUtil.getOrCreatePrefix(model, uri, suggested);
- }
-
- /**
- * @return the tag identifier uri
- */
- public String getUri() {
- ITagDropOverrider overrider = getTagDropOverrider();
- if (overrider != null && overrider.getUriOverride() != null)
- return overrider.getUriOverride();
-
- return _creationProvider.getNamespace();
- }
-
- /**
- * @return the default prefix
- */
- public String getDefaultPrefix() {
- ITagDropOverrider overrider = getTagDropOverrider();
- if (overrider != null && overrider.getDefaultPrefixOverride() != null)
- return overrider.getDefaultPrefixOverride();
-
- return _creationProvider.getDefaultPrefix();
- }
-
- private ITagDropOverrider getTagDropOverrider() {
- if (getDropCustomizationData() != null
- && getDropCustomizationData()
- .getAdapter(ITagDropOverrider.class) != null) {
-
- return (ITagDropOverrider)getDropCustomizationData()
- .getAdapter(ITagDropOverrider.class);
- }
- return null;
- }
- /**
- * @return the local prefix for the tag
- */
- public String getPrefix() {
- return _prefix;
- }
-
- /**
- * @return the tag name
- */
- public String getTagName() {
- ITagDropOverrider overrider = getTagDropOverrider();
- if (overrider != null && overrider.getTagNameOverride() != null)
- return overrider.getTagNameOverride();
-
- return _creationProvider.getTagName();
- }
-
- /**
- * @return the creation provider
- */
- public ITagDropSourceData getTagCreationProvider()
- {
- return _creationProvider;
- }
-
- /**
- * @return the {@link Entity} for this tag element being created
- */
- public Entity getTagEntity() {
- if (_tagEntity == null){
- _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(_taglibMetaDataContext, getTagName());
-
- }
- return _tagEntity;
- }
-
- /**
- * @return flag indicating that html form container ancestor is required
- */
- public boolean isHTMLFormRequired() {
- Trait t = TaglibDomainMetaDataQueryHelper.getTrait(getTagEntity(), "requires-html-form"); //$NON-NLS-1$
- if (t != null)
- return TraitValueHelper.getValueAsBoolean(t);
-
- return false;
- }
-
- /**
- * @return flag indicating that jsf component
- */
- public boolean isJSFComponent() {
- Model model = TaglibDomainMetaDataQueryHelper.getModel(_taglibMetaDataContext);
- Trait t = TaglibDomainMetaDataQueryHelper.getTrait(model, "is-jsf-component-library"); //$NON-NLS-1$
- if (t != null)
- return TraitValueHelper.getValueAsBoolean(t);
-
- return false;
- }
-
- /**
- * @return flag indicating that jsf view container ancestor is required
- */
- public boolean isJSFViewTagRequired() {
- return JSPUtil.isJSPModel(_model);
- }
-
- /**
- * @return the metadata context for the tag
- */
- public ITaglibDomainMetaDataModelContext getTaglibMetaDataContext() {
- return _taglibMetaDataContext;
- }
-
- /**
- * @return the original dom position of the tag creation
- */
- public IDOMPosition getDomPosition() {
- return _domPosition;
- }
-
- /**
- * @return the dom model
- */
- public IDOMModel getModel()
- {
- return _model;
- }
-
- /**
- * @return the adjusted position (calculated to account for containers etc.)
- */
- public IDOMPosition getAdjustedPosition() {
- return _adjustedPosition;
- }
-
- /**
- * @param adjustedPosition
- */
- /*package*/ void setAdjustedPosition(IDOMPosition adjustedPosition) {
- _adjustedPosition = adjustedPosition;
- }
-
- /**
- * @return the TagIdentifer for the tag to be created
- */
- public TagIdentifier getTagId()
- {
- if (_tagId == null)
- {
- _tagId = TagIdentifierFactory.createJSPTagWrapper(getUri(), getTagName());
- }
- return _tagId;
- }
-
- /**
- * @return the customization data passed in from the tool. May be null.
- */
- public IAdaptable getDropCustomizationData() {
- return _customizationData;
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/DefaultTagCreationAdvisor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/DefaultTagCreationAdvisor.java
deleted file mode 100644
index a0b0d890e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/DefaultTagCreationAdvisor.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ContainerCreationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.SingletonContainerCreationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.TagContainerCreationCommand;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * The default advisor.
- *
- * Clients may extend this class.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public class DefaultTagCreationAdvisor extends AbstractTagCreationAdvisor
-{
- /**
- * @param creationData
- */
- public DefaultTagCreationAdvisor(CreationData creationData)
- {
- super(creationData);
- }
-
-
- @Override
- protected ElementCustomizationCommand getElementCustomizationCommand(
- IDOMModel model, Element tagElement) {
- return new ElementCustomizationCommand(model, tagElement, _creationData);
- }
-
- /**
- * @param position the initial drop position
- * @return position after creating required containers
- */
- protected ContainerCreationCommand getContainerCreationCommand(final IDOMPosition position) {
- if (_creationData.isJSFComponent()) {
- return getJSFContainerCommand(position);
- }
- else if (!(_creationData.isJSFComponent()) && _creationData.isHTMLFormRequired()){
- return getHtmlFormCommand(position);
- }
- return null;
- }
-
- /**
- * @param position
- * @return the default container creation command for a JSF tag
- */
- protected ContainerCreationCommand getJSFContainerCommand(final IDOMPosition position)
- {
- ContainerCreationCommand command = null;
-
- if (_creationData.isJSFViewTagRequired())
- command = new SingletonContainerCreationCommand(position, IJSFConstants.TAG_IDENTIFIER_VIEW, _creationData.getTagId());
-
- if (_creationData.isHTMLFormRequired())
- {
- final ContainerCreationCommand htmlFormCommand = new TagContainerCreationCommand(position, IJSFConstants.TAG_IDENTIFIER_FORM, _creationData.getTagId());
- if (command != null)
- command.chain(htmlFormCommand);
- else
- command = htmlFormCommand;
- }
-
- return command;
- }
-
- /**
- * @param position
- * @return the default container creation command for an HTML form tag
- */
- protected ContainerCreationCommand getHtmlFormCommand(final IDOMPosition position)
- {
- return new TagContainerCreationCommand(position, IHTMLConstants.TAG_IDENTIFIER_HTML_FORM, _creationData.getTagId());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreationAdvisor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreationAdvisor.java
deleted file mode 100644
index 97e19c4b6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreationAdvisor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * An advisor object that allows customization of tag creation in an ITagCreator
- *
- * Clients should *not* implement this interface. Extend AbstractTagCreationAdvisor
- * or DefaultTagCreationAdvisor instead.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-public interface ITagCreationAdvisor
-{
- /**
- * @param model
- * @param domPosition
- * @return a new IDOMPosition adjust for required containers or domPosition
- * if no adjust is required. ???May return null???
- */
- IDOMPosition checkAndApplyNecessaryContainers(IDOMModel model,
- IDOMPosition domPosition);
-
- /**
- * Apply customization to tagElement. May use to modify
- * attributes and child elements of the tag.
- *
- * @param model
- * @param tagElement
- * @param tagToolItem
- */
- void applyCustomization(IDOMModel model, Element tagElement);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreator.java
deleted file mode 100644
index c8d56e089..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagCreator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.w3c.dom.Element;
-
-/**
- * The interface type of all tag creators.
- *
- * Clients should *not* implement this interface. Extend AbstractTagCreator instead.
- *
- * <p><b>Provisional API - subject to change</b></p>
- */
-public interface ITagCreator {
- /**
- * @param creationData
- * @return W3C Element for the tag at the correct position in the DOM. May be null if creation cannot occur.
- */
- public Element createTag(final CreationData creationData);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagDropOverrider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagDropOverrider.java
deleted file mode 100644
index 12a24bbc1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ITagDropOverrider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-/**
- * Used to override the data used in a tag drop in the CreateItemCommand
- * <p>
- * This is NOT API. Clients should not use this interface as it may change in the future.
- */
-public interface ITagDropOverrider
-{
-
- /**
- * The default overrider
- *
- */
- static class DefaultTagDropOverrider implements ITagDropOverrider
- {
- private final String _tagNameOverrride;
- private final String _uriOverride;
- private final String _defaultPrefixOverride;
-
- public DefaultTagDropOverrider(final String uriOverride, final String tagNameOverride, final String defaultPrefixOverride)
- {
- super();
- _tagNameOverrride = tagNameOverride;
- _uriOverride = uriOverride;
- _defaultPrefixOverride = defaultPrefixOverride;
- }
-
- public String getTagNameOverride()
- {
- return _tagNameOverrride;
- }
-
- public String getUriOverride()
- {
- return _uriOverride;
- }
-
- public String getDefaultPrefixOverride()
- {
- return _defaultPrefixOverride;
- }
-
- }
- /**
- * @return the new uri to use or null if shouldn't override
- */
- String getUriOverride();
-
- /**
- * @return the new tag name or null if shouldn't override
- */
- String getTagNameOverride();
-
- /**
- * @return the new default prefix or null if shouldn't override
- */
- String getDefaultPrefixOverride();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationEditPolicy.java
deleted file mode 100644
index c514b42cc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationEditPolicy.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.CreateItemCommand;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editpolicies.DropEditPolicy;
-import org.eclipse.jst.pagedesigner.tools.ExposeHelper;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.DnDPositionValidator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.DropActionData.DropData;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * @author mengbo
- */
-public class ItemCreationEditPolicy extends DropEditPolicy
-{
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- public Command getCommand(Request request) {
- if (request instanceof ItemCreationRequest) {
- ItemCreationRequest r = (ItemCreationRequest) request;
- DesignPosition position = findPosition((ItemCreationRequest)request);
-
- if (position == null) {
- return null;
- }
- IDOMPosition domposition = DOMPositionHelper.toDOMPosition(position);
- if (domposition == null) {
- return null;
- }
-// TagToolCreationAdapter tagToolCreationAdapter = new TagToolCreationAdapter(r.getTagToolPaletteEntry(), getViewer(getHost()).getModel());
- return new CreateItemCommand(
- PDPlugin
- .getResourceString("ItemCreationEditPolicy.CommandLabel.CreateItem"),//$NON-NLS-1$
- getViewer(getHost()).getModel(), domposition, r.getTagCreationProvider());
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
- */
- public EditPart getTargetEditPart(Request request) {
- if (request instanceof ItemCreationRequest) {
- DesignPosition position = findPosition((ItemCreationRequest)request);
-
- if (position == null) {
- return null;
- }
-
- EditPart container = position.getContainerPart();
- return container;
- }
- return null;
- }
-
- /**
- * @param host
- * @return
- */
- private IHTMLGraphicalViewer getViewer(EditPart host) {
- return (IHTMLGraphicalViewer) ((GraphicalEditPart) host).getViewer();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#showTargetFeedback(org.eclipse.gef.Request)
- */
- public void showTargetFeedback(Request request)
- {
- if (request instanceof DropRequest
- && request.getType() == ItemCreationRequest.REQ_ITEM_CREATION)
- {
- super.showTargetFeedback(request);
- if (getHost() instanceof GraphicalEditPart) {
- ExposeHelper exposeHelper = new ExposeHelper(
- getViewer(getHost()));
- exposeHelper.adjustVertical(((DropRequest)request).getLocation());
- }
- }
- }
-
- protected DesignPosition findPosition(DropRequest request) {
- final IPositionMediator mediator = getDropChildValidator(request);
- if (mediator == null)
- {
- return null;
- }
-
- final IDropLocationStrategy dropStrategy = createDropLocationStrategy(request);
- final DesignPosition position =
- dropStrategy.calculateDesignPosition(getHost(), request.getLocation(), mediator);
-
- // verify that the drop strategy has honoured it's contract that our
- // mediator be respected
- if (position != null)
- {
- if (!mediator.isValidPosition(position))
- {
- // if our mediator says no go, then veto the requestor
- // there is no drop location
- return null;
- }
- }
- return position;
- }
-
- protected final IPositionMediator createDefaultDropChildValidator(DropData data) {
- return new DnDPositionValidator(new DropActionData(
- ActionData.PALETTE_DND, data)); }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationRequest.java
deleted file mode 100644
index 317c24331..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationRequest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-
-/**
- * Tag tool item creation request class
- *
- * @author mengbo
- */
-public class ItemCreationRequest extends Request implements DropRequest {
- /**
- * Constant used for item creation request
- */
- public static final String REQ_ITEM_CREATION = "Item Creation"; //$NON-NLS-1$
- /**
- * Constant used for tag tool item
- */
- private static final String DROP_SOURCE_DATA = "TagToolPaletteEntry"; //$NON-NLS-1$
- /**
- * Constant used for location during creation request
- */
- public static final String LOCATION = "location"; //$NON-NLS-1$
-
-
- /**
- * Constructor
- */
- public ItemCreationRequest() {
- super(REQ_ITEM_CREATION);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.requests.DropRequest#getLocation()
- */
- public Point getLocation() {
- return (Point)getExtendedData().get(LOCATION);
- }
-
- /**
- * Sets the location where the new object will be placed.
- *
- * @param location
- * the location
- */
- public void setLocation(Point location) {
- getExtendedData().remove(LOCATION);
- getExtendedData().put(LOCATION, location);
- }
-
- /**
- * Set the tag tool item for creation request
- * @param creationProvider
- */
- public void setTagCreationProvider(final IDropSourceData creationProvider) {
- getExtendedData().remove(DROP_SOURCE_DATA);
- getExtendedData().put(DROP_SOURCE_DATA, creationProvider);
- }
-
- /**
- * @return {@link ITagDropSourceData} requesting creation
- */
- public IDropSourceData getTagCreationProvider() {
- return (IDropSourceData)getExtendedData().get(DROP_SOURCE_DATA);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationTool.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationTool.java
deleted file mode 100644
index 22ef94a4f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/ItemCreationTool.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.tools.TargetingTool;
-import org.eclipse.jst.pagedesigner.commands.CreateItemCommand;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.DropCustomizationController;
-import org.eclipse.swt.graphics.Cursor;
-
-/**
- * This Tool is used to create items. It is to replace the default CreationTool
- * of GEF. We are not using CreationToolEntry for creating item, since the
- * default GEF implementation require creating of the object before drop into
- * the view. We do not want to create the XML element (and possibly its taglib
- * declaration) before the drop is really performed.)
- *
- * @author mengbo
- */
-public class ItemCreationTool extends TargetingTool {
- private final ITagDropSourceData _tagDropSourceData; //can we get rid of this?
-
- /**
- * Default constructor. Sets the default and disabled cursors.
- * @param tagDropSourceData
- */
- public ItemCreationTool(ITagDropSourceData tagDropSourceData) {
- setDefaultCursor(SharedCursors.CURSOR_TREE_ADD);
- setDisabledCursor(SharedCursors.NO);
-
- this._tagDropSourceData = tagDropSourceData;
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#calculateCursor()
- */
- protected Cursor calculateCursor() {
- /*
- * Fix for Bug# 66010 The following two lines of code were added for the
- * case where a tool is activated via the keyboard (that code hasn't
- * been released yet). However, they were causing a problem as described
- * in 66010. Since the keyboard activation code is not being released
- * for 3.0, the following lines are being commented out.
- */
- // if (isInState(STATE_INITIAL))
- // return getDefaultCursor();
- return super.calculateCursor();
- }
-
- /**
- * Creates a {@link ItemCreationRequest}and sets this tool's factory on the
- * request.
- *
- * @see org.eclipse.gef.tools.TargetingTool#createTargetRequest()
- */
- protected Request createTargetRequest() {
- ItemCreationRequest request = new ItemCreationRequest();
- request.setTagCreationProvider(_tagDropSourceData);
- return request;
- }
-
- /**
- * @see org.eclipse.gef.Tool#deactivate()
- */
- public void deactivate() {
- super.deactivate();
- // TODO: never read helper = null;
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#getCommandName()
- */
- protected String getCommandName() {
- return ItemCreationRequest.REQ_ITEM_CREATION;
- }
-
- /**
- * Cast the target request to a CreateRequest and returns it.
- *
- * @return the target request as a CreateRequest
- * @see TargetingTool#getTargetRequest()
- */
- protected ItemCreationRequest getCreateRequest() {
- return (ItemCreationRequest) getTargetRequest();
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#getDebugName()
- */
- protected String getDebugName() {
- return "Item Creation Tool";//$NON-NLS-1$
- }
-
- /**
- * The creation tool only works by clicking mouse button 1 (the left mouse
- * button in a right-handed world). If any other button is pressed, the tool
- * goes into an invalid state. Otherwise, it goes into the drag state,
- * updates the request's location and calls
- * {@link TargetingTool#lockTargetEditPart(org.eclipse.gef.EditPart)}with the edit part
- * that was just clicked on.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleButtonDown(int)
- */
- protected boolean handleButtonDown(int button) {
- if (button != 1) {
- setState(STATE_INVALID);
- handleInvalidInput();
- return true;
- }
- if (stateTransition(STATE_INITIAL, STATE_DRAG)) {
- if (getTargetEditPart() != null) {
- getCreateRequest().setLocation(getLocation());
- lockTargetEditPart(getTargetEditPart());
- // Snap only when size on drop is employed
- // TODO: never read helper = (SnapToHelper) getTargetEditPart().getAdapter(
- //SnapToHelper.class);
- }
- }
- return true;
- }
-
- /**
- * If the tool is currently in a drag or drag-in-progress state, it goes
- * into the terminal state, performs some cleanup (erasing feedback,
- * unlocking target edit part), and then calls {@link #performCreation(int)}.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleButtonUp(int)
- */
- protected boolean handleButtonUp(int button)
- {
- if (stateTransition(STATE_DRAG | STATE_DRAG_IN_PROGRESS, STATE_TERMINAL))
- {
- eraseTargetFeedback();
- unlockTargetEditPart();
-
- // customizer may cancel the drop
- customizeDropAndMaybeExecute(button);
- }
-
- setState(STATE_TERMINAL);
- handleFinished();
-
- return true;
- }
-
- /**
- * @param button
- */
- protected void customizeDropAndMaybeExecute(final int button)
- {
- Command command = getCurrentCommand();
-
- IStatus status = Status.OK_STATUS;
- if (command instanceof CreateItemCommand)
- {
- status = new DropCustomizationController((CreateItemCommand) command,
- _tagDropSourceData,
- ((CreateItemCommand)command).getDocument(),
- ((CreateItemCommand)command).getPosition()).
- performCustomization();
- }
-
- if (status.getSeverity() == IStatus.OK)
- {
- performCreation(button);
- }
- }
-
-
- /**
- * Updates the request, sets the current command, and asks to show feedback.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleDragInProgress()
- */
- protected boolean handleDragInProgress() {
- if (isInState(STATE_DRAG_IN_PROGRESS)) {
- updateTargetRequest();
- setCurrentCommand(getCommand());
- showTargetFeedback();
- }
- return true;
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#handleDragStarted()
- */
- protected boolean handleDragStarted() {
- return stateTransition(STATE_DRAG, STATE_DRAG_IN_PROGRESS);
- }
-
- /**
- * If the user is in the middle of creating a new edit part, the tool erases
- * feedback and goes into the invalid state when focus is lost.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleFocusLost()
- */
- protected boolean handleFocusLost() {
- if (isInState(STATE_DRAG | STATE_DRAG_IN_PROGRESS)) {
- eraseTargetFeedback();
- setState(STATE_INVALID);
- handleFinished();
- return true;
- }
- return false;
- }
-
- /**
- * @see org.eclipse.gef.tools.TargetingTool#handleHover()
- */
- protected boolean handleHover() {
- if (isInState(STATE_INITIAL))
- updateAutoexposeHelper();
- return true;
- }
-
- /**
- * Updates the request and mouse target, gets the current command and asks
- * to show feedback.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleMove()
- */
- protected boolean handleMove() {
- updateTargetRequest();
- updateTargetUnderMouse();
- setCurrentCommand(getCommand());
- showTargetFeedback();
- return true;
- }
-
- /**
- * Executes the current command and selects the newly created object. The
- * button that was released to cause this creation is passed in, but since
- * {@link #handleButtonDown(int)}goes into the invalid state if the button
- * pressed is not button 1, this will always be button 1.
- *
- * @param button
- * the button that was pressed
- */
- protected void performCreation(int button) {
- executeCurrentCommand();
- // selectAddedObject();
- }
-
- // /*
- // * Add the newly created object to the viewer's selected objects.
- // */
- // private void selectAddedObject() {
- // final Object model = getCreateRequest().getNewObject();
- // if (model == null)
- // return;
- // EditPartViewer viewer = getCurrentViewer();
- // Object editpart = viewer.getEditPartRegistry().get(model);
- // if (editpart instanceof EditPart) {
- // viewer.flush();
- // viewer.select((EditPart)editpart);
- // }
- // }
-
- /**
- * Sets the location (and size if the user is performing size-on-drop) of
- * the request.
- *
- * @see org.eclipse.gef.tools.TargetingTool#updateTargetRequest()
- */
- protected void updateTargetRequest() {
- ItemCreationRequest req = getCreateRequest();
- req.setLocation(getLocation());
- // if (isInState(STATE_DRAG_IN_PROGRESS)) {
- // Point loq = getStartLocation();
- // req.setLocation(bounds.getLocation());
- // req.getExtendedData().clear();
- // if (!getCurrentInput().isAltKeyDown() && helper != null) {
- // PrecisionRectangle baseRect = new PrecisionRectangle(bounds);
- // PrecisionRectangle result = baseRect.getPreciseCopy();
- // helper.snapRectangle(req, PositionConstants.NSEW,
- // baseRect, result);
- // req.setLocation(result.getLocation());
- // req.setSize(result.getSize());
- // }
- // } else {
- // req.setLocation(getLocation());
- // }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/UserCustomizedTagCreationAdvisor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/UserCustomizedTagCreationAdvisor.java
deleted file mode 100644
index 3ff7ad0cc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/UserCustomizedTagCreationAdvisor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.itemcreation;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ContainerCreationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.UserCustomizedContainerCreationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.command.UserCustomizedElementCustomizationCommand;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.ParentData;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * Tag creation advisor that returns a new ElementCustomizationCommand
- * subclass that will perform customization of attributes, child tags and parent tags
- *
- * @author prusev
- * @author Debajit Adhikary
- */
-public class UserCustomizedTagCreationAdvisor extends DefaultTagCreationAdvisor {
-
- /**
- * Default
- * @param creationData
- */
- public UserCustomizedTagCreationAdvisor(CreationData creationData) {
- super(creationData);
- }
-
- /**
- * @param model
- * @param tagElement
- * @return
- *
- * Gives back the new command class.
- */
- protected ElementCustomizationCommand getElementCustomizationCommand(
- IDOMModel model, Element tagElement) {
- return new UserCustomizedElementCustomizationCommand(model, tagElement, _creationData);
- }
-
-
- /**
- * Performs parent tag customization for the dropped tag. Chains any
- * required container creation commands to ensure that the required parents
- * are created.
- *
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.itemcreation.DefaultTagCreationAdvisor#getContainerCreationCommand (org.eclipse.jst.pagedesigner.dom.IDOMPosition)
- *
- */
- @Override
- protected ContainerCreationCommand getContainerCreationCommand(IDOMPosition position)
- {
- final IAdaptable adaptable = _creationData.getDropCustomizationData();
- if (adaptable != null)
- {
- final ICustomizationData data = (ICustomizationData) adaptable.getAdapter(ICustomizationData.class);
- ContainerCreationCommand command = null;
- ParentData parentData = data.getParentData();
-
- boolean isFirstParent = true;
- for (final ICustomizationData parentCustomizationData : parentData.getParentCustomizationData())
- {
- TagIdentifier parentTagIdentifier = parentCustomizationData.getTagIdentifier();
-
- if (isFirstParent)
- {
- command = new UserCustomizedContainerCreationCommand(position, parentTagIdentifier, _creationData.getTagId(), parentCustomizationData);
- isFirstParent = false;
- }
- else
- {
- command.chain(new UserCustomizedContainerCreationCommand(position, parentTagIdentifier, _creationData.getTagId(), parentCustomizationData));
- }
- }
- return command;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ContainerCreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ContainerCreationCommand.java
deleted file mode 100644
index c7db6e3a7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ContainerCreationCommand.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand;
-
-/**
- * Command for creating containers.
- *
- * * <p><b>Provisional API - subject to change</b></p>
- *
- * Clients may sub-class, but is preferable to use {@link SingletonContainerCreationCommand}
- * or {@link TagContainerCreationCommand} instead.
- *
- * @author cbateman
- *
- */
-public abstract class ContainerCreationCommand extends AbstractCreationCommand
-{
- private final IDOMPosition _originalDomPosition;
- private final TagIdentifier _containerTag;
- private final TagIdentifier _tagBeingCreated;
- private IDOMPosition _domPosition;
- private ContainerCreationCommand _nextCommand = null;
-
- /**
- * @param domPosition
- * @param containerTag
- */
- /*package*/ ContainerCreationCommand(IDOMPosition domPosition, TagIdentifier containerTag, TagIdentifier tagBeingCreated)
- {
- _domPosition = domPosition;
- _originalDomPosition = domPosition;
- _containerTag = containerTag;
- _tagBeingCreated = tagBeingCreated;
- }
-
- @Override
- public final void execute()
- {
- _domPosition = doExecute();
-
- if (_nextCommand != null)
- {
- _nextCommand.setDomPosition(_domPosition);
- _nextCommand.execute();
- // update the dom position
- _domPosition = _nextCommand.getDomPosition();
- }
- }
-
- @Override
- public final Collection<IDOMPosition> getResult()
- {
- return Collections.singletonList(_domPosition);
- }
-
- /**
- * @return the new dom position after the container insert
- */
- protected abstract IDOMPosition doExecute();
-
- @Override
- public final ContainerCreationCommand chain(Command command)
- {
- if (!(command instanceof ContainerCreationCommand))
- {
- throw new IllegalArgumentException("Can only chain ContainerCreationCommand's"); //$NON-NLS-1$
- }
-
- if (_nextCommand == null)
- {
- _nextCommand = (ContainerCreationCommand) command;
- }
- else
- {
- _nextCommand.chain(command);
- }
-
- return this;
- }
-
- /**
- * Update the domPosition
- *
- * @param domPosition
- */
- public final void setDomPosition(final IDOMPosition domPosition)
- {
- if (_domPosition.getContainerNode().getOwnerDocument() ==
- domPosition.getContainerNode().getOwnerDocument())
- {
- _domPosition = domPosition;
- }
- else
- {
- // if not in same document, then error
- throw new IllegalArgumentException("New domPosition must be in same document as old domPosition"); //$NON-NLS-1$
- }
- }
-
- /**
- * @return the dom position
- */
- protected final IDOMPosition getDomPosition() {
- return _domPosition;
- }
-
- /**
- * @return the original dom position that this container creation command
- * was created with.
- */
- protected final IDOMPosition getOriginalDomPosition() {
- return _originalDomPosition;
- }
-
- /**
- * @return the container tag to be created
- */
- protected final TagIdentifier getContainerTag() {
- return _containerTag;
- }
-
- /**
- * @return the tag that is being created for which we are adding the container
- */
- protected final TagIdentifier getTagBeingCreated() {
- return _tagBeingCreated;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ElementCustomizationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ElementCustomizationCommand.java
deleted file mode 100644
index 34b8ce1fb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/ElementCustomizationCommand.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.MetadataTagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteElementTemplateHelper;
-import org.eclipse.jst.pagedesigner.itemcreation.CreationData;
-import org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * A command to customize a new tag element
- * <p>
- * <b>Provisional API - subject to change</b>
- * </p>
- *
- * Clients may sub-class.
- *
- * @author cbateman
- *
- */
-public class ElementCustomizationCommand extends AbstractCreationCommand
-{
- /**
- * the dom model where the element will be added
- */
- protected final IDOMModel _model;
- /**
- * the element to be customized
- */
- protected final Element _element;
- /**
- * the creation data for the new tag
- */
- protected final CreationData _creationData;
-
- /**
- * @param model
- * @param element
- * @param creationData
- */
- public ElementCustomizationCommand(final IDOMModel model,
- final Element element, final CreationData creationData)
- {
- _model = model;
- _element = element;
- _creationData = creationData;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand#execute()
- */
- @Override
- public void execute()
- {
- applyChildElementCustomization();
- applyAttributeCustomization();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand#prepare()
- */
- @Override
- protected boolean prepare()
- {
- // do nothing by default; return true to indicate can execute
- return true;
- }
-
- /**
- * Override to customize the children of the tag being created
- *
- * Default implementation uses meta-data to load a template. This is the
- * prefered method for static child values (i.e. those that are not
- * calculated dynamically at runtime).
- */
- protected void applyChildElementCustomization()
- {
- final ITagDropSourceData tagDropSourceData =
- _creationData.getTagCreationProvider();
- if (tagDropSourceData != null)
- {
- MetadataTagDropSourceData provider =
- TagToolCreationAdapter.createMdTagCreationProvider(tagDropSourceData, _model);
- PaletteElementTemplateHelper.applyTemplate(_model, _element,
- provider);
- }
- }
-
- /**
- * Add required attributes and default values, if set, to the created tag
- * element
- *
- * To customize the attributes that get added, use TagCreationInfo metadata
- *
- * This method is provided as a utility for clients. It is not used by
- * default
- *
- * @param element
- * @param creationData
- */
- @SuppressWarnings("deprecation")
- protected final void ensureRequiredAttrs(final Element element,
- final CreationData creationData)
- {
- final CMElementDeclaration ed = CMUtil.getTLDElementDeclaration(creationData
- .getUri(), creationData.getTagName(), creationData.getModel()
- .getDocument().getStructuredDocument());
-
- if (ed != null)
- {
- for (final Iterator it = ed.getAttributes().iterator(); it.hasNext();)
- {
- final CMAttributeDeclaration attr = (CMAttributeDeclaration) it
- .next();
- if (attr.getUsage() == CMAttributeDeclaration.REQUIRED
- && element.getAttribute(attr.getAttrName()) == null)
- {
- element.setAttribute(attr.getAttrName(), attr
- .getDefaultValue());
- }
- }
- }
- }
-
- /**
- * Override to customize the attributes of the tag being created
- *
- * Default implementation uses meta-data to set the attribut values. This is
- * the prefered method for static attribute values (i.e. those that are not
- * calculated dynamically at runtime).
- *
- */
- protected void applyAttributeCustomization()
- {
- final ITagDropSourceData info = _creationData.getTagCreationProvider();
- if (info != null)
- {
- final MetadataTagDropSourceData provider =
- TagToolCreationAdapter.createMdTagCreationProvider(info, _model);
- final List<TagCreationAttribute> list = provider.getAttributes();
- if (list != null)
- {
- for (final TagCreationAttribute attr : list)
- {
- _element.setAttribute(attr.getId(),
- (attr.getValue() == null ? "" : attr.getValue())); //$NON-NLS-1$
- }
- }
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand#chain(org.eclipse.emf.common.command.Command)
- */
- @Override
- public final Command chain(final Command command)
- {
- return super.chain(command);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.internal.AbstractCreationCommand#getResult()
- */
- @Override
- public final Collection<Element> getResult()
- {
- return Collections.singletonList(_element);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/SingletonContainerCreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/SingletonContainerCreationCommand.java
deleted file mode 100644
index 5fa9f6e44..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/SingletonContainerCreationCommand.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.utils.BodyHelper;
-import org.eclipse.jst.pagedesigner.validation.caret.JSFRootContainerPositionRule;
-import org.w3c.dom.Document;
-
-/**
- * Used to create a container that should only occur once per document. Typically
- * used for HTML body and JSF f:view tags.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * Clients may reference but not sub-class.
- * @author cbateman
- *
- */
-public final class SingletonContainerCreationCommand extends ContainerCreationCommand
-{
- private static final int MAX_DEPTH_TO_SEARCH_FOR_CONTAINER = 10;
-
- /**
- * @param domPosition
- * @param containerTag
- * @param tagBeingCreated
- */
- public SingletonContainerCreationCommand(IDOMPosition domPosition,
- TagIdentifier containerTag, TagIdentifier tagBeingCreated)
- {
- super(domPosition, containerTag, tagBeingCreated);
- }
-
- @Override
- protected IDOMPosition doExecute()
- {
- return insertSingletonIfNotPresent();
- }
-
- private IDOMPosition insertSingletonIfNotPresent()
- {
- IDOMPosition domPosition = getDomPosition();
- final TagIdentifier containerTag = getContainerTag();
- final TagIdentifier tagBeingCreated = getTagBeingCreated();
-
- final Document document = EditModelQuery.getDocumentNode(domPosition
- .getContainerNode());
-
- final boolean isContainerAlreadyPresent =
- JSFRootContainerPositionRule.hasBasicContainers
- (document, MAX_DEPTH_TO_SEARCH_FOR_CONTAINER);
-
- if (isContainerAlreadyPresent)
- {
- // if the container and element to be created are the same,
- // then return null indicating to abort
- if (containerTag.equals(tagBeingCreated))
- {
- domPosition = null;
- }
- // otherwise, simply fall through keeping domPosition unchanged
- }
- // if the container isn't already present
- else
- {
-
- if (!containerTag.equals(tagBeingCreated))
- {
- // if the container is different and doesn't exist, then add it.
- domPosition = BodyHelper.insertBody(domPosition, containerTag.asQName(), "f"); //$NON-NLS-1$
- }
- // otherwise, fall through leaving domPosition unchanged
- }
-
- return domPosition;
- }
-
- @Override
- protected boolean prepare()
- {
- throw new UnsupportedOperationException("don't use"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/TagContainerCreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/TagContainerCreationCommand.java
deleted file mode 100644
index fb2a23f43..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/TagContainerCreationCommand.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ResolverUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.dom.ValidatorSupport;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author cbateman
- *
- * * <p><b>Provisional API - subject to change</b></p>
- *
- * Clients may sub-class
- *
- */
-public class TagContainerCreationCommand extends ContainerCreationCommand {
-
- /**
- * @param domPosition
- * @param containerTag
- * @param tagBeingCreated
- */
- public TagContainerCreationCommand(IDOMPosition domPosition,
- TagIdentifier containerTag, TagIdentifier tagBeingCreated)
- {
- super(domPosition, containerTag, tagBeingCreated);
- }
-
- @Override
- protected IDOMPosition doExecute()
- {
- final IDOMPosition domPosition = getDomPosition();
- final QName containerQName = getContainerTag().asQName();
- boolean hasform = ValidatorSupport.checkContainer(domPosition, containerQName);
- IDOMPosition newPosition = domPosition;
- if (!hasform)
- {
- final IDOMModel model = ((IDOMNode) domPosition.getContainerNode())
- .getModel();
-
- final IFile fileForDocument = ResolverUtil.getFileForDocument(model.getStructuredDocument());
- final ITagDropSourceData creationProvider =
- TagToolCreationAdapter.findProviderForContainer(containerQName, PaletteItemManager.createPaletteContext(fileForDocument));
- newPosition = ValidatorSupport
- .insertContainer(domPosition, model, creationProvider, getContainerCustomizationData());
- if (newPosition == null) {
- newPosition = domPosition;
- }
- }
- return newPosition;
- }
-
- /**
- * Override to inject customization data into the tag creation
- * @return a customization data for the container.
- */
- protected IAdaptable getContainerCustomizationData()
- {
- return null;
- }
-
- @Override
- protected final boolean prepare()
- {
- throw new UnsupportedOperationException("don't use"); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedContainerCreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedContainerCreationCommand.java
deleted file mode 100644
index 7cfbc8ef7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedContainerCreationCommand.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ResolverUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.dom.ValidatorSupport;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * Tag container creation command for tags dropped on to the WPE by the user
- *
- * @see TagContainerCreationCommand
- *
- * @author Debajit Adhikary
- *
- */
-public class UserCustomizedContainerCreationCommand extends
- TagContainerCreationCommand
-{
- /**
- * Customization data for tag dropped
- *
- * @see ICustomizationData
- * @see IAdaptable
- */
- private final IAdaptable _data;
-
-
- /**
- * @param domPosition
- * Position in the DOM where the tag is to be inserted
- * @param containerTag
- * Container tag
- * @param tagBeingCreated
- * The tag which was dropped
- * @param data
- * Customization data for the tag dropped
- *
- * @see TagContainerCreationCommand#TagContainerCreationCommand(IDOMPosition, TagIdentifier, TagIdentifier)
- */
- public UserCustomizedContainerCreationCommand(IDOMPosition domPosition,
- TagIdentifier containerTag, TagIdentifier tagBeingCreated, IAdaptable data)
- {
- super(domPosition, containerTag, tagBeingCreated);
- _data = data;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.command.TagContainerCreationCommand#getContainerCustomizationData()
- */
- @Override
- protected IAdaptable getContainerCustomizationData()
- {
- return _data;
- }
-
- @Override
- protected IDOMPosition doExecute()
- {
- final IDOMPosition domPosition = getDomPosition();
- final QName containerQName = getContainerTag().asQName();
-
- IDOMPosition newPosition = domPosition;
- final IDOMModel model = ((IDOMNode) domPosition.getContainerNode())
- .getModel();
-
- final IFile fileForDocument = ResolverUtil.getFileForDocument(model.getStructuredDocument());
- final ITagDropSourceData creationProvider = TagToolCreationAdapter
- .findProviderForContainer(containerQName, PaletteItemManager.createPaletteContext(fileForDocument));
-
- newPosition = ValidatorSupport.insertContainer(domPosition,
- model, creationProvider, getContainerCustomizationData());
- if (newPosition == null)
- {
- newPosition = domPosition;
- }
-
- return newPosition;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java
deleted file mode 100644
index dcf6c5d94..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.command;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ResolverUtil;
-import org.eclipse.jst.jsf.tagdisplay.internal.paletteinfos.TagCreationAttribute;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.MetadataTagDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter;
-import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
-import org.eclipse.jst.pagedesigner.itemcreation.CreationData;
-import org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * Added extra functionality to use the customization data to set tag attributes
- * based on user enter values from drop wizard display.
- *
- * @author prusev
- * @author Debajit Adhikary
- *
- */
-public class UserCustomizedElementCustomizationCommand extends
- ElementCustomizationCommand
-{
-
- /**
- * @param model
- * @param element
- * @param creationData
- */
- public UserCustomizedElementCustomizationCommand(IDOMModel model,
- Element element, CreationData creationData)
- {
- super(model, element, creationData);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand#execute()
- */
- @Override
- public void execute()
- {
- super.execute();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand#applyChildElementCustomization()
- */
- @Override
- protected void applyChildElementCustomization()
- {
- // TODO: Use this to get child information from metadata?
- // super.applyChildElementCustomization();
-
- // Get customization data
- if (_creationData.getDropCustomizationData() != null)
- {
- final ICustomizationData data = (ICustomizationData) _creationData.getDropCustomizationData().getAdapter(ICustomizationData.class);
-//
-// if (data.getTextNodeData() != null) {
-// final Node textNode = _element.getOwnerDocument().createTextNode(data.getTextNodeData());
-// _element.appendChild(textNode);
-// }
-// else
- if (data.getChildrenData() != null)
- {
- int childCount = 0;
- CHILDREN_LOOP: for (ICustomizationData child : data.getChildrenData().getChildList())
- {
- assert (_element.getOwnerDocument() != null);
-
- // Setup child node
- Element childNode = _element.getOwnerDocument().createElement(child.getTagIdentifier().getTagName());
- String prefix = JSPUtil.getOrCreatePrefix(_model, child.getTagIdentifier().getUri(), null);
- childNode.setPrefix(prefix);
-
- // Attach to child the attributes from the customization data
- Map<String, String> attrMap = child.getAttributeData().getAttributes();
- for (String attrName : attrMap.keySet())
- {
- String attrValue = attrMap.get(attrName);
- childNode.setAttribute(attrName, attrValue);
- }
-
- // Attach child node to element
- _element.appendChild(childNode);
-
- // Set up other attributes and child tags for this child
- IFile fileForDocument = ResolverUtil.getFileForDocument(_model.getStructuredDocument());
- if (fileForDocument == null)
- {
- PDPlugin.log("File not found for model: "+_model.toString(), new Exception("Stack trace only")); //$NON-NLS-1$ //$NON-NLS-2$
- continue CHILDREN_LOOP;
- }
-// final IProject project = fileForDocument.getProject();
-// PaletteItemManager itemManager = PaletteItemManager.getInstance(project);
-// PaletteItemManager itemManager = PaletteItemManager.getInstance(fileForDocument);
-//
-// if (itemManager == null)
-// {
-// PDPlugin.log("paletteManager not found for file: "+fileForDocument.toString(), new Exception("Stack trace only")); //$NON-NLS-1$ //$NON-NLS-2$
-//// PDPlugin.log("paletteManager not found for project: "+project.toString(), new Exception("Stack trace only")); //$NON-NLS-1$ //$NON-NLS-2$
-// continue CHILDREN_LOOP;
-// }
-
- final String uri = child.getTagIdentifier().getUri();
- final String tagName = child.getTagIdentifier().getTagName();
- final ITagDropSourceData creationProvider =
- TagToolCreationAdapter.findProviderForContainer(uri, tagName, PaletteItemManager.createPaletteContext(fileForDocument));
- final ITaglibDomainMetaDataModelContext modelContext =
- TaglibDomainMetaDataQueryHelper
- .createMetaDataModelContext(fileForDocument.getProject(), child.getTagIdentifier().getUri());
-// .createMetaDataModelContext(project, child.getTagIdentifier().getUri());
- IDOMPosition domPosition = new DOMPosition(_element, childCount++);
- CreationData creationData = new CreationData(creationProvider,_model, domPosition, modelContext, child);
-
- ElementCustomizationCommand command = new UserCustomizedElementCustomizationCommand(_model, childNode, creationData);
- command.execute();
- }
- }
- }
- }
-
- /**
- * Override to customize the attributes of the tag being created
- *
- * Default implementation uses meta-data to set the attribute values. This
- * is the preferred method for static attribute values (i.e. those that are
- * not calculated dynamically at runtime).
- *
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.itemcreation.command.ElementCustomizationCommand#applyAttributeCustomization()
- */
- protected void applyAttributeCustomization()
- {
- final Map<String, String> attributes = new HashMap<String, String>();
- addAttributesFromPaletteMetadata(attributes);
- addAttributesFromDropCustomization(attributes);
- /*
- * Added by Pete: Use the attribute data within the customization data
- * container to configure the tag attributes
- */
- for (final Map.Entry<String, String> entry : attributes.entrySet())
- {
- _element.setAttribute(entry.getKey(), entry.getValue());
- }
- }
-
- private void addAttributesFromDropCustomization(
- Map<String, String> attributes)
- {
- if (_creationData.getDropCustomizationData() != null)
- {
- // Pull out the attribute data using the IAdaptable interface
- ICustomizationData data = (ICustomizationData) _creationData
- .getDropCustomizationData().getAdapter(
- ICustomizationData.class);
- Map<String, String> attrs = data.getAttributeData().getAttributes();
- // Go through each attribute/value pair and configure it
- for (String id : attrs.keySet())
- {
- attributes.put(id, attrs.get(id) == null ? "" : attrs.get(id)); //$NON-NLS-1$
- }
- }
- }
-
- private void addAttributesFromPaletteMetadata(Map<String, String> attributes)
- {
- final ITagDropSourceData info = _creationData.getTagCreationProvider();
- if (info != null)
- {
- final MetadataTagDropSourceData provider =
- TagToolCreationAdapter.createMdTagCreationProvider(info, _model);
-
- final List<TagCreationAttribute> list = provider.getAttributes();
- if (list != null)
- {
- for (final TagCreationAttribute attr : list)
- {
- attributes.put(attr.getId(), (attr.getValue() == null ? "" //$NON-NLS-1$
- : attr.getValue()));
- }
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java
deleted file mode 100644
index 32a462cbd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AbstractDropCustomizer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-
-/**
- * Clients should extend to implement their own IDropCustomizer.
- *
- * <p><b>Provisional API - subject to change</b></p>
- *
- * @author cbateman
- *
- */
-
-public abstract class AbstractDropCustomizer implements IDropCustomizer
-{
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IDropCustomizer#getDropCustomizationData()
- */
- public IAdaptable getDropCustomizationData()
- {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IDropCustomizer#runCustomizer()
- */
- public IStatus runCustomizer()
- {
- return Status.OK_STATUS;
- }
-
- public IStatus runCustomizer(final IFile file, final IDOMPosition position)
- {
- // backward compatibility: call the deprecated method to ensure that
- // existing users are not broken
- return runCustomizer();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AttributeData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AttributeData.java
deleted file mode 100644
index 834674bc9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/AttributeData.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Class containing all the data that pertains to the customization
- * of a tag's attributes.
- *
- * @author prusev
- * @author Debajit Adhikary
- *
- */
-public class AttributeData {
-
- private Map<String, String> attrs = new HashMap<String, String>();
-
-
- /**
- * Returns a map of the attributes (Name-Value pairs)
- *
- * @return Map of attribute names and values
- *
- */
- public Map<String, String> getAttributes()
- {
- return attrs;
- }
-
-
- /**
- * Sets the attribute data to the map of attribute names and values
- * provided.
- *
- * @param attribs
- * Map of attribute names and values
- *
- */
- public void setAttributes(Map<String, String> attribs)
- {
- attrs.clear();
- attrs.putAll(attribs);
- }
-
-
- /**
- * Adds an attribute.
- *
- * @param attr
- * Attribute name
- * @param userVal
- * Attribute value
- *
- */
- public void addAttribute(String attr, String userVal)
- {
- attrs.put(attr, userVal);
- }
-
- /**
- * Returns the value for a given attribute name.
- *
- * @param attr
- * Attribute name whose value is to be found
- * @return Attribute value for the given attribute name
- *
- */
- public String getValForAttrib(String attr)
- {
- return attrs.get(attr);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ChildrenData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ChildrenData.java
deleted file mode 100644
index dfdcca259..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ChildrenData.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * The class containing any data that pertains to the customization of a tag's
- * children will be contained here. Currently, this is empty for this PoC
- *
- * @author prusev
- * @author Debajit Adhikary
- *
- */
-public class ChildrenData
-{
- private List<ICustomizationData> childList;
-
-
- /**
- * Default constructor
- *
- */
- public ChildrenData()
- {
- this.childList = new ArrayList<ICustomizationData>();
- }
-
-
- /**
- * Constructor to initialize a ChildrenData object with a list of
- * customization data for the child tags
- *
- * @param childList
- * List of customization data objects for child tags
- *
- */
- public ChildrenData(List<ICustomizationData> childList)
- {
- this.childList = childList;
- }
-
-
- /**
- * @return the childList
- */
- public List<ICustomizationData> getChildList()
- {
- return childList;
- }
-
-
- /**
- * @param childList
- * the childList to set
- */
- public void setChildList(List<ICustomizationData> childList)
- {
- this.childList = childList;
- }
-
-
- /**
- * @param childData ChildData object to add
- */
- public void add(ICustomizationData childData)
- {
- childList.add(childData);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/CustomizationDataImpl.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/CustomizationDataImpl.java
deleted file mode 100644
index 649552860..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/CustomizationDataImpl.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-
-/**
- * Container class for all customization data collected from the tag wizard.
- * Through the Adaptable interface it will return the desired subdata piece such
- * as tag AttributeData.
- *
- * @author prusev
- * @author Debajit Adhikary
- *
- */
-
-public class CustomizationDataImpl implements IWritableCustomizationData
-{
- private TagIdentifier tagIdentifier;
- private AttributeData _attrs;
- private ChildrenData childrenData;
- private ParentData parentData;
-
-
- /**
- * Constructor.
- *
- * @param target
- * Tag identifier for the tag whose customization data this is
- *
- */
- public CustomizationDataImpl(final TagIdentifier target)
- {
- tagIdentifier = target;
- _attrs = new AttributeData();
- parentData = new ParentData();
- childrenData = new ChildrenData();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter)
- {
- if (ICustomizationData.class.equals(adapter))
- {
- return this;
- }
-
- return null;
- }
-
-
- //------------------------------------------------------------
- // Methods to handle the tag identifier
- //------------------------------------------------------------
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData#getTagIdentifier()
- */
- public TagIdentifier getTagIdentifier()
- {
- return tagIdentifier;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#setTagIdentifier(org.eclipse.jst.jsf.common.dom.TagIdentifier)
- */
- public void setTagIdentifier(TagIdentifier tagId)
- {
- this.tagIdentifier = tagId;
- }
-
-
- //------------------------------------------------------------
- // Methods to handle attributes
- //------------------------------------------------------------
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData#getAttributeData()
- */
- public final AttributeData getAttributeData()
- {
- return _attrs;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#setAttributes(org.eclipse.jst.pagedesigner.itemcreation.customizer.AttributeData)
- */
- public void setAttributes(AttributeData attrs)
- {
- _attrs = attrs;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#addAttribute(java.lang.String, java.lang.String)
- */
- public void addAttribute(String attributeName, String attributeValue)
- {
- getAttributeData().addAttribute(attributeName, attributeValue);
- }
-
-
- //------------------------------------------------------------
- // Methods to handle children
- //------------------------------------------------------------
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData#getChildrenData()
- */
- public final ChildrenData getChildrenData()
- {
- return childrenData;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#setChildrenData(org.eclipse.jst.pagedesigner.itemcreation.customizer.ChildrenData)
- */
- public void setChildrenData(ChildrenData data)
- {
- childrenData = data;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#addChildrenData(org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData)
- */
- public void addChildData (ICustomizationData childData)
- {
- getChildrenData().add(childData);
- }
-
-
- //------------------------------------------------------------
- // Methods to handle parents
- //------------------------------------------------------------
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData#getParentData()
- */
- public final ParentData getParentData()
- {
- return parentData;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#setParentData(org.eclipse.jst.pagedesigner.itemcreation.customizer.ParentData)
- */
- public void setParentData(ParentData parentData)
- {
- this.parentData = parentData;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.itemcreation.customizer.IWritableCustomizationData#addParentData(org.eclipse.jst.pagedesigner.itemcreation.customizer.ICustomizationData)
- */
- public void addParentData (ICustomizationData parentData_)
- {
- getParentData().add(parentData_);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/DropCustomizationController.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/DropCustomizationController.java
deleted file mode 100644
index b1bd18e77..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/DropCustomizationController.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.ResolverUtil;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.ICustomizableCommand;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.elementedit.ElementEditFactoryRegistry;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-
-/**
- * Not API -- Do not use
- *
- * @author cbateman
- *
- */
-public final class DropCustomizationController
-{
- private final ICustomizableCommand _command;
- private final IDropSourceData _dropSourceData;
- private final IDOMDocument _domDocument;
- private final IDOMPosition _domPosition;
-
- /**
- * @param command
- * @param dropSourceData
- * @param domDocument
- * @param domPosition
- */
- public DropCustomizationController(final ICustomizableCommand command,
- final IDropSourceData dropSourceData, final IDOMDocument domDocument, final IDOMPosition domPosition)
- {
- _command = command;
- _dropSourceData = dropSourceData;
- _domDocument = domDocument;
- _domPosition = domPosition;
- }
-
- /**
- * @return the result of the customization
- */
- public IStatus performCustomization()
- {
- String tagName = _dropSourceData.getId();
- if (_dropSourceData instanceof ITagDropSourceData)
- {
- tagName = ((ITagDropSourceData)_dropSourceData).getTagName();
- }
- final TagIdentifier tagId = TagIdentifierFactory.createJSPTagWrapper(
- _dropSourceData.getNamespace(), tagName);
- final IElementEdit elementEdit = ElementEditFactoryRegistry.getInstance()
- .createElementEdit(tagId);
-
- IStatus status = Status.OK_STATUS;
- if (elementEdit != null)
- {
- final IDropCustomizer customizer = elementEdit.getDropCustomizer(_dropSourceData);
-
- if (customizer != null)
- {
- final IFile file = getFile(_domDocument);
- if (file != null)
- {
- status = customizer.runCustomizer(file, _domPosition);
- }
- else
- {
- PDPlugin.log("Could not find file.", new Exception("Not a real exception")); //$NON-NLS-1$ //$NON-NLS-2$
- status = Status.CANCEL_STATUS;
- }
-
- if (status.getSeverity() == IStatus.OK)
- {
- _command.setCustomizationData(customizer
- .getDropCustomizationData());
- }
- }
- }
- return status;
- }
-
- private static IFile getFile(IDOMDocument domDoc)
- {
- final IStructuredDocument sdoc = domDoc.getStructuredDocument();
- if (sdoc != null)
- {
- return ResolverUtil.getFileForDocument(sdoc);
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ICustomizationData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ICustomizationData.java
deleted file mode 100644
index 0a76ae027..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ICustomizationData.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-/**
- * Represents a read-only customization data object. Customization data for a
- * tag includes its identifier, attribute data, child tag information and parent
- * tag information.
- *
- * @see IWritableCustomizationData
- *
- * @author prusev
- * @author Debajit Adhikary
- *
- */
-public interface ICustomizationData extends IAdaptable
-{
- /**
- * Returns the TagIdentifier for the tag whose customization data this is
- *
- * @return the TagIdentifier
- */
- public TagIdentifier getTagIdentifier();
-
-
- /**
- * Returns the parent data associated with this customization data
- *
- * @return the attribute information for this customization data
- */
- public AttributeData getAttributeData();
-
-
- /**
- * Returns the children data associated with this customization data
- *
- * @return the ChildrenData for this customization data
- */
- public ChildrenData getChildrenData();
-
-
- /**
- * Returns the parent data associated with this customization data
- *
- * @return the parent data for this customization data
- */
- public ParentData getParentData();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java
deleted file mode 100644
index deca04e10..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IDropCustomizer.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-
-/**
- * Interface used to declare an object that customizes tag creation data prior
- * to a drop. The drop customizer should be used to ellicit data on per-drop basis.
- *
- * Clients should not implement this interface. Extend AbstractDropCustomizer instead.
- *
- * <p><b>Provisional API - subject to change</b></p>
- * @author cbateman
- *
- */
-public interface IDropCustomizer
-{
- /**
- * This is deprecated and is no longer called directly. AbstractDropCustomizer
- * will call this from runCustomizer(IFile) in the default case.
- *
- * @return the status condition of the customizer
- * @deprecated use runCustomizer(IFile, IDOMPosition) instead.
- */
- public IStatus runCustomizer();
-
- /**
- * Executed when the user performs a drop gesture for a tag, but before the
- * command is dispatched to create the tag in the target document. Implementers
- * may do calculations or raise customization UI. The return value is used
- * to decide whether to continue. Values other than OK and CANCEL are currently
- * ignored. If the return value has a severity of CANCEL, then the drop will
- * be aborted. If the return severity is OK, then getDropCustomizationData will
- * be called and it's value will be passed to the ITagCreator framework through
- * the CreationData object.
- *
- * NOTE: This method may be called on the UI thread, although this is not guaranteed.
- * Implementer should ensure that anything that is long-running (such as a dialog)
- * is user-cancellable and that any UI code is run on the display thread.
- * @param file
- * @param position the position in the target file where the new tag will be dropped
- *
- * @return the status condition of the customizer
- */
-
- public IStatus runCustomizer(final IFile file, final IDOMPosition position);
-
- /**
- * @return the customization data. This method will only be called after runCustomizer
- * and only if runCustomizer returns IStatus.OK in its severity. The adaptable will
- * be passed to the ITagCreator framework through the CreationData value object. You
- * may return null even if runCustomizer() returns OK.
- */
- public IAdaptable getDropCustomizationData();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IWritableCustomizationData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IWritableCustomizationData.java
deleted file mode 100644
index af9bd678e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/IWritableCustomizationData.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-
-
-/**
- * Represents a writable customization data object.
- *
- * @see ICustomizationData
- *
- * @author Debajit Adhikary
- *
- */
-public interface IWritableCustomizationData extends ICustomizationData
-{
- //------------------------------------------------------------
- // Methods to set the tag identifier information
- //------------------------------------------------------------
-
-
- /**
- * Sets the tag identifier associated with a customization data object
- *
- * @param tagId
- * The tag identifier to set it to
- *
- */
- public void setTagIdentifier(TagIdentifier tagId);
-
-
- //------------------------------------------------------------
- // Methods to set attribute data
- //------------------------------------------------------------
-
-
- /**
- * Sets the attribute data for an existing customization data object
- *
- * @param attrs
- * The AttributeData object to set it to
- *
- */
- public void setAttributes(AttributeData attrs);
-
-
- /**
- * Adds one attribute to an existing customization data object.
- *
- * @param attributeName
- * The name of the attribute
- * @param attributeValue
- * The value of this attribute
- *
- */
- public void addAttribute(String attributeName, String attributeValue);
-
-
- //------------------------------------------------------------
- // Methods to set child data
- //------------------------------------------------------------
-
-
- /**
- * Sets the child tag(s) customization information for an existing customization
- * data object
- *
- * @param data
- * The ChildrenData object to set it to
- *
- */
- public void setChildrenData(ChildrenData data);
-
-
- /**
- * Adds a child to an existing tag. (Adds the child's customization data to
- * the existing tag's customization data)
- *
- * @param childrenData
- * Customization Data for a child
- *
- */
- public void addChildData (ICustomizationData childrenData);
-
-
- //------------------------------------------------------------
- // Methods to set parent customization data
- //------------------------------------------------------------
-
- /**
- * Sets parent customization information for an existing tag's customization
- * data
- *
- * @param parentData
- * The parent data to set it to
- *
- */
- public void setParentData(ParentData parentData);
-
-
- /**
- * Attaches a parent to a tag (The customization data for a parent is added
- * to the tag's customization data). The oldest parent (outermost container
- * tag) should be attached (added) first.
- *
- * @param parentData
- * Parent customization data
- */
- public void addParentData (ICustomizationData parentData);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ParentData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ParentData.java
deleted file mode 100644
index e138685fe..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/customizer/ParentData.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.jst.pagedesigner.itemcreation.customizer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Class to represent parent tag customization data for a tag. This information
- * is stored as a List of ICustomizationData objects, where each
- * ICustomizationData object belongs to one parent tag. (The outermost parent tag
- * (oldest ancestor) should be added first to this list)
- *
- * @author Debajit Adhikary
- *
- */
-public class ParentData
-{
- /**
- * List of ICustomizationData objects to store parent tag information. The
- * outermost parent tag should be added first.
- */
- private List<ICustomizationData> parentList;
-
-
- /**
- * Default constructor
- *
- */
- public ParentData ()
- {
- parentList = new ArrayList<ICustomizationData>();
- }
-
-
- /**
- * @param parentData
- * Customization data to add for the parent tag
- *
- */
- public void add (ICustomizationData parentData)
- {
- this.parentList.add(parentData);
- }
-
-
- /**
- * Returns the Parent customization data as a list of customization objects.
- *
- * @return The parent customization data
- *
- */
- public List<ICustomizationData> getParentCustomizationData ()
- {
- return parentList;
- }
-
-
- /**
- * @param parentList List of ICustomizationData to set it to
- *
- */
- public void setParentCustomizationData (List<ICustomizationData> parentList)
- {
- this.parentList = parentList;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/AbstractCreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/AbstractCreationCommand.java
deleted file mode 100644
index 325c9652c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/AbstractCreationCommand.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.common.command.Command;
-
-/**
- * Internal super-class of all tag creation commands.
- *
- * @author cbateman
- *
- */
-public abstract class AbstractCreationCommand extends AbstractCommand implements
- ICreationCommand
-{
- public abstract void execute();
-
- public final void redo()
- {
- throw new UnsupportedOperationException("don't use"); //$NON-NLS-1$
- }
-
- @Override
- public final boolean canExecute()
- {
- return super.canExecute();
- }
-
- @Override
- public final boolean canUndo() {
- return super.canUndo();
- }
-
- @Override
- public Command chain(Command command) {
- if (command instanceof ICreationCommand)
- {
- return super.chain(command);
- }
- throw new IllegalArgumentException("command must an ICreationCommand"); //$NON-NLS-1$
- }
-
- @Override
- public final void dispose()
- {
- throw new UnsupportedOperationException("don't use"); //$NON-NLS-1$
- }
-
- @Override
- public final Collection<?> getAffectedObjects() {
- return super.getAffectedObjects();
- }
-
- @Override
- public final String getDescription()
- {
- return super.getDescription();
- }
-
- @Override
- public final String getLabel()
- {
- return super.getLabel();
- }
-
- @Override
- public Collection<?> getResult()
- {
- return Collections.EMPTY_LIST;
- }
-
- @Override
- protected abstract boolean prepare();
-
- @Override
- public final void setDescription(String description)
- {
- super.setDescription(description);
- }
-
- @Override
- public final void setLabel(String label)
- {
- super.setLabel(label);
- }
-
- @Override
- public final void undo()
- {
- // for now, there is no undo
- super.undo();
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/DefaultTagCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/DefaultTagCreator.java
deleted file mode 100644
index bcb087caf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/DefaultTagCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-import org.eclipse.jst.pagedesigner.itemcreation.AbstractTagCreator;
-import org.eclipse.jst.pagedesigner.itemcreation.CreationData;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreationAdvisor;
-
-/**
- * {@link org.eclipse.jst.pagedesigner.itemcreation.ITagCreator} used by the Web Page Editor palette.
- *
- * Uses org.eclipse.jst.jsf.common.metadata
- */
-public class DefaultTagCreator extends AbstractTagCreator
-{
-
- @Override
- protected ITagCreationAdvisor doSelectCreationAdvisor(
- CreationData creationData) {
- // return null by default. This causes the default advisor to be used.
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/ICreationCommand.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/ICreationCommand.java
deleted file mode 100644
index bc2f25dbe..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/ICreationCommand.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-
-/**
- * Implemented by commands that do tag model creation. NOTE: this interface is highly provisional
- * and mainly exists to provide a facade to the future use of an existing Command infrastructure:
- * probably the EMF commands. We haven't decided yet so it is important that:
- *
- * This interface should NOT be implemented by clients
- *
- * @author cbateman
- *
- */
-public interface ICreationCommand
-{
- // tagging interface only
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreationFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreationFactory.java
deleted file mode 100644
index 948ed453b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreationFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.elementedit.ElementEditFactoryRegistry;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.itemcreation.AbstractTagCreator;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreator;
-
-/**
- * Creates instances of
- * {@link org.eclipse.jst.pagedesigner.itemcreation.ITagCreator}s
- * (Eventually) Will use TagCreavtorFactories registered using
- * org.eclipse.jst.jsf.pagedesigner.tagcreationfactories ext-pt. Currently only
- * using DefaultTagCreator.
- */
-public class TagCreationFactory
-{
- private static TagCreationFactory INSTANCE = null;
-
- /**
- * @return singleton instance
- */
- public synchronized static TagCreationFactory getInstance()
- {
- if (INSTANCE == null)
- {
- INSTANCE = new TagCreationFactory();
- }
- return INSTANCE;
- }
-
- /**
- * Using the TagToolPaletteEntry, locate the factory to use for tag creation
- *
- * @param tagId
- *
- * @return ITagCreator
- */
- public ITagCreator createTagCreator(final TagIdentifier tagId)
- {
-
- IElementEdit elementEdit = ElementEditFactoryRegistry.getInstance()
- .createElementEdit(tagId);
-
- if (elementEdit != null)
- {
- // for (ITagCreatorFactory factory : factories)
- // {
- ITagCreator tagCreator = null;
- try
- {
- tagCreator = elementEdit.getTagCreator(tagId);
- }
- catch (Exception e)
- {
- PDPlugin.getLogger(getClass()).error(
- "Error.ProblemLoadingTagCreatorFactory", //$NON-NLS-1$
- elementEdit.getClass().toString(), e);
- }
-
- if (tagCreator != null)
- {
- if (tagCreator instanceof AbstractTagCreator)
- {
- return tagCreator;
- }
- // if non-null, skipped, log the issue
- PDPlugin.getLogger(getClass()).error(
- "Error.ProblemLoadingTagCreatorFactory", //$NON-NLS-1$
- "Tag creator must extend AbstractTagCreator", //$NON-NLS-1$
- new Throwable());
- }
- }
-
- // all else fails, use the internal default
- return new DefaultTagCreator();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreatorFactoryRegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreatorFactoryRegistryReader.java
deleted file mode 100644
index ea06009b1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/TagCreatorFactoryRegistryReader.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-
-/**
- * A registry reader that lazy initializes a list of uri-sensitive
- * extensions
- *
- * @author cbateman
- *
- */
-public final class TagCreatorFactoryRegistryReader
-{
- // TODO: move this logic into the ElementEditFacRegistryReader
-// private static Map<String, List<ITagCreatorFactory>> _handlers = null;
-//
-// /**
-// * @param uri the uri to get a list of factories for
-// * @return all available handers for the ext-pt
-// */
-// public static synchronized List<ITagCreatorFactory> getAllHandlers(final String uri)
-// {
-// if (_handlers == null) {
-// _handlers = readAllHandlers();
-// }
-// return _handlers.get(uri);
-// }
-//
-// private static Map<String, List<ITagCreatorFactory>> readAllHandlers()
-// {
-// final Map<String, List<ExtElement>> map =
-// new HashMap<String, List<ExtElement>>();
-//
-// IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
-// .getExtensionPoint(PDPlugin.getPluginId(),
-// IJMTConstants.TAG_CREATOR_FACTORY_EXT_NAME);
-// IExtension[] extensions = extensionPoint.getExtensions();
-//
-// for (int i = 0; i < extensions.length; i++)
-// {
-// IExtension ext = extensions[i];
-// IConfigurationElement[] tagCreationHandlers = ext
-// .getConfigurationElements();
-//
-// for (int j = 0; j < tagCreationHandlers.length; j++) {
-// if (tagCreationHandlers[j].getName().equals(
-// IJMTConstants.TAG_CREATOR_FACTORY_ELEMENT_NAME))
-// {
-// try
-// {
-// final ExtElement extElement =
-// new ExtElement(tagCreationHandlers[j]);
-// List<ExtElement> elements =
-// map.get(extElement.getUri());
-//
-// if (elements == null)
-// {
-// elements = new ArrayList<ExtElement>();
-// map.put(extElement.getUri(), elements);
-// }
-//
-// elements.add(extElement);
-// }
-// catch (CoreException ce)
-// {
-// PDPlugin.getLogger(ExtElement.class)
-// .error("Error.ProblemLoadingExtensionPoint", ce);
-// }
-// }
-// }
-// }
-//
-// final Map<String, List<ITagCreatorFactory>> handlers =
-// new HashMap<String, List<ITagCreatorFactory>>();
-//
-// // now loop through the extensions, looking for collisions
-// // on the same uri
-// for (String uri : map.keySet())
-// {
-// List<ExtElement> elements = map.get(uri);
-//
-// if (elements.size() > 1)
-// {
-// Collections.sort(elements);
-//
-// MultiStatus chainedStatus = new MultiStatus(PDPlugin.getPluginId(), 0, "Collision detected in ITagCreatorFactory extensions for uri: "+uri+". Factories will be queried in the following order with the first contender to provide a ITagCreator winning",
-// new Throwable());
-//
-// for (ExtElement element : elements)
-// {
-// IStatus status =
-// new Status(IStatus.WARNING, PDPlugin.getPluginId(), element.getClassName());
-// chainedStatus.add(status);
-// }
-//
-// PDPlugin.log(chainedStatus);
-// }
-//
-// List<ITagCreatorFactory> factories =
-// new ArrayList<ITagCreatorFactory>();
-//
-// for (ExtElement element : elements)
-// {
-// factories.add(element.getFactoryInstance());
-// }
-//
-// handlers.put(uri, factories);
-// }
-//
-// return handlers;
-// }
-//
-// private static class ExtElement implements Comparable<ExtElement>
-// {
-// private final IConfigurationElement _element;
-//
-// private final ITagCreatorFactory _factoryInstance;
-//
-// ExtElement(IConfigurationElement element) throws CoreException
-// {
-// _element = element;
-//
-// final String uri = getUri();
-// final String factory = getClassName();
-//
-// if (uri == null || factory == null)
-// {
-// throw new CoreException(new Status(IStatus.ERROR,PDPlugin.getPluginId(), "uri and factory must not be null: uri="+uri+", factory="+factory));
-// }
-//
-// Object obj = _element.createExecutableExtension("factory");
-//
-// if (obj instanceof ITagCreatorFactory)
-// {
-// _factoryInstance = (ITagCreatorFactory) obj;
-// }
-// else
-// {
-// throw new CoreException(new Status(IStatus.ERROR,PDPlugin.getPluginId(), "Factory must be instanceof ITagCreatorFactory"));
-// }
-// }
-//
-// /**
-// * @return the uri
-// */
-// public String getUri() {
-// return _element.getAttribute("uri");
-// }
-//
-// /**
-// * @return the class name
-// */
-// public String getClassName() {
-// return _element.getAttribute("factory");
-// }
-//
-// /**
-// * @return the factory instance or null
-// */
-// public ITagCreatorFactory getFactoryInstance()
-// {
-// return _factoryInstance;
-// }
-//
-// /*
-// * Two elements compare by the canonical comparision of their
-// * contributor's bundle name string
-// */
-// public int compareTo(ExtElement o)
-// {
-// return _element.getContributor().getName().compareTo
-// (o._element.getContributor().getName());
-// }
-//
-// @Override
-// public boolean equals(Object obj)
-// {
-// // ensure that x.equals(y) iff x.compareTo(y) == 0
-// if (obj instanceof ExtElement)
-// {
-// return compareTo((ExtElement) obj) == 0;
-// }
-//
-// return false;
-// }
-//
-// @Override
-// public int hashCode()
-// {
-// // ensure that x.equals(y) => x.hashCode == y.hashCode
-// return _element.getContributor().getName().hashCode();
-// }
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/UserCustomizedTagCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/UserCustomizedTagCreator.java
deleted file mode 100644
index a6cef4118..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/internal/UserCustomizedTagCreator.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- *
- */
-package org.eclipse.jst.pagedesigner.itemcreation.internal;
-
-import org.eclipse.jst.pagedesigner.itemcreation.CreationData;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreationAdvisor;
-import org.eclipse.jst.pagedesigner.itemcreation.UserCustomizedTagCreationAdvisor;
-
-/**
- * Tag creation advisor that returns a new ElementCustomizationCommand
- * subclass that will perform customization of attributes, child tags and parent tags
- *
- * @author prusev
- *
- */
-public class UserCustomizedTagCreator extends DefaultTagCreator {
-
- /**
- *
- */
- public UserCustomizedTagCreator()
- {
- // empty
- }
-
- @Override
- protected ITagCreationAdvisor doSelectCreationAdvisor(CreationData creationData) {
- // Return a new tag creation advisor
- return new UserCustomizedTagCreationAdvisor(creationData);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/AttributeDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/AttributeDescriptor.java
deleted file mode 100644
index 0b809fc8e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/AttributeDescriptor.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.jst.jsf.common.ui.internal.utils.StringUtil;
-
-/**
- * @author mengbo
- * @deprecated
- */
-public class AttributeDescriptor implements IAttributeDescriptor {
- private String _attributeName;
-
- private String _category;
-
- private String _valueType;
-
- private String _typeParameter;
-
- private String _labelString;
-
- private String _defaultValue;
-
- private String _description;
-
- private Map _parameterMap;
-
- private Map _options;
-
- private boolean _required;
-
- /**
- *
- */
- public AttributeDescriptor() {
- super();
- }
-
- /**
- * @param attrName
- */
- public AttributeDescriptor(String attrName) {
- this.setAttributeName(attrName);
- }
-
- /**
- * @param attributeName
- */
- public void setAttributeName(String attributeName) {
- this._attributeName = attributeName;
- }
-
- /**
- * @param category
- */
- public void setCategory(String category) {
- this._category = category;
- }
-
- /**
- * @param valueType
- */
- public void setValueType(String valueType) {
- this._valueType = valueType;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.cm.IAttributeDescriptor#getAttributeName()
- */
- public String getAttributeName() {
- return _attributeName;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.cm.IAttributeDescriptor#getDescription()
- */
- public String getDescription() {
- return _description;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.cm.IAttributeDescriptor#getCategory()
- */
- public String getCategory() {
- return _category;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.cm.IAttributeDescriptor#getValueType()
- */
- public String getValueType() {
- return _valueType;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.cm.IAttributeDescriptor#getOptions()
- */
- public Map getOptions() {
- return _options;
- }
-
- /**
- * @param description
- */
- public void setDescription(String description) {
- _description = description;
- }
-
- /**
- * @param map
- * @param defaultValue
- */
- public void setOptions(Map map, String defaultValue) {
- _options = map;
- _defaultValue = defaultValue;
- }
-
- /**
- * @return Returns the typeParameter.
- */
- public String getTypeParameter() {
- return _typeParameter;
- }
-
- /**
- * @param typeParameter
- * The typeParameter to set.
- */
- public void setTypeParameter(String typeParameter) {
- this._typeParameter = typeParameter;
- _parameterMap = null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IAttributeDescriptor#getLabelString()
- */
- public String getLabelString() {
- if (_labelString == null) {
- _labelString = StringUtil.splitVariable(getAttributeName());
- }
- return _labelString;
- }
-
- /**
- * @param labelString
- * The labelString to set.
- */
- public void setLabelString(String labelString) {
- this._labelString = labelString;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IAttributeDescriptor#getParameterByName(java.lang.String)
- */
- public String getParameterByName(String name) {
- if (_parameterMap == null) {
- parseParameter();
- }
- Object value = _parameterMap.get(name);
- return value == null ? "" : value.toString(); //$NON-NLS-1$
- }
-
- /**
- *
- */
- private void parseParameter() {
- _parameterMap = new HashMap();
- if (_typeParameter == null) {
- return;
- }
- StringTokenizer tokenizer = new StringTokenizer(_typeParameter, "||"); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- String parameterEntry = tokenizer.nextToken();
- int index = parameterEntry.indexOf('=');
- if (index != -1) {
- _parameterMap.put(parameterEntry.substring(0, index),
- parameterEntry.substring(index + 1));
- }
- }
- }
-
- public String getDefaultValue() {
- return _defaultValue;
- }
-
- /**
- * @param value
- */
- public void setDefaultValue(String value) {
- _defaultValue = value;
- }
-
- public boolean isRequired() {
- return _required;
- }
-
- /**
- * @param required
- */
- public void setRequired(boolean required) {
- this._required = required;
- }
-
- public String toString(){
- StringBuffer buf = new StringBuffer("AttributeDescriptor: "); //$NON-NLS-1$
- buf.append(this.getAttributeName());
- return buf.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/BindingHandlerDelegate.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/BindingHandlerDelegate.java
deleted file mode 100644
index bace3054f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/BindingHandlerDelegate.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author mengbo
- * @version 1.5
- * @deprecated
- */
-public class BindingHandlerDelegate implements IBindingHandler {
- private static final String BINDING_DISABLED_IMAGE_FILE = "PD_Binding_disabled.gif"; //$NON-NLS-1$
- private static final String BINDING_IMAGE_FILE = "PD_Binding.gif"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IBindingHandler#handleBinding(org.eclipse.swt.widgets.Shell,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement,
- * java.lang.String)
- */
- public String handleBinding(Shell shell, IDOMNode ancester,
- IDOMElement element, String currentValue) {
- IBindingHandler handler = getDelegatedHandler(ancester, element);
- if (handler != null) {
- return handler
- .handleBinding(shell, ancester, element, currentValue);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IBindingHandler#isEnabled(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement)
- */
- // public boolean isEnabled(IDOMNode ancester, IDOMElement element)
- // {
- // IBindingHandler handler = getDelegatedHandler(ancester, element);
- // return (handler == null) ? false : handler.isEnabled(ancester, element);
- // }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IBindingHandler#isEnabled(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement,
- * java.lang.String, java.lang.String,
- * org.eclipse.jst.pagedesigner.meta.IAttributeDescriptor)
- */
- public boolean isEnabled(IDOMNode ancester, IDOMElement element,
- String uri, String tagName, IAttributeDescriptor attr) {
- IBindingHandler handler = getDelegatedHandler(ancester, element);
- return (handler == null) ? false : handler.isEnabled(ancester, element,
- uri, tagName, attr);
- }
-
-// public boolean isEnabled(IDOMNode ancester, IDOMElement element,
-// IPropertyPageDescriptor attr) {
-// IBindingHandler handler = getDelegatedHandler(ancester, element);
-// return (handler == null) ? false : handler.isEnabled(ancester, element,
-// attr);
-// }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.IBindingHandler#getImage()
- */
- public Image getImage() {
- return PDPlugin.getDefault().getImage(BINDING_IMAGE_FILE);
- }
-
- public Image getDisabledImage() {
- return PDPlugin.getDefault().getImage(BINDING_DISABLED_IMAGE_FILE);
- }
-
- private IBindingHandler getDelegatedHandler(IDOMNode ancester,
- IDOMElement element) {
- IProject project = getProject(ancester, element);
- if (project != null) {
- Object obj = project.getAdapter(IBindingHandler.class);
- if (obj instanceof IBindingHandler) {
- return (IBindingHandler) obj;
- }
- }
-
- return null;
- }
-
- private IProject getProject(IDOMNode ancester, IDOMElement element) {
- IDOMModel model = getModel(ancester, element);
- if (model != null) {
- return StructuredModelUtil.getProjectFor(model);
- }
- return null;
- }
-
- private IDOMModel getModel(IDOMNode ancester, IDOMElement element) {
- if (ancester != null) {
- return ancester.getModel();
- } else if (element != null) {
- return element.getModel();
- } else {
- return null;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/DefaultEditorCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/DefaultEditorCreator.java
deleted file mode 100644
index 2275079f8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/DefaultEditorCreator.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.meta.internal.CellEditorFactoryRegistry;
-import org.eclipse.jst.pagedesigner.ui.dialogfields.DialogFieldWrapper;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DefaultEditorCreator extends EditorCreator {
- static IPropertyPageDescriptor _staticAttr;
-
- static IDOMElement _staticElement;
-
- //static IBindingHandler _staticHandler;
-
- static CellEditorHolder _staticHolder;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.EditorCreator#createCellEditor(org.eclipse.swt.widgets.Composite,
- * org.eclipse.jst.pagedesigner.meta.IPropertyPageDescriptor,
- * org.w3c.dom.Element)
- */
- public CellEditor createCellEditor(Composite parent,
- IPropertyPageDescriptor attr, IDOMElement element) {
- return CellEditorFactoryRegistry.getInstance().createCellEditor(parent,
- attr, element);
- }
-
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.meta.EditorCreator#createDialogField(org.eclipse.jst.pagedesigner.meta.IPropertyPageDescriptor)
-// */
-// public DialogField createDialogField(IPropertyPageDescriptor attr) {
-// return CellEditorFactoryRegistry.getInstance().createDialogField(attr);
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.EditorCreator#createCellEditorWithWrapper(org.eclipse.swt.widgets.Composite,
- * org.eclipse.jst.pagedesigner.meta.IPropertyPageDescriptor,
- * org.w3c.dom.Element,
- * org.eclipse.jst.pagedesigner.meta.IBindingHandler,
- * org.eclipse.swt.graphics.Image)
- */
- @SuppressWarnings("deprecation")
- public CellEditor createCellEditorWithWrapper(Composite parent,
- IPropertyPageDescriptor attr, final IDOMElement element,
- IBindingHandler handler1) {
-// final IBindingHandler handler = (handler1 == null ? getSystemDefaultBindingHandler()
-// : handler1);
-// String uri = CMUtil.getElementNamespaceURI(element);
-// String tagName = element.getLocalName();
-
- return createCellEditor(parent, attr, element);
-//
-// if (!handler.isEnabled(element, element, uri, tagName, attr)) {
-// // should not enabled, so directly return original cell editor
-// return createCellEditor(parent, attr, element);
-// }
-// try {
-// // since "createWrappedCellEditor()" and "getBindingImage()" is
-// // called from the constructor of CellEditorWrapper, at that time,
-// // can't reference this DefaultEditorCreator and final fields yet,
-// // so use static variable for it.
-// _staticAttr = attr;
-// _staticElement = element;
-// _staticHandler = handler;
-//
-// return new CellEditorWrapper(parent) {
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#createWrappedCellEditor(org.eclipse.swt.widgets.Composite)
-// */
-// protected CellEditor createWrappedCellEditor(Composite cell) {
-// return EditorCreator.getInstance().createCellEditor(cell,
-// _staticAttr, _staticElement);
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#openDialogBox(org.eclipse.swt.widgets.Control)
-// */
-// protected Object openDialogBox(Control cellEditorWindow) {
-// return handler.handleBinding(cellEditorWindow.getShell(),
-// element, element, convertToString(this.getValue()));
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#getBindingImage()
-// */
-// protected Image getBindingImage() {
-// return _staticHandler.getImage();
-// }
-// };
-// } finally {
-// _staticAttr = null;
-// _staticElement = null;
-// _staticHandler = null;
-// _staticHolder = null;
-// }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.EditorCreator#createCellEditorWithWrapper(org.eclipse.swt.widgets.Composite,
- * org.eclipse.jst.pagedesigner.meta.IPropertyPageDescriptor,
- * org.eclipse.jst.pagedesigner.meta.EditorCreator.CellEditorHolder,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement,
- * org.eclipse.jst.pagedesigner.meta.IBindingHandler)
- */
- @SuppressWarnings("deprecation")
- public CellEditor createCellEditorWithWrapper(Composite parent,
- IPropertyPageDescriptor attr, CellEditorHolder holder,
- final IDOMElement element, IBindingHandler handler1) {
-// final IBindingHandler handler = (handler1 == null ? getSystemDefaultBindingHandler()
-// : handler1);
-// String uri = CMUtil.getElementNamespaceURI(element);
-// String tagName = element.getLocalName();
-
- return holder.createCellEditor(parent);
-
-// if (!handler.isEnabled(element, element, uri, tagName, attr)) {
-// // should not enabled, so directly return original cell editor
-// return holder.createCellEditor(parent);
-// }
-// try {
-// // since "createWrappedCellEditor()" and "getBindingImage()" is
-// // called from the constructor of CellEditorWrapper, at that time,
-// // can't reference this DefaultEditorCreator and final fields yet,
-// // so use static variable for it.
-// _staticElement = element;
-// _staticHandler = handler;
-// _staticHolder = holder;
-//
-// return new CellEditorWrapper(parent) {
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#createWrappedCellEditor(org.eclipse.swt.widgets.Composite)
-// */
-// protected CellEditor createWrappedCellEditor(Composite cell) {
-// return _staticHolder.createCellEditor(cell);
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#openDialogBox(org.eclipse.swt.widgets.Control)
-// */
-// protected Object openDialogBox(Control cellEditorWindow) {
-// return handler.handleBinding(cellEditorWindow.getShell(),
-// element, element, convertToString(this.getValue()));
-// }
-//
-// /*
-// * (non-Javadoc)
-// *
-// * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper#getBindingImage()
-// */
-// protected Image getBindingImage() {
-// return _staticHandler.getImage();
-// }
-// };
-// } finally {
-// _staticAttr = null;
-// _staticElement = null;
-// _staticHandler = null;
-// _staticHolder = null;
-// }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.EditorCreator#createDialogFieldWithWrapper(java.lang.String,
- * java.lang.String,
- * org.eclipse.jst.pagedesigner.meta.IPropertyPageDescriptor,
- * org.eclipse.jst.pagedesigner.meta.IBindingHandler)
- */
- @SuppressWarnings("deprecation")
- public DialogField createDialogFieldWithWrapper(String uri, String tagName,
- IPropertyPageDescriptor attr, IBindingHandler handler1) {
- final IBindingHandler handler = (handler1 == null ? getSystemDefaultBindingHandler()
- : handler1);
- DialogField field = createDialogField(attr);
- // if (field instanceof StringButtonDialogField)
- // {
- // ((StringButtonDialogField) field).setButtonLabel("...");
- // }
- DialogFieldWrapper wrapper = new DialogFieldWrapper(field, handler
- .getImage(), handler.getDisabledImage(), uri, tagName, attr,
- handler);
- wrapper.setDatabindingEnabled(true);
-
- return wrapper;
- }
-
-
-// private String convertToString(Object value) {
-// if (value == null) {
-// return null;
-// }
-// return value.toString();
-// }
-
- @SuppressWarnings("deprecation")
- @Override
- public DialogField createDialogFieldWithWrapper(
- IPropertyPageDescriptor attr, IBindingHandler handler1) {
- final IBindingHandler handler = (handler1 == null ? getSystemDefaultBindingHandler()
- : handler1);
- DialogField field = createDialogField(attr);
- // if (field instanceof StringButtonDialogField)
- // {
- // ((StringButtonDialogField) field).setButtonLabel("...");
- // }
- DialogFieldWrapper wrapper = new DialogFieldWrapper(field, handler
- .getImage(), handler.getDisabledImage(), attr.getUri(), attr.getTagName(), attr,
- handler);
- wrapper.setDatabindingEnabled(true);
-
- return wrapper;
- }
-
- @Override
- public DialogField createDialogField(IPropertyPageDescriptor attr) {
- return CellEditorFactoryRegistry.getInstance().createDialogField(attr);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/EditorCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/EditorCreator.java
deleted file mode 100644
index a6d6bb6ae..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/EditorCreator.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class EditorCreator {
- static EditorCreator _instance;
-
- @SuppressWarnings("deprecation")
- static IBindingHandler _defaultHandler = new BindingHandlerDelegate();
-
- /**
- *
- */
- public static interface CellEditorHolder {
- /**
- * @param parent
- * @return the cell editor
- */
- public CellEditor createCellEditor(Composite parent);
- }
-
- /**
- * Create a dialog field without databinding using the specified attribute
- * descriptor.
- *
- * @param attr
- * @return DialogField
- */
- public abstract DialogField createDialogField(IPropertyPageDescriptor attr);
-
- /**
- * Create a dialog field that will have databinding support. Basically, this
- * method will create a normal dialog field using the attribute descriptor,
- * then make a wrapper on it.
- *
- * @param uri
- * the namespace uri
- * @param tagName
- * the local tag name
- * @param attr
- * @param handler
- * if null, system default mechanism will be used.
- * @return DialogField
- */
- @SuppressWarnings("deprecation")
- public abstract DialogField createDialogFieldWithWrapper(String uri,
- String tagName, IPropertyPageDescriptor attr, IBindingHandler handler);
-
-
- /**
- * @param descriptor
- * @param handler
- * @return the dialog field
- */
- @SuppressWarnings("deprecation")
- public abstract DialogField createDialogFieldWithWrapper(IPropertyPageDescriptor descriptor, IBindingHandler handler);
-//
-// /**
-// * Create a dialog field that will have databinding support. Basically, this
-// * method will create a normal dialog field using the attribute descriptor,
-// * then make a wrapper on it.
-// *
-// * @param uri
-// * the namespace uri
-// * @param tagName
-// * the local tag name
-// * @param attrName
-// * @param handler
-// * if null, system default mechanism will be used.
-// * @return DialogField
-// */
-// public abstract DialogField createDialogFieldWithWrapper(String uri,
-// String tagName, String attrName, IBindingHandler handler);
- /**
- * Create a cell editor.
- *
- * @param parent
- * @param attr
- * @param element
- * @return CellEditor
- */
- public abstract CellEditor createCellEditor(Composite parent,
- IPropertyPageDescriptor attr, IDOMElement element);
-
- /**
- * Create a cell editor that will have databinding support.
- *
- * @param parent
- * @param attr
- * @param element
- * @param handler
- * if null, system default mechanism will be used.
- * @return CellEditor
- */
- @SuppressWarnings("deprecation")
- public abstract CellEditor createCellEditorWithWrapper(Composite parent,
- IPropertyPageDescriptor attr, IDOMElement element,
- IBindingHandler handler);
-
- /**
- * Create a cell edtior that will have databinding support. This method
- * don't provide an attribute descriptor, but it provide a CellEditorHolder
- * to create whatever normal cell editor it wants.
- *
- * @param parent
- * @param attr
- * could be null
- * @param holder
- * @param element
- * @param handler
- * if null, system default mechanism will be used.
- * @return CellEditor
- */
- @SuppressWarnings("deprecation")
- public abstract CellEditor createCellEditorWithWrapper(Composite parent,
- IPropertyPageDescriptor attr, CellEditorHolder holder,
- IDOMElement element, IBindingHandler handler);
-
- /**
- * @return the singleton instance
- */
- public static EditorCreator getInstance() {
- if (_instance == null) {
- _instance = new DefaultEditorCreator();
- }
- return _instance;
- }
-
- /**
- * @return the binding handler
- */
- @SuppressWarnings("deprecation")
- public IBindingHandler getSystemDefaultBindingHandler() {
- return _defaultHandler;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeDescriptor.java
deleted file mode 100644
index 91f5f27c2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeDescriptor.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import java.util.Map;
-
-/**
- *
- * @author mengbo
- * @deprecated
- */
-public interface IAttributeDescriptor {
- /**
- * suffix
- */
- final String PARAMETER_SUFFIX = "suffix"; //$NON-NLS-1$
-
- /**
- * style
- */
- final String PARAMETER_STYLE = "style"; //$NON-NLS-1$
-
- /**
- * super type
- */
- final String PARAMETER_SUPER_TYPE = "superType"; //$NON-NLS-1$
-
- /**
- * separator
- */
- final String PARAMETER_SEPARATOR = "separator"; //$NON-NLS-1$
-
- /**
- * default
- */
- final String PARAMETER_DEFAULT = "default"; //$NON-NLS-1$
-
- /**
- * get the name of the attribute.
- *
- * @return the attribute name
- */
- public String getAttributeName();
-
- /**
- * Returns a brief description of this property. This localized string is
- * shown to the user when this property is selected. and it is used as
- * tooltip of the property now.
- *
- * @return a brief description, or <code>null</code> if none
- */
- public String getDescription();
-
- /**
- * return the category for this attribute.
- *
- * @return the category
- */
- public String getCategory();
-
- /**
- * value type is used to construct the cell editor.
- *
- * @return the value type
- */
- public String getValueType();
-
- /**
- * Some value type contains additional parameter information. For example,
- * if valueType is CLASSNAME, the typeParameter could be super
- * interface/super class name.
- *
- * NOTE: if valueType is ENUMERATION, caller should use
- * <code>getOptions()</code>
- *
- * @return null if there is no type parameter.
- */
- public String getTypeParameter();
-
- /**
- * @param name
- * @return the parameter
- */
- public String getParameterByName(String name);
-
- /**
- * when the value type is "enumeration", this method will be called to
- * construct the drop downlist.
- *
- * The Map will be (key->display string)
- *
- * @return the options
- */
- public Map getOptions();
-
- /**
- * Gets the default value of Options
- *
- * @return the default value
- */
- public String getDefaultValue();
-
- /**
- * A human readable string as the label of the attribute.
- *
- * @return the label
- */
- public String getLabelString();
-
- /**
- * Indicate whether the attribute is required.
- *
- * @return true if is required
- */
- public boolean isRequired();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeRuntimeValueType.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeRuntimeValueType.java
deleted file mode 100644
index 8a9512ce0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IAttributeRuntimeValueType.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-/**
- * Enumeration of core attribute-value-runtime-types.
- * Not to be implemented by clients.
- */
-public interface IAttributeRuntimeValueType {
- // shared for html and jsf
- /**
- *
- */
- static final String prefix1 = "org.eclipse.jst.jsf.core.attributevalues."; //$NON-NLS-1$
- /**
- *
- */
- static final String prefix2 = "org.eclipse.jst.pagedesigner.attributevalues."; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String BASE = prefix1+"BaseType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String CSSSTYLE = prefix1+"CSSStyleType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String CSSCLASS = prefix1+"CSSClassType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String CSSID = prefix1+"CSSIdType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String STRING = prefix1+"StringType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String BOOLEAN = prefix1+"BooleanType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String RELATIVEPATH = prefix1+"RelativePathType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String WEBPATH = prefix1+"WebPathType"; //FIXME //$NON-NLS-1$
-
- /**
- *
- */
- public static final String COLOR = prefix1+"ColorType"; //$NON-NLS-1$
-
-// public static final String NAMED_BOOLEAN = prefix1+"NAMED-BOOLEAN";
-
- /**
- *
- */
- public static final String LONG = prefix1+"LongType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String INTEGER = prefix1+"IntegerType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String DOUBLE = prefix1+"DoubleType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String METHODBINDING = prefix1+"MethodBindingType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String JAVACLASS = prefix1+"JavaClassType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String SCRIPT = prefix1+"ScriptType"; //$NON-NLS-1$
-
-// public static final String PROPERTYBINDING = prefix1+"PROPERTYBINDING";
-
- /**
- *
- */
- public static final String VALUE = prefix1+"ValueType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String VALUEBINDING = prefix1+"ValueBindingType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String TIMEZONE = prefix1+"TimeZoneType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String ACTION = prefix1+"ActionType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String CLASSPATH_RESOURCE = prefix1+"CLASSPATH_RESOURCE"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String CURRENCYCODE = prefix1+"CurrencyCodeType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String LINK = prefix1+"LinkType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String LOCALE = prefix1+"LocaleType"; //$NON-NLS-1$
-
-// public static final String MULTICHOICE = prefix1+"MULTICHOICE";
-
- /**
- *
- */
- public static final String FACESCONFIGIDENTIFIER = prefix1+"FacesConfigIdentifierType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String FACESCONFIGVALIDATORID = prefix1+"FacesConfigValidatorIDType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String FACESCONFIGCONVERTERID = prefix1+"FacesConfigConverterIDType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String COMPONENTBINDING = prefix1+"ComponentBindingType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String COMPONENTID = prefix1+"ComponentIDType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String LENGTH = prefix1+"LengthType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String RESOURCEBUNDLE = prefix1+"ResourceBundleType"; //$NON-NLS-1$
-
- /**
- *
- */
- public static final String LANGUAGECODE = prefix1+"LanguageCodeType"; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IBindingHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IBindingHandler.java
deleted file mode 100644
index 514cb4140..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/IBindingHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author mengbo
- * @version 1.5
- * @deprecated
- */
-public interface IBindingHandler {
- /**
- * This handler should open a dialog to accept user input.
- *
- * @param shell
- * @param ancester
- * @param element
- * @param currentValue
- * @return null means user canceled the operation.
- */
- public String handleBinding(Shell shell, IDOMNode ancester,
- IDOMElement element, String currentValue);
-
- /**
- * Whether should the binding be enabled for the specified element context.
- * element could be null.
- *
- * @param ancester
- * @param element
- * @param uri
- * @param tagName
- * @param attr
- * could be null.
- * @return true if is enabled
- */
- public boolean isEnabled(IDOMNode ancester, IDOMElement element,
- String uri, String tagName, IAttributeDescriptor attr);
-
-
-// public boolean isEnabled(IDOMNode ancester, IDOMElement element,
-// IPropertyPageDescriptor attr);
-
- /**
- * given the meta data of an attribute, to see whether should enable binding
- * handler for it.
- *
- * @param uri
- * @param tagName
- * @param attr
- * @return
- */
- // public boolean isEnabled(String uri, String tagName, IAttributeDescriptor
- // attr);
- /**
- * Image used for the small button.
- *
- * @return the image
- */
- public Image getImage();
-
- /**
- * @return the image indicating disablement
- */
- public Image getDisabledImage();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/ITagAttributeCellEditorFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/ITagAttributeCellEditorFactory.java
deleted file mode 100644
index 363f858e5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/ITagAttributeCellEditorFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.swt.widgets.Composite;
-import org.w3c.dom.Element;
-
-/**
- * Factory for creating CellEditors and DialogFields to edit element attributes.
- */
-public interface ITagAttributeCellEditorFactory {
- /**
- * create cell editor
- *
- * @param parent
- * @param attr
- * @param ele
- * @return null means failed to create cell editor
- */
- public CellEditor createCellEditor(Composite parent,
- IPropertyPageDescriptor attr, Element ele);
-
- /**
- * Normally, the DialogField for an attribute may appear in the following
- * places.
- * <ol>
- * <li>In the Quick Editor properties view, used to edit an element.
- * <li>In a dialog to edit an element
- * <li>In a dialog, to create an element
- * </ol>
- *
- * It is the caller's responsibility to add valueChanged listener to the
- * dialog field to decide how to apply the value.
- *
- * It is also the caller's responsibility to set the initial value of the
- * field.
- *
- * The field should always be an instanceof <code>ISupportTextValue</code>,
- * it could also optionally implement <code>IElementContextable</code>
- *
- * @param attr
- * the attribute descriptor, meta data
- * @return A dialog field. null means this factory can't create one.
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue
- */
- public DialogField createDialogField(IPropertyPageDescriptor attr);
-
- /**
- * The attribute runtime value types supported by this factory.
- *
- * @return null means this factory can behave as default factory.
- */
- public String[] getSupportedValueTypes();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CategoryNameComparator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CategoryNameComparator.java
deleted file mode 100644
index 2a438b3e0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CategoryNameComparator.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta.internal;
-
-import java.util.Comparator;
-import java.util.HashSet;
-
-/**
- * Sorts categories and ensures that @see{ITabbedPropertiesConstants.OTHER_CATEGORY} comes last
- * @author mengbo
- */
-public class CategoryNameComparator implements Comparator {
- static HashSet _pairs = new HashSet();
-
- private final static CategoryNameComparator _instance = new CategoryNameComparator();
-
- static class Pair {
- String s1;
-
- String s2;
-
- Pair(String a, String b) {
- s1 = a;
- s2 = b;
- }
-
- public int hashCode() {
- return s1.hashCode() + s2.hashCode();
- }
-
- public boolean equals(Object o) {
- if (o instanceof Pair) {
- Pair p = (Pair) o;
- return s1.equals(p.s1) && s2.equals(p.s2);
- }
- return false;
- }
- }
-
- /**
- * @param s1
- * @param s2
- */
- public static void addPair(String s1, String s2) {
- _pairs.add(new Pair(s1, s2));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- if (o1.equals(o2))
- return 0;
-
- //Below code sorted OTHER category ("Attributes") to the bottom
- //Commenting out as it just looks strange
-// if (ITabbedPropertiesConstants.OTHER_CATEGORY.equals(o1))
-// return 1;
-// if (ITabbedPropertiesConstants.OTHER_CATEGORY.equals(o2))
-// return -1;
-
-// Pair p = new Pair((String) o1, (String) o2);
-// if (_pairs.contains(p))
-// return -1;
- return ((String)o1).compareTo(((String)o2));
- }
-
- /**
- * @return the instance
- */
- public static CategoryNameComparator getInstance() {
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFacRegistryReader.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFacRegistryReader.java
deleted file mode 100644
index 72e89382a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFacRegistryReader.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory;
-
-/**
- * Read the registry to find out all the CellEditorFactory.
- *
- * @author mengbo
- */
-public class CellEditorFacRegistryReader {
- static ITagAttributeCellEditorFactory[] _factories = null;
-
- /**
- * @return ITagAttributeCellEditorFactory[]
- */
- public static synchronized ITagAttributeCellEditorFactory[] getAllFactories() {
- if (_factories == null) {
- _factories = readAllFactories();
- }
- return _factories;
-
- }
-
- private static ITagAttributeCellEditorFactory[] readAllFactories() {
- List result = new ArrayList();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint(PDPlugin.getPluginId(),
- IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- IExtension[] extensions = extensionPoint.getExtensions();
-
- for (int i = 0; i < extensions.length; i++) {
- IExtension ext = extensions[i];
- IConfigurationElement[] facs = ext.getConfigurationElements();
-
- for (int j = 0; j < facs.length; j++) {
- if (facs[j].getName().equals(
- IJMTConstants.TAG_ATTRIBUTE_CELLEDITOR_FACTORY)) {
- Object obj;
- try {
- obj = facs[j].createExecutableExtension("class"); //$NON-NLS-1$
-
- if (obj instanceof ITagAttributeCellEditorFactory) {
- result.add(obj);
- }
- } catch (CoreException e) {
- // ignore the exception
- e.printStackTrace();
- }
- }
- }
- }
- ITagAttributeCellEditorFactory[] ret = new ITagAttributeCellEditorFactory[result
- .size()];
- result.toArray(ret);
- return ret;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFactoryRegistry.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFactoryRegistry.java
deleted file mode 100644
index e4cdaf55a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/meta/internal/CellEditorFactoryRegistry.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.meta.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StringDialogField;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory;
-import org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorFactory;
-import org.eclipse.swt.widgets.Composite;
-import org.w3c.dom.Element;
-
-/**
- * CellEditorFactoryRegistry also read information from plugin.xml extension to
- * allow other plugins to contribute new kinds of cell editors.
- *
- */
-public class CellEditorFactoryRegistry {
-// private static final Logger _log = PDPlugin
-// .getLogger(CellEditorFactoryRegistry.class);
-
- private static CellEditorFactoryRegistry _instance;
-
- private Map _factoryMap = new HashMap();
-
- private List _defaultFactories = new ArrayList();
-
- /**
- * @return singleton CellEditorFactoryRegistry
- */
- public static CellEditorFactoryRegistry getInstance() {
- if (_instance == null) {
- _instance = new CellEditorFactoryRegistry();
- }
- return _instance;
- }
-
- private CellEditorFactoryRegistry() {
- ITagAttributeCellEditorFactory[] facs = CellEditorFacRegistryReader
- .getAllFactories();
- if (facs != null) {
- for (int i = 0; i < facs.length; i++) {
- addCellEditorFactory(facs[i]);
- }
- }
- addCellEditorFactory(new CellEditorFactory());
- }
-
- /**
- * @param fac
- */
- public void addCellEditorFactory(ITagAttributeCellEditorFactory fac) {
- String[] types = fac.getSupportedValueTypes();
- if (types == null || types.length == 0) {
- _defaultFactories.add(fac);
- } else {
- for (int i = 0; i < types.length; i++) {
- _factoryMap.put(types[i], fac);
- }
- }
- }
-
- /**
- * Return cell editor for attribute based upon runtime value type
- * @param parent
- * @param attr
- * @param element
- * @return CellEditor
- */
- public CellEditor createCellEditor(Composite parent,
- IPropertyPageDescriptor attr, Element element) {
- String type = attr.getValueType();
- if (type == null || type.length() == 0)
- return null;
-
- CellEditor result = null;
- ITagAttributeCellEditorFactory fac = (ITagAttributeCellEditorFactory) _factoryMap
- .get(type);
-
- if (fac != null) {
- result = fac.createCellEditor(parent, attr, element);
- }
- if (result == null) {
- for (int i = 0, size = _defaultFactories.size(); i < size; i++) {
- result = ((ITagAttributeCellEditorFactory) _defaultFactories
- .get(i)).createCellEditor(parent, attr, element);
- if (result != null)
- break;
- }
- }
- return result;
- }
-
- /**
- * @param attr
- * @return DialogField
- */
- public DialogField createDialogField(IPropertyPageDescriptor attr) {
- String type = attr.getValueType();
- if (type == null || type.length() == 0) {
- DialogField result = createTextDialogField(attr);
- result.setLabelText(attr.getLabel()); //labelProvider???
- return result;
- }
-// type = type.toUpperCase();
-
- DialogField result = null;
- ITagAttributeCellEditorFactory fac = (ITagAttributeCellEditorFactory) _factoryMap
- .get(type);
- if (fac != null) {
- result = fac.createDialogField(attr);
- }
- if (result == null) {
- for (int i = 0, size = _defaultFactories.size(); i < size; i++) {
- result = ((ITagAttributeCellEditorFactory) _defaultFactories
- .get(i)).createDialogField(attr);
- if (result != null) {
- break;
- }
- }
- }
- if (result == null) {
- result = createTextDialogField(attr);
- }
- if (!(result instanceof ISupportTextValue)) {
- result = createTextDialogField(attr);
- }
-// result.setLabelText(attr.getLabel() + ":"); //$NON-NLS-1$
- return result;
- }
-
- /**
- * @param attr
- * @return DialogField
- */
- public DialogField createTextDialogField(IPropertyPageDescriptor attr) {
- StringDialogField field = new StringDialogField();
- field.setLabelText(attr.getLabel());
- field.setRequired(attr.isRequired());
- field.setToolTip(attr.getDescription());
- return field;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/CSSStyleAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/CSSStyleAdapterFactory.java
deleted file mode 100644
index e9f63ba3c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/CSSStyleAdapterFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.style.AbstractStyle;
-import org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences;
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CSSStyleAdapterFactory extends AbstractAdapterFactory {
- static Class ADAPTERKEY = ICSSStyle.class;
- private final PDPreferences _prefs;
-
- private CSSStyleAdapterFactory() {
- super(ADAPTERKEY, true);
- _prefs = new PDPreferences();
- }
-
- /*
- * (non-Javadoc)
- * @seeorg.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory#createAdapter(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier)
- */
- protected INodeAdapter createAdapter(INodeNotifier target) {
- if (target instanceof Element) {
- return new AbstractStyle((Element) target, _prefs);
- }
- return null;
- }
-
- /**
- * @return the factory instance
- */
- public static CSSStyleAdapterFactory getInstance() {
- // TODO: this 'singleton' is broken
- return new CSSStyleAdapterFactory();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/DocumentEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/DocumentEditPart.java
deleted file mode 100644
index 92c9bb9f4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/DocumentEditPart.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-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.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowPage;
-import org.eclipse.wst.css.core.internal.event.ICSSStyleListener;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector;
-import org.eclipse.wst.html.core.internal.htmlcss.StyleListener;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- */
-public class DocumentEditPart extends NodeEditPart implements StyleListener,
- ICSSStyleListener {
- boolean _refreshing = false;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
- */
- protected List getModelChildren() {
- List list = new ArrayList();
- Node model = (Node) getModel();
- if (model == null) {
- return list;
- }
-
- NodeList children1 = model.getChildNodes();
- for (int i = 0, n = children1.getLength(); i < n; i++) {
- Node node = children1.item(i);
- if (node.getNodeType() != Node.TEXT_NODE
- && node.getNodeType() != Node.ELEMENT_NODE) {
- continue;
- }
- list.add(node);
- }
- return list;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
- */
- protected IFigure createFigure() {
- FlowPage f = new FlowPage();
- return f;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- refresh();
- }
-
- /**
- * @param recursive
- */
- public void refresh(final boolean recursive)
- {
- if (!recursive)
- {
- refresh();
- }
- else
- {
- refreshVisuals();
- refreshChildren(recursive);
- refreshSourceConnections();
- refreshTargetConnections();
-
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#refresh()
- */
- public void refresh() {
- if (_refreshing) {
- return;
- }
- _refreshing = true;
- try {
- super.refresh();
- } finally {
- _refreshing = false;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractEditPart#refreshChildren()
- */
- protected void refreshChildren() {
- refreshChildren(false);
- }
-
- /**
- * @param recursive
- */
- protected void refreshChildren(final boolean recursive)
- {
- super.refreshChildren();
- List children1 = getChildren();
- for (int i = 0, size = children1.size(); i < size; i++)
- {
- final EditPart editPart = (EditPart) children1.get(i);
- if (editPart instanceof ElementEditPart)
- {
- ((ElementEditPart)editPart).refresh(recursive);
- }
- else
- {
- editPart.refresh();
- }
- }
- }
-
- // protected void removeChildVisual(EditPart childEditPart)
- // {
- // if (childEditPart instanceof SubNodeEditPart)
- // {
- // Node node = ((SubNodeEditPart) childEditPart).getNodeForFigure();
- // if (node != null)
- // {
- // getDestDocumentForDesign().removeChild(node);
- // }
- // }
- // super.removeChildVisual(childEditPart);
- // }
- //
- // protected void addChildVisual(EditPart childEditPart, int index)
- // {
- // if (childEditPart instanceof SubNodeEditPart)
- // {
- // Node node = ((SubNodeEditPart) childEditPart).getNodeForFigure();
- // if (node != null)
- // {
- // NodeList nodeList = getDestDocumentForDesign().getChildNodes();
- // if (nodeList.getLength() > index)
- // {
- // getDestDocumentForDesign().insertBefore(node, nodeList.item(index));
- // }
- // else
- // {
- // getDestDocumentForDesign().appendChild(node);
- // }
- // }
- // }
- // super.addChildVisual(childEditPart, index);
- // }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.html.core.internal.htmlcss.StyleListener#styleChanged()
- */
- public void styleChanged() {
- // refresh the whole document when style change (<style> or <link>)
- this.refreshStyle();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.css.core.internal.event.ICSSStyleListener#styleChanged(org.eclipse.wst.css.core.internal.provisional.document.ICSSModel,
- * org.eclipse.wst.css.core.document.ICSSSelector[],
- * org.eclipse.wst.css.core.document.ICSSSelector[], java.lang.String)
- */
- public void styleChanged(ICSSModel srcModel, ICSSSelector[] removed,
- ICSSSelector[] added, String media) {
- if ((removed != null && removed.length > 0) || added != null
- && added.length > 0) {
- this.refreshStyle();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.css.core.internal.event.ICSSStyleListener#styleUpdate(org.eclipse.wst.css.core.internal.provisional.document.ICSSModel)
- */
- public void styleUpdate(ICSSModel srcModel) {
- this.refreshStyle();
- }
-
- /**
- *
- */
- private void refreshStyle() {
- List childParts = this.getChildren();
- for (Iterator iter = childParts.iterator(); iter.hasNext();) {
- EditPart part = (EditPart) iter.next();
- if (part instanceof ElementEditPart) {
- IDOMNode node = (IDOMNode) ((ElementEditPart) part)
- .getNodeForFigure();
- if (node != null) {
- refreshChildStyles(node);
- }
- }
- }
- getFigure().revalidate();
- // getFigure().repaint();
- }
-
- /**
- * @param node
- */
- private void refreshChildStyles(IDOMNode node) {
- NodeList childNodes = node.getChildNodes();
- for (int i = 0, size = childNodes.getLength(); i < size; i++) {
- refreshChildStyles((IDOMNode) childNodes.item(i));
- }
- if (node instanceof IDOMElement) {
- // only refresh style on element.
- ICSSStyle a = (ICSSStyle) node.getAdapterFor(ICSSStyle.class);
- if (a != null) {
- a.reset();
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/EditProxyAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/EditProxyAdapter.java
deleted file mode 100644
index cac125236..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/EditProxyAdapter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.jst.pagedesigner.css2.style.IRangeSelectionProxy;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-
-/**
- * EditProxyAdapter is used to provide additional information to the underlying
- * figures. As when we doing the "convert", we are creating new nodes and
- * generate figure using those new nodes. This class is used to adapt to those
- * new nodes, and providing additional information to them.
- *
- * @author mengbo
- * @version 1.5
- */
-public class EditProxyAdapter implements INodeAdapter, IRangeSelectionProxy {
- ElementEditPart _part;
-
- /**
- * @param part
- */
- public EditProxyAdapter(ElementEditPart part) {
- _part = part;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- if (type == IRangeSelectionProxy.class) {
- return true;
- } else if (type == EditProxyAdapter.class) {
- return true;
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.css2.style.IRangeSelectionProxy#isRangeSelected()
- */
- public boolean isRangeSelected() {
- return _part.isRangeSelected();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/ElementEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/ElementEditPart.java
deleted file mode 100644
index f85bfbaab..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/ElementEditPart.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSWidgetLayout;
-import org.eclipse.jst.pagedesigner.css2.style.AbstractStyle;
-import org.eclipse.jst.pagedesigner.css2.widget.HiddenProvider;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.jst.pagedesigner.editpolicies.ElementMenuBar;
-import org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy;
-import org.eclipse.jst.pagedesigner.editpolicies.IEnhancedSelectionEditPolicy;
-import org.eclipse.jst.pagedesigner.elementedit.ElementEditFactoryRegistry;
-import org.eclipse.jst.pagedesigner.elementedit.IElementEdit;
-import org.eclipse.jst.pagedesigner.figurehandler.FigureFactory;
-import org.eclipse.jst.pagedesigner.figurehandler.IFigureHandler;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.requests.PageDesignerRequestConstants;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ElementEditPart extends SubNodeEditPart {
- private static Logger _log = PDPlugin.getLogger(ElementEditPart.class);
-
- private Element _elementNode;
-
- private ITagConverter _tagConverter;
-
- private ElementMenuBar _nonVisualElementBar;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.EditPart#setModel(java.lang.Object)
- */
- public void setModel(Object model) {
- super.setModel(model);
- _elementNode = (Element) model;
- _tagConverter = getTagConverter(_elementNode);
- _tagConverter.convertRefresh(null);
- adaptEditProxy();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.NodeEditPart#getDragTracker(org.eclipse.gef.Request)
- */
- public DragTracker getDragTracker(Request request)
- {
- EditPolicy policy = this
- .getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
-
- if (PageDesignerRequestConstants.REQ_SELECTION_TRACKER.equals(request.getType())
- || org.eclipse.gef.RequestConstants.REQ_SELECTION.equals(request.getType()))
- {
- if (policy instanceof IEnhancedSelectionEditPolicy
- && request instanceof LocationRequest)
- {
- return ((IEnhancedSelectionEditPolicy)policy).getSelectionDragTracker((LocationRequest)request);
- }
-
- return null;
- }
-
- // should not happen
- return new DragEditPartsTracker(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.NodeEditPart#createEditPolicies()
- */
- protected void createEditPolicies() {
- super.createEditPolicies();
- IElementEdit support = getElementEdit();
- if (support != null) {
- support.createEditPolicies(this);
- }
-
- // if ElementEdit didn't install special SELECTION_FEEDBACK_ROLE policy,
- // then default
- if (this.getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE) == null) {
- this.installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE,
- new ElementResizableEditPolicy());
- }
- }
-
- /**
- * @return the associated element edit
- */
- public IElementEdit getElementEdit() {
- // XXX: should we cache it?
- return ElementEditFactoryRegistry.getInstance().createElementEdit(
- _elementNode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.NodeEditPart#addNotify()
- */
- public void addNotify() {
- if (_tagConverter == null) {
- _tagConverter = getTagConverter(_elementNode);
- _tagConverter.convertRefresh(null);
- adaptEditProxy();
- }
- super.addNotify();
- }
-
- /**
- * @param node
- * @return
- */
- private ITagConverter getTagConverter(Element node) {
- return DTManager.getInstance().getTagConverter(node,
- IConverterFactory.MODE_DESIGNER,
- this.getDestDocumentForDesign());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#removeNotify()
- */
- public void removeNotify() {
- super.removeNotify();
- // if (_tagConverter != null)
- // {
- // _tagConverter.dispose();
- // _tagConverter = null;
- // }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
- */
- protected List getModelChildren() {
- List children_ = new ArrayList(_tagConverter.getChildModeList());
-
- for (Iterator it = _tagConverter.getNonVisualChildren().iterator(); it.hasNext();)
- {
- Element nonVisualChild = (Element) it.next();
- children_.add(DTManager.getInstance().getTagConverter(nonVisualChild,
- IConverterFactory.MODE_DESIGNER,
- this.getDestDocumentForDesign()));
- }
- return children_;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
- */
- protected IFigure createFigure() {
- // if (_tagConverter.isVisualByHTML())
- // {
- // Element result = _tagConverter.getResultElement();
- // return FigureFactory.createFigure(result,
- // true);//_tagConverter.isMultiLevel());
- // }
- // else
- // {
- // CSSWidgetFigure figure = new CSSWidgetFigure(this._elementNode,
- // createHiddenProvider());
- // return figure;
- // }
- return new CSSFigure();
- }
-
- /**
- * @return
- */
- private HiddenProvider createHiddenProvider() {
- Element result = _tagConverter.getHostElement();
- String localName = result.getLocalName();
- String appendString = localName;
- if (localName.equalsIgnoreCase(IJSPCoreConstants.TAG_DIRECTIVE_TAGLIB)) {
- appendString = ((IDOMElement) result)
- .getAttribute(IJSPCoreConstants.ATTR_URI);
- if (appendString == null) {
- appendString = ((IDOMElement) result)
- .getAttribute(IJSPCoreConstants.ATTR_TAGDIR);
- if (appendString == null)
- appendString = ""; //$NON-NLS-1$
- }
- }
- Image image = _tagConverter.getVisualImage();
- HiddenProvider provider = new HiddenProvider(image, this);
- ((CSSFigure) getFigure()).setCSSStyle(provider.getCSSStyle());
- provider.setLabel(appendString);
- return provider;
- }
-
- /**
- * called by the
- * @param recursive
- *
- */
- public void refreshModelChange(boolean recursive) {
- IElementEdit support = getElementEdit();
- if (support == null
- || !support.handleModelChange(_elementNode, this, recursive)) {
- this.refresh(recursive);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#refresh()
- */
- public void refresh() {
- refresh(false);
- }
-
- /**
- * @param recursive
- */
- public void refresh(boolean recursive) {
- if (!_tagConverter.isVisualByHTML()) {
- _tagConverter.convertRefresh(null);
- ((CSSFigure) getFigure())
- .setFixedLayoutManager(new CSSWidgetLayout(
- (CSSFigure) getFigure(), createHiddenProvider()));
- // nothing to refresh
- // ((CSSWidgetFigure)
- // getFigure()).setProvider(createHiddenProvider());
- return;
- }
- EditPart editPart;
- Object model;
-
- Map modelToEditPart = new HashMap();
- List children1 = getChildren();
-
- for (int i = 0, n = children1.size(); i < n; i++) {
- editPart = (EditPart) children1.get(i);
- modelToEditPart.put(editPart.getModel(), editPart);
- // remove child visual, since we may reconstruct the figure
- // structure of this edit part
- removeChildVisual(editPart);
- }
-
- Element oldEle = _tagConverter.getResultElement();
-
- // link parent node.
- Node parent = oldEle.getParentNode();
- _tagConverter.convertRefresh(null);
- if (parent != null) {
- // a new element is generated. replace the old one.
- parent.replaceChild(_tagConverter.getResultElement(), oldEle);
- }
-
- adaptEditProxy();
-
- // XXX: comment out the if-else for always deep update.
- // this is for the case when a empty container generate child
- // text node, and then when user input data into the container,
- // the node change from "multiLevel" state to "non-multilevel"
- // state. We don't handle this very well yet, so always to deep
- // update for now. (lium)
- // if (_tagConverter.isMultiLevel())
- // {
- FigureFactory.updateDeepFigure(_tagConverter.getResultElement(),
- oldEle, (CSSFigure) this.getFigure());
- // }
- // else
- // {
- // FigureFactory.updateNonDeepFigure(_tagConverter.getResultElement(),
- // this.getFigure());
- // }
-
- List modelObjects = getModelChildren();
- if (!recursive) {
- for (int i = 0, n = modelObjects.size(); i < n; i++) {
- model = modelObjects.get(i);
-
- // Look to see if the EditPart is already around but in the
- // wrong location
- editPart = (EditPart) modelToEditPart.remove(model);
-
- if (editPart != null) {
- addChildVisual(editPart, i);
- } else {
- // An editpart for this model doesn't exist yet. Create and
- // insert one.
- editPart = createChild(model);
- addChild(editPart, i);
- }
- }
- for (Iterator iter = modelToEditPart.values().iterator(); iter
- .hasNext();) {
- EditPart part = (EditPart) iter.next();
- removeChild(part);
- }
- } else {
- // remove all child, and recreate them.
- for (Iterator iter = modelToEditPart.values().iterator(); iter
- .hasNext();) {
- EditPart part = (EditPart) iter.next();
- removeChild(part);
- }
- for (int i = 0, n = modelObjects.size(); i < n; i++) {
- model = modelObjects.get(i);
-
- // Look to see if the EditPart is already around but in the
- // wrong location
- // An editpart for this model doesn't exist yet. Create and
- // insert one.
- editPart = createChild(model);
- addChild(editPart, i);
- }
- }
- }
-
- /**
- *
- */
- private void adaptEditProxy() {
- Element resultEle = _tagConverter.getResultElement();
- if (resultEle instanceof IDOMElement) {
- INodeAdapter adapter = ((IDOMElement) resultEle)
- .getAdapterFor(EditProxyAdapter.class);
- if (adapter != null) {
- ((IDOMElement) resultEle).removeAdapter(adapter);
- }
- ((IDOMElement) resultEle).addAdapter(new EditProxyAdapter(this));
- }
- }
-
- /**
- * @return true if we are in range mode and this is in
- * the selection range
- */
- public boolean isRangeSelected() {
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) this.getViewer();
- if (viewer == null || !viewer.isInRangeMode()) {
- return false;
- }
- DesignRange range = viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- return false;
- }
- return RangeUtil.intersect(range, this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.NodeEditPart#isWidget()
- */
- public boolean isWidget() {
- return _tagConverter.isWidget();
- }
-
- /**
- * @return true if our model node can have direct text children
- */
- public boolean canHaveDirectTextChild() {
- return CMUtil.canHaveDirectTextChild(this._elementNode);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.NodeEditPart#isResizable()
- */
- public boolean isResizable() {
- if (!_tagConverter.isVisualByHTML()) {
- return false;
- }
- IElementEdit edit = this.getElementEdit();
- if (edit != null) {
- return edit.isResizable(this._elementNode);
- }
- CMElementDeclaration decl = CMUtil
- .getElementDeclaration(this._elementNode);
- if (decl != null) {
- // XXX: default implementation, if this element support "style"
- // attribute,
- // then we think it support resize.
- return decl.getAttributes().getNamedItem("style") != null; //$NON-NLS-1$
- }
- return true;
- }
-
- /**
- * @param parent
- * @return
- */
- private IFigure getFigure(Node parent) {
- if (parent instanceof INodeNotifier) {
- IFigureHandler handler = (IFigureHandler) ((INodeNotifier) parent)
- .getAdapterFor(IFigureHandler.class);
- if (handler != null) {
- return handler.getFigure();
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#addChildVisual(org.eclipse.gef.EditPart,
- * int)
- */
- protected void addChildVisual(EditPart childEditPart, int index) {
-
- boolean figureAdded = false;
-
- if (childEditPart instanceof NonVisualComponentEditPart)
- {
- getNonVisualElementBar().addNonVisualChild(((NonVisualComponentEditPart) childEditPart));
- figureAdded = true;
- //TODO: need better flow of control.
- return;
- }
-
- Node childNode = (Node) childEditPart.getModel();
- IFigure childFigure = ((GraphicalEditPart) childEditPart).getFigure();
- ConvertPosition position = _tagConverter
- .getChildVisualPosition(childNode);
- if (position != null) {
- Node parent = position.getParentNode();
- // link up figure.
- IFigure parentFigure = getFigure(parent);
- if (parentFigure != null) {
- parentFigure.add(childFigure, position.getIndex());
- figureAdded = true;
- }
- // link up style
- if (parent instanceof INodeNotifier) {
- ICSSStyle parentStyle = (ICSSStyle) ((INodeNotifier) parent)
- .getAdapterFor(ICSSStyle.class);
- if (parentStyle != null) {
- ICSSStyle childStyle = (ICSSStyle) ((INodeNotifier) childNode)
- .getAdapterFor(ICSSStyle.class);
- if (childStyle instanceof AbstractStyle) {
- ((AbstractStyle) childStyle)
- .setParentStyle(parentStyle);
- }
- }
- }
- // link up the nodeForFigure
- if (childEditPart instanceof SubNodeEditPart) {
- Node nodeForFigure = ((SubNodeEditPart) childEditPart)
- .getNodeForFigure();
- if (nodeForFigure != null /*
- * && !(nodeForFigure instanceof
- * PseudoElement)
- */) {
- parent.appendChild(nodeForFigure);
- }
- }
- } else {
- _log.error("getChildVisualPosition() return null"); //$NON-NLS-1$
- }
-
- if (!figureAdded) {
- super.addChildVisual(childEditPart, index);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#removeChildVisual(org.eclipse.gef.EditPart)
- */
- protected void removeChildVisual(EditPart childEditPart) {
- // remove figure
- IFigure childFigure = ((GraphicalEditPart) childEditPart).getFigure();
- IFigure parent = childFigure.getParent();
-
- if (parent != null) {
- parent.remove(childFigure);
- }
-
- if (childEditPart instanceof NonVisualComponentEditPart)
- {
- _nonVisualElementBar.removeNonVisualChild((NonVisualComponentEditPart) childEditPart);
- }
- // this only applies to visual edit parts
- else
- {
- // de-link style
- Node childNode = (Node) childEditPart.getModel();
- ICSSStyle childStyle = (ICSSStyle) ((INodeNotifier) childNode)
- .getAdapterFor(ICSSStyle.class);
- if (childStyle instanceof AbstractStyle) {
- ((AbstractStyle) childStyle).setParentStyle(null);
- }
- // de-link nodeForFigure
- if (childEditPart instanceof SubNodeEditPart) {
- Node nodeForFigure = ((SubNodeEditPart) childEditPart)
- .getNodeForFigure();
- if (nodeForFigure != null && nodeForFigure.getParentNode() != null) {
- nodeForFigure.getParentNode().removeChild(nodeForFigure);
- }
- }
- }
- }
-
- /**
- * @return the associated tag converter
- */
- public ITagConverter getTagConvert() {
- return _tagConverter;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // XXX: this can cause multiple refreshes on the same edit part for the
- // same change. I can also cause incorrect child refreshes...
- refresh();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.SubNodeEditPart#getNodeForFigure()
- */
- public Node getNodeForFigure() {
- return _tagConverter.getResultElement();
- }
-
- /**
- * @return true this part's node has non whitespace child nodes
- */
- public boolean haveNonWhitespaceTextChild() {
- List children1 = this.getChildren();
- for (int i = 0, size = children1.size(); i < size; i++) {
- if (children1.get(i) instanceof TextEditPart) {
- IDOMText xmltext = (IDOMText) ((TextEditPart) children1.get(i))
- .getIDOMNode();
- if (!xmltext.isElementContentWhitespace()) {
- return true;
- }
- }
- }
- return false;
- }
-
- private ElementMenuBar getNonVisualElementBar()
- {
- if (_nonVisualElementBar == null)
- {
- _nonVisualElementBar = new ElementMenuBar(this);
- }
- return _nonVisualElementBar;
- }
-
- /**
- * @return the element menu bar for this element
- */
- public ElementMenuBar getElementMenuBar() {
- return getNonVisualElementBar();
- }
-
- public void deactivate() {
- super.deactivate();
- if (_nonVisualElementBar != null)
- {
- _nonVisualElementBar.dispose();
- _nonVisualElementBar = null;
- }
- if (_tagConverter != null) {
- _tagConverter.dispose();
- }
- }
-
- public Cursor getCursor(Point mouseLocation) {
- // let the selection edit policy dictate
- EditPolicy editPolicy = getEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE);
-
- if (editPolicy instanceof IEnhancedSelectionEditPolicy)
- {
- return ((IEnhancedSelectionEditPolicy)editPolicy).getSelectionToolCursor(mouseLocation);
- }
- return super.getCursor(mouseLocation);
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/HTMLEditPartsFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/HTMLEditPartsFactory.java
deleted file mode 100644
index 66dd08506..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/HTMLEditPartsFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.w3c.dom.Node;
-
-/**
- * The model here can only be Document/Element/Text.
- *
- * @author mengbo
- */
-public class HTMLEditPartsFactory implements EditPartFactory {
- private IDOMDocument _destDocument;
-
- /**
- * @param destDoc
- */
- public HTMLEditPartsFactory(IDOMDocument destDoc) {
- this._destDocument = destDoc;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart,
- * java.lang.Object)
- */
- public EditPart createEditPart(EditPart context, Object model) {
- NodeEditPart part = null;
-
- if (model instanceof Node)
- {
- Node node = (Node) model;
- if (node.getNodeType() == Node.DOCUMENT_NODE) {
- part = new DocumentEditPart();
- } else if (node.getNodeType() == Node.ELEMENT_NODE) {
- // String tag = ((Element)node).getTagName();
- // if ("TABLE".equalsIgnoreCase(tag))
- // part = new HTMLTableEditPart();
- // else
- part = new ElementEditPart();
- } else if (node.getNodeType() == Node.TEXT_NODE
- || node.getNodeType() == Node.CDATA_SECTION_NODE) {
- part = new TextEditPart();
- }
- }
- // XXX: we need to create wrapper that allows us to know when
- // a model object represents a non-visual decorator
- else if (model instanceof ITagConverter)
- {
- part = new NonVisualComponentEditPart();
- }
-
- if (part != null) {
- part.setDestDocumentForDesign(this._destDocument);
- part.setModel(model);
- }
- return part;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NodeEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NodeEditPart.java
deleted file mode 100644
index 653ba15e6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NodeEditPart.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.dnd.LocalDropRequest;
-import org.eclipse.jst.pagedesigner.dnd.internal.LocalDropEditPolicy;
-import org.eclipse.jst.pagedesigner.editpolicies.DragMoveEditPolicy;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationEditPolicy;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.tools.RangeDragTracker;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public abstract class NodeEditPart extends AbstractGraphicalEditPart implements
- INodeAdapter {
-
- private IDOMDocument _destDocument;
- private boolean _isDragActive;
-
- /**
- * this method is called from the HTMLEditPartsFactory directly after the
- * part's creation.
- *
- * @param doc
- */
- public void setDestDocumentForDesign(IDOMDocument doc) {
- this._destDocument = doc;
- }
-
- /**
- * @return to owner document of this part's model node
- */
- public IDOMDocument getDestDocumentForDesign() {
- if (this._destDocument == null) {
- return (IDOMDocument) this.getIDOMNode().getOwnerDocument();
- }
- return this._destDocument;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
- */
- protected void createEditPolicies() {
- installEditPolicy(EditPolicy.NODE_ROLE, null);
- installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null);
- installEditPolicy(LocalDropRequest.REQ_LOCAL_DROP,
- new LocalDropEditPolicy());
- installEditPolicy(ItemCreationRequest.REQ_ITEM_CREATION,
- new ItemCreationEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE,
- new DragMoveEditPolicy());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.sse.model.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return type == EditPart.class;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#addNotify()
- */
- public void addNotify() {
- Object obj = getModel();
- if (obj instanceof INodeNotifier) {
- ((INodeNotifier) obj).addAdapter(this);
- }
- super.addNotify();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#removeNotify()
- */
- public void removeNotify() {
- super.removeNotify();
- Object obj = getModel();
- if (obj instanceof INodeNotifier) {
- ((INodeNotifier) obj).removeAdapter(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.EditPart#deactivate()
- */
- public void deactivate() {
- LocationRequest hoverRequest = new LocationRequest();
- hoverRequest.setType(RequestConstants.REQ_SELECTION_HOVER);
- this.eraseTargetFeedback(hoverRequest);
- super.deactivate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class key) {
- Object obj = getModel();
- if (key == IPropertySource.class) {
- if (obj instanceof INodeNotifier) {
- return ((INodeNotifier) obj)
- .getAdapterFor(IPropertySource.class);
- }
- }
-
- if (obj instanceof IAdaptable) {
- Object ret = ((IAdaptable) obj).getAdapter(key);
- if (ret != null)
- return ret;
- }
- return super.getAdapter(key);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getDragTracker(org.eclipse.gef.Request)
- */
- public DragTracker getDragTracker(Request request) {
- return new RangeDragTracker(this);
- }
-
- /**
- * @return the model node as an IDOMNode
- */
- public IDOMNode getIDOMNode() {
- return ((IDOMNode) getModel());
- }
-
- /**
- * @return the model node as a node
- */
- public Node getDOMNode()
- {
- return ((Node)getModel());
- }
-
- /**
- * @return if this edit part's model is an Element, then returns
- * the tag identifier. Otherwise, null.
- */
- public TagIdentifier getTagIdentifier()
- {
- Node node = getDOMNode();
-
- if (node instanceof Element)
- {
- return TagIdentifierFactory.createDocumentTagWrapper(((Element)node));
- }
-
- return null;
- }
-
- /**
- * if a EditPart don't support caret inside it, and don't can't have child
- * edit part, then we call it as a widget.
- *
- * @return true if this part represents a widget
- */
- public boolean isWidget() {
- return false; // child class must override.
- }
-
- /**
- * whether this EditPart allow the selection range to have one edge in the
- * edit part and one edge outside the edit part.
- *
- * @return true if selection range across is allowed
- */
- public boolean allowSelectionRangeAcross() {
- return true;
- }
-
- /**
- * @return true if this part is resizable
- */
- public boolean isResizable() {
- return false;
- }
-
- /**
- * @return true if drag is active on this part
- */
- public boolean isDragActive() {
- return _isDragActive;
- }
-
- /**
- * @param newValue
- */
- public void setDragActive(boolean newValue)
- {
- _isDragActive = newValue;
- }
-
- /**
- * @param mouseLocation
- * @return this edit part's cursor or null if this edit part
- * does not wish to specify a specific cursor (the default
- * should be used).
- * Note that this is only called when no drag tracker is active,
- * when the mouse enters the edit part with the RangeSelectionTool
- * and the current state is INITIAL. This allows the editpart to
- * specify a custom mouse-over tool cursor
- * TODO: perhaps getCursor is not a specific enough a name
- */
- public Cursor getCursor(Point mouseLocation)
- {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NonVisualComponentEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NonVisualComponentEditPart.java
deleted file mode 100644
index 08b76d137..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/NonVisualComponentEditPart.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.ImageFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.editpolicies.NonVisualChildGraphicalEditPolicy;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Represents a node that is non-visual in the runtime rendering
- * but which may wish to have a meta-representation on the design canvas.
- *
- */
-public class NonVisualComponentEditPart extends NodeEditPart
-{
- protected IFigure createFigure()
- {
- IFigure figure_ = new ImageFigure(getTagConverter().getVisualImage())
- {
-
- protected void paintFigure(Graphics graphics) {
- super.paintFigure(graphics);
-
- if (getImage() == null)
- return;
-
- Rectangle srcRect = new Rectangle(getImage().getBounds());
- graphics.drawImage(getImage(), srcRect, getClientArea());
- }
-
- };
-
- figure_.setMinimumSize(new Dimension(0,0));
- return figure_;
- }
-
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- // for now, do nothing
- }
-
- protected void createEditPolicies() {
- super.createEditPolicies();
- installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE
- , new NonVisualChildGraphicalEditPolicy());
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE,
- null);
- }
-
- @Override
- public void deactivate()
- {
- ITagConverter tagConverter = (ITagConverter) getModel();
- if (tagConverter != null)
- {
- tagConverter.dispose();
- }
-
- // always do super stuff
- super.deactivate();
- }
-
- /**
- * @return the tag converter
- */
- protected ITagConverter getTagConverter()
- {
- ITagConverter tagConverter = (ITagConverter)getModel();
- //need to call convertRefresh to get image (if any) from metadata
- if (tagConverter != null) {
- tagConverter.convertRefresh(null);
- }
- return tagConverter;
- }
-
- /**
- * @return the host element for this edit part
- */
- protected Element getModelElement()
- {
- return getTagConverter().getHostElement();
- }
-
- public IDOMNode getIDOMNode()
- {
- return (IDOMNode) getModelElement();
- }
-
- public Node getDOMNode() {
- return getModelElement();
- }
-
-// public DragTracker getDragTracker(Request request) {
-// // TODO: need to define drag semantics for these
-// // Also, right now edit part dragging causes bad behaviour
-// // in the non-visual decorator
-// return null;//new ObjectModeDragTracker(this);
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/Refresher.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/Refresher.java
deleted file mode 100644
index 67e62f23f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/Refresher.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class Refresher implements INodeAdapter {
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#isAdapterForType(java.lang.Object)
- */
- public boolean isAdapterForType(Object type) {
- return (type == Refresher.class);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.wst.sse.core.internal.provisional.INodeAdapter#notifyChanged(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- if (eventType == INodeNotifier.ADD || eventType == INodeNotifier.REMOVE) {
- // for ADD and REMOVE, system will fire CHANGE event, so we ignore
- // the ADD/REMOVE
- // event here.
- return;
- }
- if (notifier instanceof IDOMNode) {
- IDOMNode node = (IDOMNode) notifier;
- // we need to refresh all CSS style adapter of node and its
- // children.
- EditPart part = (EditPart) node.getAdapterFor(EditPart.class);
- if (part instanceof SubNodeEditPart) {
- Node nodeForFigure = ((SubNodeEditPart) part)
- .getNodeForFigure();
- if (nodeForFigure instanceof IDOMNode) {
- refreshChildStyles((IDOMNode) nodeForFigure);
- }
- }
-
- // we need also find the nearest parent node that has editpart, and
- // refresh it.
- refreshContainingPart(node,
- eventType == INodeNotifier.STRUCTURE_CHANGED);
-
- part = (EditPart) node.getAdapterFor(EditPart.class);
- if (part != null) {
- ((IHTMLGraphicalViewer) part.getViewer()).clearSelectionRange();
- }
- }
- }
-
- /**
- * @param node
- */
- private void refreshContainingPart(IDOMNode node, boolean recursive) {
- if (node.getOwnerDocument() == node) {
- EditPart part = (EditPart) node.getAdapterFor(EditPart.class);
- if (part != null) {
- part.refresh();
- }
- } else {
- while (node != null) {
- EditPart part = (EditPart) node.getAdapterFor(EditPart.class);
- if (part != null) {
- if (part instanceof ElementEditPart) {
- ((ElementEditPart) part).refreshModelChange(recursive);
- } else {
- part.refresh();
- }
- return;
- }
- node = (IDOMNode) node.getParentNode();
- }
- }
- }
-
- /**
- * @param node
- */
- private void refreshChildStyles(IDOMNode node) {
- NodeList childNodes = node.getChildNodes();
- for (int i = 0, size = childNodes.getLength(); i < size; i++) {
- refreshChildStyles((IDOMNode) childNodes.item(i));
- }
- if (node instanceof IDOMElement) {
- // only refresh style on element.
- ICSSStyle a = (ICSSStyle) node.getAdapterFor(ICSSStyle.class);
- if (a != null) {
- a.reset();
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/RefresherFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/RefresherFactory.java
deleted file mode 100644
index bb9c59918..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/RefresherFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RefresherFactory extends AbstractAdapterFactory {
- private final Refresher refresher = new Refresher();
-
- RefresherFactory() {
- super(Refresher.class, true);
- }
-
- /*
- * (non-Javadoc)
- * @seeorg.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory#createAdapter(org.eclipse.wst.sse.core.internal.provisional.INodeNotifier)
- */
- protected INodeAdapter createAdapter(INodeNotifier target) {
- return refresher;
- }
-
- static RefresherFactory _instance = new RefresherFactory();
-
- /**
- * @return the factory singleton
- */
- public static RefresherFactory getInstance() {
- return _instance;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/SubNodeEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/SubNodeEditPart.java
deleted file mode 100644
index 8056dd9d7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/SubNodeEditPart.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class SubNodeEditPart extends NodeEditPart {
- /**
- *
- * @return could be null
- */
- public abstract Node getNodeForFigure();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/TextEditPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/TextEditPart.java
deleted file mode 100644
index 4535c584b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/TextEditPart.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.parts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.SharedCursors;
-import org.eclipse.jst.pagedesigner.css2.ICSSStyle;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSTextFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.ICSSFigure;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.css2.provider.ICSSTextProvider;
-import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle;
-import org.eclipse.jst.pagedesigner.editpolicies.LinkEditPolicy;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.utils.HTMLUtil;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class TextEditPart extends SubNodeEditPart implements ICSSTextProvider {
- private String _cachedData;
-
- private Text _textNode;
-
- private Text _textNodeForFigure;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.EditPart#setModel(java.lang.Object)
- */
- public void setModel(Object model) {
- super.setModel(model);
- _textNode = (Text) model;
- _cachedData = _textNode.getData();
- _textNodeForFigure = getDestDocumentForDesign().createTextNode(
- _cachedData);
- }
-
- protected IFigure createFigure() {
- // XXX: currently creating of CSSTextFigure is distributed both here
- // and FigureFactory. We may want to unify them later.
- return new CSSTextFigure(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
- */
- protected void createEditPolicies() {
- super.createEditPolicies();
- this.installEditPolicy("link editpolicy", new LinkEditPolicy()); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.SubNodeEditPart#getNodeForFigure()
- */
- public Node getNodeForFigure() {
- return _textNodeForFigure;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.ibm.sse.model.INodeAdapter#notifyChanged(com.ibm.sse.model.INodeNotifier,
- * int, java.lang.Object, java.lang.Object, java.lang.Object, int)
- */
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- _cachedData = _textNode.getData();
- _textNodeForFigure.setData(_cachedData);
- if (eventType == INodeNotifier.CHANGE) {
- getFigure().revalidate();
- } else {
- // XXX: been removed? parent EditPart should have handled it.
- }
- }
-
-
- /**
- * @return the associated css style for this text node
- */
- public ICSSStyle getCSSStyle() {
- IFigure figure1 = this.getFigure();
- if (figure1 instanceof ICSSFigure) {
- ICSSStyle style = ((ICSSFigure) figure1).getCSSStyle();
- if (style != null) {
- return style;
- }
- }
- return DefaultStyle.getInstance();
- }
-
- /**
- * As when text are displayed in HTML, they are "normalized". For example,
- * leading whitespace may be removed dure to previous node as trailing
- * whitespace. Entity reference may have be resolved. Sequence whitespace
- * been merged.
- *
- * It is also possible that the text node is in "PRE" mode, in that case the
- * above things are not done.
- *
- * This method return the really value that is going to be presented to
- * user. EditPartPosition's offset is referencing this value.
- *
- * @return the text data
- * @see org.eclipse.jst.pagedesigner.viewer.DesignPosition
- */
- public String getTextData() {
- ICSSStyle style = getCSSStyle();
- String data = _cachedData;
- if (style.getStyleProperty(ICSSPropertyID.ATTR_WHITESPACE) != ICSSPropertyID.VAL_PRE) {
- return HTMLUtil.compactWhitespaces(_textNode, data);
- }
- return data;
- }
-
- /**
- * check what part of this text node is in the range selection.
- *
- * @return text node ranges
- */
- public int[] getSelectedRange() {
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) this.getViewer();
- if (viewer == null || !viewer.isInRangeMode()) {
- return null;
- }
- DesignRange range = viewer.getRangeSelection();
- if (range == null || !range.isValid()) {
- return null;
- }
- if (!RangeUtil.intersect(range, this)) {
- return null;
- }
- // ok, we intersect with the range.
- range = RangeUtil.normalize(range);
- EditPart startContainer = range.getStartPosition().getContainerPart();
- EditPart endContainer = range.getEndPosition().getContainerPart();
- int[] ret = new int[2];
- if (startContainer != this) {
- ret[0] = 0;
- } else {
- ret[0] = range.getStartPosition().getOffset();
- }
- if (endContainer != this) {
- ret[1] = this.getTextData().length();
- } else {
- {
- ret[1] = range.getEndPosition().getOffset();
- }
- }
- return ret;
- }
-
- public boolean isSelectable() {
- // controls, amongst other things, whether or not a standard
- // hit test in SelectionTool for mouse over will find this edit part
- return true;
- }
-
- public Cursor getCursor(Point mouseLocation) {
- return SharedCursors.IBEAM;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.java
deleted file mode 100644
index 83d190d8f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.servlet.jsp.el.ELException;
-import javax.servlet.jsp.el.FunctionMapper;
-import javax.servlet.jsp.el.VariableResolver;
-
-import org.apache.commons.el.ExpressionEvaluatorImpl;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.jsf.core.internal.tld.LoadBundleUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.jsp.core.el.JSFELParserHelper;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IPageVariablesProvider;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IVariableInfo;
-
-/**
- * This is a static class. But it has "session" concept in it. To make it static
- * is only to simplify its use.
- *
- * This class currently is only used by TagConverter, when calculating the
- * displayed string for resource bundle items.
- *
- * XXX: in the future, if we want to this to be non-static, we may incorportate
- * it into the context of the tag converter.
- *
- * @author mengbo
- * @version 1.5
- */
-// TODO: we may consider support cache the properties.
-public class PageExpressionContext {
- private static final Logger _log = PDPlugin
- .getLogger(PageExpressionContext.class);
-
- static PageExpressionContext _current;
-
- List _pageVarProviders = new ArrayList();
-
- VariableResolver resolver = new SimpleVariableResolver();
-
- private IProject _prj;
-
- /**
- * @param prj
- */
- public PageExpressionContext(IProject prj) {
- _prj = prj;
- }
-
- /**
- * reset the context.
- */
- public static void reset() {
- _current = null;
- }
-
- /**
- * Initialize the current context
- * @param prj
- */
- public static void initialize(IProject prj) {
- _current = new PageExpressionContext(prj);
- }
-
- /**
- * @return the current context
- */
- public static PageExpressionContext getCurrent() {
- return _current;
- }
-
- /**
- * @param provider
- */
- public void pushPageVarProvider(IPageVariablesProvider provider) {
- _pageVarProviders.add(provider);
- }
-
- /**
- * @param provider
- */
- public void popPageVarProvider(IPageVariablesProvider provider) {
- try {
- _pageVarProviders.remove(_pageVarProviders.size() - 1);
- } catch (Exception ex) {
- // "Error"
- _log.info("PageExpressionContext.Info.0", ex); //$NON-NLS-1$
- }
- }
-
- /**
- * this method is for design time expression evaluation. Currently it only
- * handles
- *
- * @param expression
- * @param expectedClass
- * @param options
- * XXX: not used today. In the future, we may support things like
- * locale in options
- * @return the result of evaluating the expression
- * @throws ELException
- */
- public Object evaluateExpression(String expression, Class expectedClass,
- Map options) throws ELException {
- expression = JSFELParserHelper.toJspElExpression(expression);
- ExpressionEvaluatorImpl evaluator = new ExpressionEvaluatorImpl();
- FunctionMapper mapper = new EmptyFunctionMapper();
-
- return evaluator.evaluate(expression, expectedClass, resolver, mapper);
- }
-
- class SimpleVariableResolver implements VariableResolver {
- /*
- * (non-Javadoc)
- *
- * @see javax.servlet.jsp.el.VariableResolver#resolveVariable(java.lang.String)
- */
- public Object resolveVariable(String varName) throws ELException {
- // reverse order.
- for (int k = _pageVarProviders.size() - 1; k >= 0; k--) {
- IPageVariablesProvider _pageVars = (IPageVariablesProvider) _pageVarProviders
- .get(k);
- if (_pageVars != null) {
- IVariableInfo[] vars = _pageVars.getBeanInfos();
- if (vars != null) {
- for (int i = 0; i < vars.length; i++) {
- if (varName.equals(vars[i].getName())) {
- // ok we found.
- if (vars[i].getMode() == IVariableInfo.RESOURCEBUNDLE) {
- String resourceName = vars[i]
- .getTypeInfoString();
- IStorage s = null;
- try {
- s = LoadBundleUtil
- .getLoadBundleResource(_prj,
- resourceName);
- } catch (CoreException ex) {
- // "Error"
- _log
- .info(
- "PageExpressionContext.Info.0", ex); //$NON-NLS-1$
- }
- if (s == null) {
- throw new ELException();
- }
- InputStream input = null;
- try {
- input = new BufferedInputStream(s
- .getContents());
- Properties p = new Properties();
- p.load(input);
- return p;
- } catch (CoreException e) {
- throw new ELException(e);
- } catch (IOException e) {
- throw new ELException(e);
- } finally {
- ResourceUtils.ensureClosed(input);
- }
- }
- }
- }
- }
- }
- }
- throw new ELException("Can't find: " + varName); //$NON-NLS-1$
- }
-
- }
-
- static class EmptyFunctionMapper implements FunctionMapper {
-
- /*
- * (non-Javadoc)
- *
- * @see javax.servlet.jsp.el.FunctionMapper#resolveFunction(java.lang.String,
- * java.lang.String)
- */
- public Method resolveFunction(String arg0, String arg1) {
- return null;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewConvertContext.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewConvertContext.java
deleted file mode 100644
index 4c0b2f744..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewConvertContext.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.util.List;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.jst.pagedesigner.dtmanager.DTManager;
-import org.eclipse.wst.xml.core.internal.document.InvalidCharacterException;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PreviewConvertContext {
- private Logger _log = PDPlugin.getLogger(PreviewConvertContext.class);
-
- private IDOMDocument _destDocument;
-
- /**
- * Instantiates an instance for the specified IDOMDocument.
- *
- * @param destDocument IDOMDocument instance.
- */
- public PreviewConvertContext(IDOMDocument destDocument) {
- this._destDocument = destDocument;
- }
-
- /**
- * Converts specified Node for preview.
- *
- * @param ele Node instance to convert.
- * @return Converted Node instance.
- */
- public Node previewConvert(Node ele) {
- if (ele instanceof Element) {
- return previewConvertElement((Element) ele);
- } else if (ele instanceof Text) {
- return createText((Text) ele);
- } else {
- // XXX: we'll support other node like doctype etc in the future.
- // so they should also be rendered into preview.
-
- return null;
- }
- }
-
- /**
- * @param text
- * @return
- */
- private Node createText(Text text) {
- Text previewText = this._destDocument.createTextNode(text.getData());
- try {
- ((IDOMText) previewText).setSource(((IDOMText) text).getSource());
- } catch (InvalidCharacterException e) {
- // "Error"
- _log.info("PreviewConvertContext.Error.0", e); //$NON-NLS-1$
- }
- return previewText;
- }
-
- /**
- * Converts specified Element instance for preview.
- *
- * @param ele Element instance to be converted.
- * @return Converted Node instance.
- */
- protected Node previewConvertElement(Element ele) {
- ITagConverter converter = createTagConverter(ele);
- if (!converter.isVisualByHTML()) {
- return null;
- }
- converter.convertRefresh(null);
- Element result = converter.getResultElement();
- List children = converter.getChildModeList();
- if (children != null) {
- for (int i = 0, size = children.size(); i < size; i++) {
- Node child = (Node) children.get(i);
- if (child != null) {
- Node childPreview = previewConvert(child);
- if (childPreview != null) {
- ConvertPosition position = converter
- .getChildVisualPosition(child);
- if (position != null) {
- /* FIX for bug #179403
- // FIXME: not using index here, need fix.
- position.getParentNode().appendChild(childPreview);
- */
- NodeList childNodes = position.getParentNode().getChildNodes();
- if (childNodes.getLength() > position.getIndex()) {
- Node item = childNodes.item(position.getIndex());
- position.getParentNode().insertBefore(childPreview, item);
- } else {
- position.getParentNode().appendChild(childPreview);
- }
- }
- }
- }
- }
- }
- return result;
- }
-
- /**
- * @param ele
- * @return
- */
- private ITagConverter createTagConverter(Element ele) {
- return DTManager.getInstance().getTagConverter(ele,
- IConverterFactory.MODE_PREVIEW, _destDocument);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewHandlerNew.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewHandlerNew.java
deleted file mode 100644
index 881e3064e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewHandlerNew.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IPageVariablesProvider;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.adapter.IDocumentPageVariableAdapter;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.utils.PreviewUtil;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.wst.html.core.internal.provisional.contenttype.ContentTypeIdForHTML;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.document.XMLGeneratorImpl;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.document.ISourceGenerator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PreviewHandlerNew {
- //private static Logger _log = PDPlugin.getLogger(PreviewHandlerNew.class);
-
- /**
- * @param part
- * @param result
- */
- public static void generatePreview(DocumentEditPart part,
- StringBuffer result) {
- try {
- IProject prj = StructuredModelUtil.getProjectFor(part.getIDOMNode()
- .getModel());
- PageExpressionContext.initialize(prj);
-
- IDOMDocument doc = (IDOMDocument) part.getIDOMNode();
- Object obj = doc.getAdapterFor(IDocumentPageVariableAdapter.class);
- if (obj instanceof IPageVariablesProvider) {
- ((IPageVariablesProvider) obj).refresh();
- PageExpressionContext.getCurrent().pushPageVarProvider(
- (IPageVariablesProvider) obj);
- } else {
- PageExpressionContext.getCurrent().pushPageVarProvider(null);
- }
-
- // IDOMModel previewModel =
- // (IDOMModel)StructuredModelManager.getModelManager().createNewInstance(doc.getModel());
- // IDOMDocument previewDoc = previewModel.getDocument();
-
- // CR400625: creating XML model here instead of HTML model. Since
- // for HTML model, there are checking enforced
- // by WTP to make sure the HTML content model is not invalidated.
- // And sometimes, the converted HTML may not fully
- // comply with HTML content model.
- // Use XML instead to workaround the content model validation.
-
- // CR403449: But if we use XML, then system can't recogonize special
- // tag such as "script", "style", they
- // support <!-- --> in them.
- // So we are still using HTML model, but in TagConverter, we are
- // always caling DOMUtil.cloneNodeDeepIgnoreError
- // to try to skip the errors.
- // Hopefully in later version of SSE, the famous "br" problem is
- // fixed, and we won't met error when doing
- // deep clone.
- // IStructuredModel sModel =
- // StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(IContentTypeIdentifier.ContentTypeID_XML);
- // FIXME: if is not jsp, should use original contentType, if is jsp,
- // should use the corresponding
- // content type
- IStructuredModel sModel = StructuredModelManager.getModelManager()
- .createUnManagedStructuredModelFor(
- ContentTypeIdForHTML.ContentTypeID_HTML);
-
- IDOMDocument previewDoc = ((IDOMModel) sModel).getDocument();
- PreviewConvertContext context = new PreviewConvertContext(
- previewDoc);
-
- ISourceGenerator generator = XMLGeneratorImpl.getInstance();
- List subeditparts = part.getChildren();
- for (int i = 0, size = subeditparts.size(); i < size; i++) {
- NodeEditPart subpart = (NodeEditPart) subeditparts.get(i);
- Node node = context.previewConvert(subpart.getIDOMNode());
-
- PreviewUtil.previewNode(node);
-
- appendSkinStyleSheetLinks(node, subpart.getIDOMNode());
-
- if (node != null) {
- result.append(generator.generateSource(node));
- }
-
- }
- sModel.releaseFromEdit();
- } finally {
- PageExpressionContext.reset();
- }
- }
-
- private static void appendSkinStyleSheetLinks(Node previewNode, IDOMNode domNode) {
- if (previewNode != null && domNode != null) {
- Element head = locateHeadElement(previewNode);
- if (head != null) {
- Document document = head.getOwnerDocument();
- if (document != null) {
- DTSkinManager skinManager = DTSkinManager.getInstance(domNode);
- if (skinManager != null) {
- List<IDTSkin> currentSkins = skinManager.getCurrentSkins();
- for (IDTSkin currentSkin: currentSkins) {
- List<String> styleSheetLocations = currentSkin.getStyleSheetLocations();
- for (String styleSheetLocation: styleSheetLocations) {
- Element link = document.createElement(IHTMLConstants.TAG_LINK);
- link.setAttribute(IHTMLConstants.ATTR_REL, "stylesheet"); //$NON-NLS-1$
- link.setAttribute(IHTMLConstants.ATTR_TYPE, "text/css"); //$NON-NLS-1$
- link.setAttribute(IHTMLConstants.ATTR_HREF, styleSheetLocation);
- head.appendChild(link);
- }
- }
- }
- }
- }
- }
- }
-
- private static Element locateHeadElement(Node node) {
- Element head = null;
- if (node != null && node instanceof Element) {
- if (node.getLocalName().equalsIgnoreCase(IHTMLConstants.TAG_HEAD)) {
- head = (Element)node;
- } else {
- NodeList childNodes = node.getChildNodes();
- for (int i = 0, len = childNodes.getLength(); i < len; i++) {
- head = locateHeadElement(childNodes.item(i));
- if (head != null) {
- break;
- }
- }
- }
- }
- return head;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.java
deleted file mode 100644
index 6aa3c6751..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- */
-public class PreviewResources extends ResourceUtils {
- /** Create the logger for this class */
- private static Logger _log = PDPlugin.getLogger(PreviewResources.class);
-
- private static PreviewResources _resource; // singleton
-
- private static final String BUNDLE = "org.eclipse.jst.pagedesigner.preview.PreviewResources"; //$NON-NLS-1$
-
- /**
- * Empty Constructor.
- *
- * @return WizardsResources
- */
-
- public static PreviewResources getInstance() {
- if (_resource == null) {
- _resource = new PreviewResources();
- }
- return _resource;
- }
-
- /**
- * The constructor create a resource bundle
- */
- protected PreviewResources() {
- try {
- _resources = ResourceBundle.getBundle(BUNDLE);
- // NOTE: this throws a runtime "MissingResourceException".
- } catch (MissingResourceException ee) {
- _log
- .error(
- "Log.Error.PreviewResources.ResouceNotFound", BUNDLE, ee); //$NON-NLS-1$
- }
- setBundle(_resources, BUNDLE);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.properties
deleted file mode 100644
index 1e42ee3d2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PreviewResources.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-####################################################
-# Resource message for RenderingTraverser
-####################################################
-RenderingTraverser.Error.FileNotFound = File not found.
-RenderingTraverser.Error.UnsupportedEncoding = Unsupport encoding.
-RenderingTraverser.Error.IO = IO exception.
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/WindowsIEBrowser.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/WindowsIEBrowser.java
deleted file mode 100644
index b1811abb1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/WindowsIEBrowser.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.io.File;
-
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Models the windows IE browser for preview
- *
- */
-public class WindowsIEBrowser implements ProgressListener {
- private Browser _browser;
-
- /**
- * @param composite
- * @param i
- */
- public void create(Composite composite, int i) {
- _browser = new Browser(composite, i);
- _browser.addProgressListener(this);
- }
-
- /**
- * @param file
- */
- public synchronized void loadFile(File file) {
- if (_browser == null) {
- return;
- }
- String s = "file:" + file.getAbsolutePath(); //$NON-NLS-1$
- _browser.setUrl(s);
- return;
- }
-
- /**
- * dispose the instance
- */
- public void dispose() {
- if (_browser == null) {
- return;
- }
- _browser.dispose();
- _browser = null;
- return;
- }
-
- public void changed(ProgressEvent progressevent) {
- // do nothing
- }
-
- public void completed(ProgressEvent progressevent) {
- // do nothing
- }
-
- /**
- * @return the underlying swt Browser instance
- */
- public Browser getBrowser() {
- return _browser;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AllPropertySection.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AllPropertySection.java
deleted file mode 100644
index 3c40094da..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AllPropertySection.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-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.IPropertySourceProvider;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * Mainly copied from AdvancedPropertySection. But extend it to allow setting
- * PropertySourceProvider.
- *
- * @author mengbo
- */
-public class AllPropertySection extends AbstractPropertySection {
- // FIXME: workaround the eclipse properties view limitation of sorting
- // category.
- private AttributePropertySheetPage page;
-
- /**
- * IPropertySourceProvider for this section
- */
- protected IPropertySourceProvider _provider;
-
- /**
- * selected tag IDOMElement
- */
- protected IDOMElement _element;
-
- /**
- * The INodeAdapter to use for notification of model change
- */
- protected INodeAdapter _adapter = new INodeAdapter() {
- public boolean isAdapterForType(Object type) {
- return false;
- }
-
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- refresh();
- }
- };
-
- /**
- * Constructor
- */
- public AllPropertySection() {
- this.setPropertySourceProvider(new AttributePropertySourceProvider());
- }
-
- @Override
- public void createControls(Composite parent,
- TabbedPropertySheetPage tabbedPropertySheetPage) {
- super.createControls(parent, tabbedPropertySheetPage);
-
-
- Composite composite = getWidgetFactory()
- .createFlatFormComposite(parent);
- page = new AttributePropertySheetPage();
- page.init(tabbedPropertySheetPage.getSite());
-
- if (_provider != null) {
- page.setPropertySourceProvider(_provider);
- }
-
- page.createControl(composite);
- 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);
- data.height = 100;
- data.width = 100;
- page.getControl().setLayoutData(data);
- }
-
- @Override
- public void setInput(IWorkbenchPart part, ISelection selection) {
- IDOMElement newEle = (IDOMElement) DesignerPropertyTool.getElement(
- part, selection);
-
- if (_element != newEle && page != null) {
- super.setInput(part, selection);
- page.selectionChanged(part, selection);
- if (_element != null) {
- _element.removeAdapter(_adapter);
- }
- _element = newEle;
- if (_element != null) {
- _element.addAdapter(_adapter);
- }
- }
- }
-
- @Override
- public void dispose() {
- super.dispose();
-
- if (_element != null) {
- _element.removeAdapter(_adapter);
- }
- if (page != null) {
- page.dispose();
- page = null;
- }
- }
-
- @Override
- public void refresh() {
- if (page != null)
- page.refresh();
- }
-
- @Override
- public boolean shouldUseExtraSpace() {
- return true;
- }
-
- /**
- * Set provider into tabbedPropertiesPage
- * @param provider
- */
- public void setPropertySourceProvider(IPropertySourceProvider provider) {
- _provider = provider;
- if (page != null){
- page.setPropertySourceProvider(_provider);
-
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySheetPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySheetPage.java
deleted file mode 100644
index 9b236f974..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySheetPage.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.jst.pagedesigner.meta.internal.CategoryNameComparator;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheetSorter;
-
-/**
- * In PropertySheetPage, the <code>setSorter</code> is protected. Creating
- * this class to make setSorter accessible to us.
- *
- * @author mengbo
- * @version 1.5
- */
-public class AttributePropertySheetPage extends PropertySheetPage {
-// TODO: add actions
-// public void makeContributions(IMenuManager menuManager,
-// IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-// super.makeContributions(menuManager, toolBarManager, statusLineManager);
-// //add actions here
-// hide/show all categories
-// collapse
-// remove
-// }
-
- /**
- * Use my sorter to sort the category name. Only override the
- * compareCategories method.
- *
- * @author mengbo
- * @version 1.5
- */
- private static class MySorter extends PropertySheetSorter {
- public int compareCategories(String categoryA, String categoryB) {
- return CategoryNameComparator.getInstance().compare(categoryA,
- categoryB);
- }
- }
-
- /**
- * Constructor
- */
- public AttributePropertySheetPage() {
- super();
- setSorter(new MySorter());
- }
-
-// public void createControl(Composite parent) {
-// super.createControl(parent);
-//// PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-//// PDPlugin.getResourceString("MyPropertySheetPage.help.id"));
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java
deleted file mode 100644
index 6ed998f58..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagAttribute;
-import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.internal.IStructuredDocumentContextResolverFactory2;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.designtime.internal.resolver.ITagElementResolver;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeAttributeCommand;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-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.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-
-/**
- *
- * @author mengbo
- */
-public class AttributePropertySource implements IPropertySource {
- private IDOMElement _element;
-
- private IPropertySource _innerSource;
-
- private Entity _tagEntity;
-
- private IStructuredDocumentContext _context;
-
- private IPropertyDescriptor[] _descriptors;
-
- /**
- * Constructor
- * @param ele
- * @param source
- */
- public AttributePropertySource(Element ele, IPropertySource source) {
- _element = (IDOMElement) ele;
- _innerSource = source;
- _tagEntity = getTagEntity();
- }
-
- private Entity getTagEntity() {
- _context =
- IStructuredDocumentContextFactory.INSTANCE.getContext(_element.getStructuredDocument(), _element);
- if (_context == null)
- return null;
-
- IWorkspaceContextResolver wsresolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(_context);
- if (wsresolver == null)
- return null;
-
- ITaglibContextResolver resolver =
- IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(_context);
- if (resolver == null) return null;
-
- String uri = resolver.getTagURIForNodeName(_element);
-
- //TODO: make below better
- if (uri == null){
- if (_element.getNamespaceURI() != null && _element.getNamespaceURI().equals("http://java.sun.com/JSP/Page")) //$NON-NLS-1$
- uri = "JSP11"; //$NON-NLS-1$
- else
- uri = "HTML"; //$NON-NLS-1$
- }
- ITaglibDomainMetaDataModelContext domainContext =
- TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(wsresolver.getProject(), uri);
- return TaglibDomainMetaDataQueryHelper.getEntity(domainContext, _element.getLocalName());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
- public Object getEditableValue() {
- return _innerSource.getEditableValue();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
- public Object getPropertyValue(Object id) {
- // CR377844: when the attribute in source is "a&gt;b", we would like to
- // display
- // "a>b" in cell editor. But _innerSource.getPropertyValue(id) will
- // return the source
- // of the attribute, so can't use that here.
- // read QTS log for detail.
- // return _innerSource.getPropertyValue(id);
- if (id == null) {
- return null;
- }
- String name = id.toString();
- String value = _element.getAttribute(name);
- if (value == null) {
- value = ""; //$NON-NLS-1$
- }
- return value;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
- */
- public boolean isPropertySet(Object id) {
- return _innerSource.isPropertySet(id);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
- public void resetPropertyValue(Object id) {
- _innerSource.resetPropertyValue(id);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object,
- * java.lang.Object)
- */
- public void setPropertyValue(final Object id, final Object value) {
- Object oldValue = getPropertyValue(id);
- if (oldValue == value || (oldValue != null && oldValue.equals(value))) {
- return;
- }
- Command c = new ChangeAttributeCommand(
- PDPlugin
- .getResourceString("AttributePropertySource.CommandLabel.ChangeAttribute"), _element, (String) id, (String) value); //$NON-NLS-1$
- c.execute();
- }
-
- /**
- * the major job of this wrapper is to provide tag attribute property descriptors
- */
- public IPropertyDescriptor[] getPropertyDescriptors() {
- if (_descriptors == null) {
- final List result = new ArrayList();
-
- final ITagElementResolver tagregResolver = IStructuredDocumentContextResolverFactory2.INSTANCE
- .getResolver(_context, ITagElementResolver.class);
-
- if (tagregResolver != null) { //relies on getTagEntity() having been called to have setup the _element
- final ITagElement tag = tagregResolver.getTagElement(_element);
- if (tag != null) {
- for (final ITagAttribute attr : tag.getAttributes().values()) {
- final IPropertyDescriptor pd = getAttrPropertyDescriptor(attr
- .getName());
- if (pd != null)
- result.add(new PropertyDescriptorWrapper(_element,
- pd));// ,
- // getStatusLineManager()));
- else {
- final PropertyDescriptor pd1 = new TextPropertyDescriptor(
- attr.getName(), attr.getName());
- pd1.setDescription(attr.getDescription());
- pd1.setCategory(ITabbedPropertiesConstants.OTHER_CATEGORY);
- result.add(new PropertyDescriptorWrapper(_element,
- pd1));// ,
- // getStatusLineManager()));
- }
-
- }
- }
- }
-
- if (result.size() == 0) {// for JSP and HTML cases
- // this is still
- // necessary
- final IPropertyDescriptor[] descs = _innerSource.getPropertyDescriptors();
- for (int i = 0; i < descs.length; i++) {
- final IPropertyDescriptor pd = getAttrPropertyDescriptor((String) descs[i]
- .getId());
- if (pd != null)
- result.add(new PropertyDescriptorWrapper(_element, pd));// ,
- // getStatusLineManager()));
- else {
- if (descs[i] instanceof PropertyDescriptor)
- ((PropertyDescriptor) descs[i])
- .setCategory(ITabbedPropertiesConstants.OTHER_CATEGORY);
- result.add(new PropertyDescriptorWrapper(_element,
- descs[i]));// ,
- // getStatusLineManager()));
- }
-
- }
- }
-
- _descriptors = new IPropertyDescriptor[result.size()];
- result.toArray(_descriptors);
-
- }
- return _descriptors;
- }
-
-// private IAttributeDescriptor findReferencedAttribute(
-// IElementDescriptor elementDescriptor, IPropertyDescriptor desc) {
-// return null;
-// }
-
-// private IElementDescriptor getElementDescriptor() {
-// ICMRegistry registry = CMRegistry.getInstance();
-// String uri = CMUtil.getElementNamespaceURI(_element);
-// return registry.getElementDescriptor(uri, _element.getLocalName());
-// }
-
- private IPropertyDescriptor getAttrPropertyDescriptor(String attrName){
- Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(_tagEntity, attrName);
- List ppds = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(IPropertyPageDescriptor.class, _context, attrEntity);
- if (ppds.size() > 0)
- return (IPropertyDescriptor)((IPropertyPageDescriptor)ppds.get(0)).getAdapter(IPropertyDescriptor.class);
-
- return null;
-
- }
-
-// private IStatusLineManager getStatusLineManager() {
-// _page.getSite().getActionBars().getStatusLineManager();
-// }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySourceProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySourceProvider.java
deleted file mode 100644
index 086072bbb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySourceProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.IPropertySourceProvider;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySource;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class AttributePropertySourceProvider implements IPropertySourceProvider {
-
- /**
- * Constructor
- */
- public AttributePropertySourceProvider() {
- //
- }
-
- public IPropertySource getPropertySource(Object object) {
- Element model = null;
- IPropertySource source = null;
-
- if ((model = DesignerPropertyTool.getElementNode(object)) != null) {
- source = (IPropertySource) ((INodeNotifier) (model))
- .getAdapterFor(IPropertySource.class);
- if (source == null) {
- source = new XMLPropertySource((INodeNotifier) model);
- }
- }
- if (source != null) {
- return new AttributePropertySource( model, source);
- }
- return source;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/BaseCustomSection.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/BaseCustomSection.java
deleted file mode 100644
index db8742dc7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/BaseCustomSection.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StatusUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public abstract class BaseCustomSection extends AbstractPropertySection {
-
- /**
- * Status that all is OK
- */
- protected static final Status OKSTATUS = new Status(IStatus.OK, PDPlugin
- .getPluginId(), 0, "", null); //$NON-NLS-1$
-
- private WPETabbedPropertySheetPage _propertySheetPage;
-
- private boolean _visible = false;
-
- /**
- * the tag IDOMElement
- */
- protected IDOMElement _element;
-
- /**
- * the INodeAdapter used to receive notifications of model updates
- */
- protected INodeAdapter _adapter = new INodeAdapter() {
- public boolean isAdapterForType(Object type) {
- return false;
- }
-
- public void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- BaseCustomSection.this.notifyChanged(notifier, eventType,
- changedFeature, oldValue, newValue, pos);
- }
- };
-
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- IDOMElement newEle = (IDOMElement) DesignerPropertyTool.getElement(
- part, selection);
- if (_element != newEle) {
- if (_element != null) {
- _element.removeAdapter(_adapter);
- }
- _element = newEle;
- if (_element != null) {
- _element.addAdapter(_adapter);
- }
- }
- }
-
- /**
- * Method adapter will call when element has changed
- *
- * @param notifier
- * @param eventType
- * @param changedFeature
- * @param oldValue
- * @param newValue
- * @param pos
- */
- protected abstract void notifyChanged(INodeNotifier notifier,
- int eventType, Object changedFeature, Object oldValue,
- Object newValue, int pos);
-
- public void createControls(Composite parent,
- TabbedPropertySheetPage aTabbedPropertySheetPage) {
- super.createControls(parent, aTabbedPropertySheetPage);
- _propertySheetPage = (WPETabbedPropertySheetPage) aTabbedPropertySheetPage;
- }
-
- /**
- * for certain action performed in the section, may result big change in the
- * model. e.g: change tag name will result in editpart recreate. In this
- * case, we need do a total refresh.
- *
- */
- protected void refreshPropertySheetPage() {
- if (_propertySheetPage != null) {
- IWorkbenchPart part = getPart();
- if (part != null) {
- ISelection sel = part.getSite().getSelectionProvider()
- .getSelection();
- _propertySheetPage.selectionChanged(part, sel);
- } else {
- // XXX: will else happen?
- System.out.println("AbstractCustomSection --> What to do?"); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * Change selection
- * @param node
- */
- protected void gotoNode(Node node) {
- _propertySheetPage.internalChangeSelection(node, node);
- }
-
- /**
- * @return IStatusLineManager to use for the property sheet page
- */
- protected IStatusLineManager getStatusLineManager() {
- if (_propertySheetPage != null) {
- IActionBars bar = _propertySheetPage.getSite().getActionBars();
- if (bar != null) {
- return bar.getStatusLineManager();
- }
- }
- return null;
- }
-
- /**
- * @param status to display on status line
- */
- protected void applyStatus(IStatus[] status) {
- if (!_visible) {
- return;
- }
-
- IStatusLineManager statusLine = getStatusLineManager();
- if (statusLine == null) {
- return;
- }
-
- IStatus s;
- if (status == null || status.length == 0) {
- s = null;
- } else {
- s = StatusUtil.getMostSevere(status);
- }
-
- if (s == null || s.getSeverity() != IStatus.ERROR) {
- statusLine.setErrorMessage(null);
- } else {
- statusLine.setErrorMessage(s.getMessage());
- }
- }
-
- /**
- * @param message
- */
- protected void setErrorMessage(String message) {
- IStatusLineManager s = getStatusLineManager();
- if (s != null) {
- s.setErrorMessage(message);
- }
- }
-
- /**
- * @param message
- * @return Status
- */
- protected Status createErrorStatus(String message) {
- return new Status(IStatus.ERROR, PDPlugin.getPluginId(), 0, message,
- null);
- }
-
- public void aboutToBeHidden() {
- applyStatus(null);
- _visible = false;
-// IDOMElement newEle = (IDOMElement) DesignerPropertyTool.getElement(
-// part, selection);
-// if (_element != newEle) {
- if (_element != null) {
- _element.removeAdapter(_adapter);
- }
-// _element = newEle;
-// if (_element != null) {
-// _element.addAdapter(_adapter);
-// }
-// }
- super.aboutToBeHidden();
- }
-
- public void aboutToBeShown() {
- super.aboutToBeShown();
-// IDOMElement newEle = (IDOMElement) DesignerPropertyTool.getElement(
-// part, selection);
-// if (_element != newEle) {
-// if (_element != null) {
-// _element.removeAdapter(_adapter);
-// }
-// _element = newEle;
- if (_element != null) {
- _element.addAdapter(_adapter);
- }
-// }
- _visible = true;
- }
-
- /**
- * @return IProject for the WPE editing instance
- */
- protected IProject getProject() {
- if (_propertySheetPage != null) {
- IEditorInput input = _propertySheetPage.getEditor()
- .getEditorInput();
- if (input instanceof IFileEditorInput) {
- return ((IFileEditorInput) input).getFile().getProject();
- }
- }
- return null;
- }
-
- public void dispose() {
- super.dispose();
- if (_element != null) {
- _element.removeAdapter(_adapter);
- }
- }
-
- /**
- * @return IFile for WPE editing instance
- */
- protected IFile getFile() {
- if (_propertySheetPage != null) {
- IEditorInput input = _propertySheetPage.getEditor()
- .getEditorInput();
- if (input instanceof IFileEditorInput) {
- return ((IFileEditorInput) input).getFile();
- }
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/DesignerPropertyTool.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/DesignerPropertyTool.java
deleted file mode 100644
index d32d534f8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/DesignerPropertyTool.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.gef.editparts.AbstractEditPart;
-import org.eclipse.gef.ui.parts.GraphicalEditor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.utils.SelectionHelper;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.CDATASection;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * This is util class most used by Property related operation.
- *
- * @author mengbo
- */
-public class DesignerPropertyTool {
-
- /**
- * @param fNode
- * @param attributeDesc
- * @return attribute value
- */
- public static String getAttributeValue(Element fNode, CMNode attributeDesc) {
- if (attributeDesc == null) {
- return ""; //$NON-NLS-1$
- }
- String returnedValue = ""; //$NON-NLS-1$
- NamedNodeMap attrMap = fNode.getAttributes();
- if (attrMap != null) {
- Node attribute = attrMap.getNamedItem(attributeDesc.getNodeName());
- if (attribute != null) {
- if (attribute instanceof IDOMNode) {
- returnedValue = ((IDOMNode) attribute).getValueSource();
- } else {
- returnedValue = attribute.getNodeValue();
- }
- }
- }
- return returnedValue;
- }
-
-// /**
-// * @param fNode
-// * @param filter
-// * @return array of attributes as objects
-// * (unused)
-// */
-// public static Object[] getElementReferedAttributes(Element fNode,
-// String[] filter) {
-// List result = new ArrayList();
-// CMNamedNodeMap cmnnm = getElementDeclaredAttributes(fNode);
-// for (int i = 0, n = cmnnm.getLength(); i < n; i++) {
-// String name = cmnnm.item(i).getNodeName();
-// if (Arrays.asList(filter).contains(name)) {
-// result.add(cmnnm.item(i));
-// }
-// }
-// return result.toArray(new CMNode[result.size()]);
-// }
-
- /**
- * @param fNode
- * @return CMNamedNodeMap
- */
- public static CMNamedNodeMap getElementDeclaredAttributes(Node fNode) {
- IStructuredModel structModel = null;
- if (fNode instanceof IDOMNode) {
- structModel = ((IDOMNode) fNode).getModel();
- }
- if (null == structModel) {
- return null;
- }
- CMElementDeclaration cmde = null;
- CMNamedNodeMap cmnnm = null;
- if (fNode == null || fNode.getNodeType() != Node.ELEMENT_NODE) {
- cmde = null;
- }
- ModelQuery modelQuery = ModelQueryUtil.getModelQuery(fNode
- .getOwnerDocument());
- if (modelQuery != null) {
- cmde = modelQuery.getCMElementDeclaration((Element) fNode);
- }
- if (cmde != null) {
- cmnnm = cmde.getAttributes();
- }
- return cmnnm;
- }
-
- /**
- * the selection could be different kinds of selection, including: 1.
- * ITextSelection 2. IStructuredSelection (Node) 3. IStructuredSelection
- * (EditPart) 4. DesignRange we want to normalize it to only #2. If the node
- * is ATTR or TEXT/CDATA_SECTION, will use it's parent node.
- *
- * @param selectingPart
- * @param selection
- * @param htmlEditor
- * @return null if can't normalize.
- */
- public static Node normalizeSelectionToElement(
- IWorkbenchPart selectingPart, ISelection selection,
- HTMLEditor htmlEditor) {
-
- Node node = null;
- if (selectingPart instanceof HTMLEditor) {
- IEditorPart part = ((HTMLEditor) selectingPart).getActiveEditor();
- if (part instanceof TextEditor) {
- if (selection instanceof ITextSelection) {
- IStructuredModel model = ((HTMLEditor) selectingPart)
- .getModel();
- node = SelectionHelper.toNode(model,
- (ITextSelection) selection);
- }
- } else if (part instanceof GraphicalEditor) {
- if (selection instanceof IStructuredSelection) {
- node = SelectionHelper
- .toNode((IStructuredSelection) selection);
- } else if (selection instanceof DesignRange) {
- node = SelectionHelper.toNode((DesignRange) selection);
- }
- }
- if (node instanceof Attr) {
- node = ((Attr) node).getOwnerElement();
- } else if (node instanceof Text || node instanceof CDATASection) {
- node = node.getParentNode();
- }
- } else if (selectingPart instanceof ContentOutline) {
- if (selection instanceof IStructuredSelection
- && ((ContentOutline) selectingPart).getCurrentPage() != null
- && ((ContentOutline) selectingPart).getCurrentPage()
- .getControl().isFocusControl()) {
- node = SelectionHelper.toNode((IStructuredSelection) selection);
- if (node == null) {
- node = htmlEditor.getDOMDocument();
- }
- }
- }
-
- return node;
- }
-
- /**
- * @param node as Object
- * @return element
- */
- public static Element getElementNode(Object node) {
- Object model;
- Element element = null;
- if (node == null) {
- return null;
- }
-
- if (node instanceof Element) {
- element = (Element) node;
- } else if (node instanceof AbstractEditPart) {
- model = ((AbstractEditPart) node).getModel();
- if (model instanceof Element) {
- element = (Element) model;
- }
- } else if (node instanceof ISelection) {
- element = getElement(null, (ISelection) node);
- }
- return element;
- }
-
- /**
- * @param element
- * @param filter
- * @return list of attribute names
- */
- public static List getNameList(Element element, String[] filter) {
- List result = new ArrayList();
- CMNamedNodeMap attributes = getElementDeclaredAttributes(element);
- if (attributes != null) {
- for (int i = 0, n = attributes.getLength(); i < n; i++) {
- String name = attributes.item(i).getNodeName();
- if (Arrays.asList(filter).contains(name))
- result.add(name);
- }
- }
- return result;
- }
-
- /**
- * @param selection
- * should be a normalized selection
- * @return node
- */
- public static Node getCommonParent(ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- Object obj = ((IStructuredSelection) selection).getFirstElement();
- return (Node) obj;
- } else if (selection instanceof DesignRange) {
- DesignRange range = (DesignRange) selection;
- Node node1 = range.getStartPosition().getContainerNode();
- Node node2 = range.getEndPosition().getContainerNode();
- return DOMUtil.findCommonAncester(node1, node2);
- } else {
- // should not happen
- return null;
- }
- }
-
- /**
- * The passed in selection should be normalized selection.
- *
- * @param selectingPart
- * @param selection
- * @return element
- */
- public static Element getElement(IWorkbenchPart selectingPart,
- ISelection selection) {
- Node node = getCommonParent(selection);
- if (node instanceof Element) {
- return (Element) node;
- } else if (node != null) {
- node = node.getParentNode();
- if (node instanceof Element) {
- return (Element) node;
- }
- }
- return null;
- }
-
- // reserved for future native use.
- // public static void dumpChildren(Element element)
- // {
- // // In this function we are using logger to dump message out.
- // Logger logger = PDPlugin.getLogger(DesignerPropertyTool.class);
- // if (element == null || !DEBUG)
- // return;
- // NodeList nl = element.getChildNodes();
- // // It's our pattern for dumping message
- // logger.debug("\n----------------------------"); //$NON-NLS-1$
- // logger.debug("Element:" + element.getNodeName()); //$NON-NLS-1$
- // for (int i = 0; i < nl.getLength(); i++)
- // {
- // Node node = nl.item(i);
- // logger.debug("child[" + i + "]:" + node.getNodeName()); //$NON-NLS-1$
- // //$NON-NLS-2$
- // }
- // logger.debug("----------------------------\n"); //$NON-NLS-1$
- // }
-
- /**
- * @param element
- * @return bool
- * (unused)
- */
- public static boolean isMultiSelection(Element element) {
- if (element.getNodeName().equalsIgnoreCase(IHTMLConstants.TAG_OPTION)) {
- return element.getAttribute(ICSSPropertyID.ATTR_MULTIPLE) != null;
- }
- return false;
- }
-
-// /**
-// * @param element
-// * @return if elementImpl, return source, else null
-// * (unused)
-// */
-// public static String getElementTextSource(Element element) {
-// if (element == null) {
-// return null;
-// }
-// if (element instanceof ElementImpl) {
-// return ((ElementImpl) element).getSource();
-// }
-// return null;
-// }
-
- /**
- * @param project
- * @return IJavaProject
- */
- public static IJavaProject getJavaProject(Object project) {
- if (project == null) {
- return null;
- }
- if (project instanceof IJavaProject) {
- return (IJavaProject) project;
- } else if (project instanceof IProject) {
- try {
- IProjectNature nature = ((IProject) project)
- .getNature(JavaCore.NATURE_ID);
- if (nature == null) {
- return null;
- }
- return (IJavaProject) nature;
- } catch (Exception e) {
- // Error.DesignerPropertyTool.NatureQuerying = Error in project
- // java nature querying
- PDPlugin.getLogger(DesignerPropertyTool.class).error(
- "Error.DesignerPropertyTool.NatureQuerying", e); //$NON-NLS-1$
- // Should be error tolerable?
- return null;
- }
- }
- return null;
- }
-//
-// /**
-// * @param project as Object
-// * @return IProject or null
-// */
-// public static IProject getProject(Object project) {
-// if (project instanceof IProject) {
-// return (IProject) project;
-// } else if (project instanceof IJavaProject) {
-// return ((IJavaProject) project).getProject();
-// }
-// return null;
-// }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ISectionFilter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ISectionFilter.java
deleted file mode 100644
index 95591e813..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ISectionFilter.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- * @deprecated unused
- */
-public interface ISectionFilter {
-
- /**
- * @param node
- * @return true if node applies
- */
- boolean appliesTo(Element node);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ITabbedPropertiesConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ITabbedPropertiesConstants.java
deleted file mode 100644
index 233923ab0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/ITabbedPropertiesConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface ITabbedPropertiesConstants {
-
- // FIXME: when return null, will in fact using "Misc". This may not guarantee
- // it be the
- // last category, since is sorted by string order.
- /**
- * the other category
- */
- static final String OTHER_CATEGORY = Messages.ITabbedPropertiesConstants_other_category;
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/Messages.java
deleted file mode 100644
index a99a43c2e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized Strings
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.properties.messages"; //$NON-NLS-1$
- /**
- *
- */
- public static String ITabbedPropertiesConstants_other_category;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/NavigationHiearchyAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/NavigationHiearchyAction.java
deleted file mode 100644
index 262b43bcd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/NavigationHiearchyAction.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class NavigationHiearchyAction extends Action {
- private Menu _hiearchyMenu;
-
- private Node _startNode;
-
- private Node _currentNode;
-
- private WPETabbedPropertySheetPage _propertyPage;
-
- private class MenuCreator implements IMenuCreator {
- public void dispose() {
- if (_hiearchyMenu != null) {
- for (int i = 0, n = _hiearchyMenu.getItemCount(); i < n; i++) {
- MenuItem menuItem = _hiearchyMenu.getItem(i);
- menuItem.setData(null);
- }
- _hiearchyMenu.dispose();
- _hiearchyMenu = null;
- }
- }
-
- public Menu getMenu(Menu parent) {
- return null;
- }
-
- public Menu getMenu(Control parent) {
- dispose();
- _hiearchyMenu = new Menu(parent);
-
- // next we need to add the list of parents node into the menu.
- Node node = _startNode;
- List list = new ArrayList();
- while (node != null && !(node instanceof Document)
- && !(node instanceof DocumentFragment)) {
- list.add(node);
- node = node.getParentNode();
- }
-
- // adding ancesters reverse order.
- for (int i = list.size() - 1; i >= 0; i--) {
- Node thenode = (Node) list.get(i);
- MenuItem item = new MenuItem(_hiearchyMenu, SWT.CHECK);
- item.setSelection(thenode == _currentNode ? true : false);
- String text = thenode.getNodeName();
- item.setText(text);
- item.setData(thenode);
- item.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- Node selectedNode = (Node) e.widget.getData();
- _propertyPage.internalChangeSelection(selectedNode,
- _startNode);
- }
- });
- }
-
- return _hiearchyMenu;
- }
- }
-
- /**
- * @param propertyPage
- */
- public NavigationHiearchyAction(WPETabbedPropertySheetPage propertyPage) {
- super(""); //$NON-NLS-1$
- setEnabled(true);
- setMenuCreator(new MenuCreator());
- this._propertyPage = propertyPage;
- }
-
- /**
- * @param selectedNode
- * @param startNode
- */
- protected void changeSelection(Node selectedNode, Node startNode) {
- this._propertyPage.internalChangeSelection(selectedNode, startNode);
- this._currentNode = selectedNode;
- this._startNode = startNode;
- this.setText(this._currentNode.getNodeName());
- }
-
- /**
- * @param currentNode
- * @param startNode
- */
- protected void refresh(Node currentNode, Node startNode) {
- this._currentNode = currentNode;
- this._startNode = startNode;
- if (!(_currentNode instanceof Text)
- && !(_currentNode instanceof Element)) {
- this.setText("---"); //$NON-NLS-1$
- this.setEnabled(false);
- } else {
- this.setText(_currentNode.getNodeName());
- this.setEnabled(true);
- }
- }
-
- @Override
- public void run() {
- this._propertyPage.internalChangeSelection(_currentNode, _startNode);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/PropertyDescriptorWrapper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/PropertyDescriptorWrapper.java
deleted file mode 100644
index 6503bf125..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/PropertyDescriptorWrapper.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jst.pagedesigner.meta.EditorCreator;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * This is a simple PropertyDescriptor wrapper. It simply changed the category
- * name. This is because the default category name is "Attributes", which will
- * make them appear before other things, and that is not what we want.
- *
- * @author mengbo
- */
-public class PropertyDescriptorWrapper implements IPropertyDescriptor {
-
- private IPropertyDescriptor _inner;
-
- private IDOMElement _element;
-
- private IStatusLineManager _statusLineManager;
-
-// /**
-// * Constructor
-// * @param element
-// * @param innerDescriptor
-// * @param statusLineManager
-// *
-// */
-// public PropertyDescriptorWrapper(IDOMElement element,
-// IPropertyDescriptor innerDescriptor, IStatusLineManager statusLineManager) {
-// this._element = element;
-// this._inner = innerDescriptor;
-// this._statusLineManager = statusLineManager;
-// }
-
- /**
- * Constructor
- * @param element
- * @param innerDescriptor
- */
- public PropertyDescriptorWrapper(IDOMElement element,
- IPropertyDescriptor innerDescriptor) {
- this._element = element;
- this._inner = innerDescriptor;
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#createPropertyEditor(org.eclipse.swt.widgets.Composite)
- */
- public CellEditor createPropertyEditor(Composite parent) {
- EditorCreator.CellEditorHolder holder = new EditorCreator.CellEditorHolder() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.EditorCreator.CellEditorHolder#createCellEditor(org.eclipse.swt.widgets.Composite)
- */
- public CellEditor createCellEditor(Composite parent1) {
- CellEditor ed = null;
- if (_inner != null)
- ed = _inner.createPropertyEditor(parent1);
- else
- ed = new TextCellEditor(parent1);
-
- if (_statusLineManager != null)
- ed.addListener(new StatusBarUpdater(ed));
- return ed;
- }
- };
- return EditorCreator.getInstance().createCellEditorWithWrapper(parent,
- null, holder, _element, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getCategory()
- */
- public String getCategory() {
- String cat = _inner.getCategory();
- return cat != null ? cat : ITabbedPropertiesConstants.OTHER_CATEGORY;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getDescription()
- */
- public String getDescription() {
- return _inner.getDescription();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getDisplayName()
- */
- public String getDisplayName() {
- return _inner.getDisplayName();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getFilterFlags()
- */
- public String[] getFilterFlags() {
- return _inner.getFilterFlags();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getHelpContextIds()
- */
- public Object getHelpContextIds() {
- return _inner.getHelpContextIds();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getId()
- */
- public Object getId() {
- return _inner.getId();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#getLabelProvider()
- */
- public ILabelProvider getLabelProvider() {
- return _inner.getLabelProvider();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.views.properties.IPropertyDescriptor#isCompatibleWith(org.eclipse.ui.views.properties.IPropertyDescriptor)
- */
- public boolean isCompatibleWith(IPropertyDescriptor anotherProperty) {
- if (anotherProperty instanceof PropertyDescriptorWrapper) {
- return _inner
- .isCompatibleWith(((PropertyDescriptorWrapper) anotherProperty)
- .getInner());
- }
- return _inner.isCompatibleWith(anotherProperty);
- }
-
- /**
- * @return IPropertyDescriptor
- */
- public IPropertyDescriptor getInner() {
- return _inner;
- }
-
- private class StatusBarUpdater implements ICellEditorListener {
- private CellEditor ed;
-
- StatusBarUpdater(CellEditor ed) {
- this.ed = ed;
- }
- public void applyEditorValue() {//
- }
- public void cancelEditor() {//
- }
-
- public void editorValueChanged(boolean oldValidState,
- boolean newValidState) {
- if (!newValidState)
- _statusLineManager.setErrorMessage(ed.getErrorMessage());
- else
- _statusLineManager.setErrorMessage(null);
-
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/WPETabbedPropertySheetPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/WPETabbedPropertySheetPage.java
deleted file mode 100644
index 688398747..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/WPETabbedPropertySheetPage.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.properties.internal.QuickEditTabManager;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class WPETabbedPropertySheetPage extends TabbedPropertySheetPage {
-
- // TODO: when we want to extend this page, HTMLEditor would not be the sole
- // type of editor part.
- private HTMLEditor _htmlEditor;
-
- private NavigationHiearchyAction _hiearchAction = new NavigationHiearchyAction(
- this);
-
- private QuickEditTabManager manager;
-
- private ISelectionListener _selListener;
-
- /**
- * Constructor
- * @param tabbedPropertySheetPageContributor
- * @param editor
- */
- public WPETabbedPropertySheetPage(
- ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor,
- HTMLEditor editor) {
- super(tabbedPropertySheetPageContributor);
- _htmlEditor = editor;
- }
-
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if (part == null) {
- part = _htmlEditor;
- }
- if (part instanceof HTMLEditor || part instanceof ContentOutline) {
- Node node = DesignerPropertyTool.normalizeSelectionToElement(part,
- selection, _htmlEditor);
- if (node != null) {
- try {
- _hiearchAction.refresh(node, node);
- this.getSite().getActionBars().getToolBarManager().update(
- true);
- //setInput(part, node);
- super.selectionChanged(part, new StructuredSelection(node));
- } catch (Exception e) {
- // Some synchronization would cause this, it does not damage
- // the data.
- }
- }
- }
- }
-
- /**
- * This method should be called from internal of the property page. Normally
- * means user did some action inside the property sheet to change current
- * selection.
- *
- * @param selectedNode
- * @param innerNode
- */
- public void internalChangeSelection(Node selectedNode, Node innerNode) {
- getEditor().setFocus();
- _hiearchAction.refresh(selectedNode, innerNode);
- this.getSite().getActionBars().getToolBarManager().update(true);
- super.selectionChanged(null, new StructuredSelection(selectedNode));
- }
-
- /**
- * @return EditorPart instance that this property sheet is for. Will return instance of WPE (htmlEditor)
- */
- public EditorPart getEditor() {
- return this._htmlEditor;
- }
-
- public void init(IPageSite pageSite) {
- super.init(pageSite);
- setSelectionProvider();
- setSelectionListener();
- IToolBarManager toolbar = pageSite.getActionBars().getToolBarManager();
- toolbar.add(_hiearchAction);
- _hiearchAction.refresh(null, null);
- }
-
- private void setSelectionListener() {
- this.getSite().getWorkbenchWindow().getSelectionService()
- .addPostSelectionListener(getSelectionListener());
- }
-
- private ISelectionListener getSelectionListener() {
- if (_selListener == null){
- _selListener = new ISelectionListener() {
- public void selectionChanged(IWorkbenchPart part,
- ISelection selection) {
- if (getEditor() == part)//only fire if the selection applies to this tabbed prop sheet instance
- WPETabbedPropertySheetPage.this.selectionChanged(
- part, selection);
- }
- };
- }
- return _selListener;
- }
-
- private void setSelectionProvider() {
- this.getSite().setSelectionProvider(new ISelectionProvider() {
- private ISelection _selection;
-
- public void addSelectionChangedListener(
- ISelectionChangedListener listener) {
- // do nothing
- }
-
- /**
- * Returns the current selection for this provider.
- *
- * @return the current selection
- */
- public ISelection getSelection() {
- return _selection;
- }
-
- /**
- * Removes the given selection change listener from this selection
- * provider. Has no affect if an identical listener is not
- * registered.
- *
- * @param listener
- * a selection changed listener
- */
- public void removeSelectionChangedListener(
- ISelectionChangedListener listener) {
- // do nothing
- }
-
- /**
- * Sets the current selection for this selection provider.
- *
- * @param selection
- * the new selection
- */
- public void setSelection(ISelection selection) {
- _selection = selection;
- }
- });
-
- }
-
- public void createControl(Composite parent) {
- super.createControl(parent);
- PlatformUI
- .getWorkbench()
- .getHelpSystem()
- .setHelp(
- getControl(),
- PDPlugin
- .getResourceString("WPETabbedPropertySheetPage.help.id")); //$NON-NLS-1$
- }
-
- /**
- * @return acquires an instance of QuickEditTabManager
- */
- public QuickEditTabManager getTabManager() {
- if (manager == null) {
- manager = QuickEditTabManager.acquireInstance(this);
- }
- return manager;
- }
-
- @Override
- public void dispose() {
- this.getSite().getWorkbenchWindow().getSelectionService().removePostSelectionListener(getSelectionListener());
- this.getSite().setSelectionProvider(null);
- manager.releaseInstance();
- manager.dispose();
- manager = null;
- _selListener = null;
- _htmlEditor = null;
- super.dispose();
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/AttributeGroupMessages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/AttributeGroupMessages.java
deleted file mode 100644
index 2daa30347..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/AttributeGroupMessages.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.attrgroup;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class AttributeGroupMessages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.properties.attrgroup.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private AttributeGroupMessages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the value for key or !!key!! if not found
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-
- /**
- * Build a formated string from the resource bundle.
- *
- * @param key
- * the key into the resource bundle that has the formated string.
- * @param arg0
- * the first argument.
- * @return the formated string with the argument inline.
- */
- public static String getString(String key, Object arg0) {
- Object[] args = new Object[1];
- args[0] = arg0;
-
- MessageFormat formatter = new MessageFormat(getString(key));
- return formatter.format(args);
- }
-
- /**
- * Build a formated string from the resource bundle.
- *
- * @param key
- * the key into the resource bundle that has the formated string.
- * @param arg0
- * the first argument.
- * @param arg1
- * the second argument.
- * @return the formated string with the argument inline.
- */
- public static String getString(String key, Object arg0, Object arg1) {
- Object[] args = new Object[2];
- args[0] = arg0;
- args[1] = arg1;
-
- MessageFormat formatter = new MessageFormat(getString(key));
- return formatter.format(args);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/DialogUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/DialogUtil.java
deleted file mode 100644
index 8288c8954..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/DialogUtil.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.attrgroup;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroupPage;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.CommonWizardDialog;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.single.AddSubNodeCommand;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.properties.internal.AttributeGroup;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DialogUtil {
- /**
- * Utility method, this method will popup a dialog for user to input
- * attributes for initialize a sub element. In this method will create a
- * command and execute it.
- *
- * @param shell
- * parent shell for dialog
- * @param parent
- * the parent element
- * @param group
- * the AttributeGroup
- * @return true if success, false if user canceled.
- */
- public static boolean createSubElement(Shell shell,
- final IDOMElement parent, final AttributeGroup group) {
- group.setElementContext(parent, parent);//2ndParam seems to need to be parent most of the time... don't know why it WAS null... changed 12/19/07
-
- if (group.getDialogFields().length == 0){
- //don't show dialog
- createSubNode(group, parent, Collections.EMPTY_MAP);
- return true;
- }
-
- final DialogFieldGroupPage page = new DialogFieldGroupPage("", group); //$NON-NLS-1$
- page.setTitle(AttributeGroupMessages.getString(
- "DialogUtil.createTitle", group.getTagName())); //$NON-NLS-1$
- page
- .setDescription(AttributeGroupMessages
- .getString(
- "DialogUtil.createDescription", group.getTagName(), parent.getTagName())); //$NON-NLS-1$
-
- Wizard wizard = new Wizard() {
- public void addPages() {
- super.addPage(page);
- }
-
- public boolean performFinish() {
- DialogField[] fields = group.getDialogFields();
- Map map = new HashMap();
- for (int i = 0; i < fields.length; i++) {
- IPropertyPageDescriptor desc = group
- .getPropertyDescriptor(fields[i]);
- if (desc != null && fields[i] instanceof ISupportTextValue) {
- String value = ((ISupportTextValue) fields[i])
- .getText();
- if (value != null && value.length() > 0) {
- map.put(desc.getAttributeName(), value);
- }
- }
- }
- createSubNode(group, parent, map);
- return true;
- }
- };
- wizard.setWindowTitle(AttributeGroupMessages.getString(
- "DialogUtil.createTitle", group.getTagName())); //$NON-NLS-1$
- wizard.setDefaultPageImageDescriptor(PDPlugin.getDefault()
- .getImageDescriptor("newsuade_wiz.gif")); //$NON-NLS-1$
- CommonWizardDialog dialog = new CommonWizardDialog(shell, wizard);
-
- return dialog.open() == Window.OK;
- }
-
- private static void createSubNode(final AttributeGroup group, final IDOMElement parent, final Map mapOfAttributeValues) {
- AddSubNodeCommand addSubCommand = new AddSubNodeCommand(
- AttributeGroupMessages
- .getString(
- "DialogUtil.createCommandLabel", group.getTagName()), parent, group.getTagName(), group.getURI(), mapOfAttributeValues); //$NON-NLS-1$
- addSubCommand.execute();
-
- }
-
- /**
- * Utility method, this method will popup a dialog for user to input
- * attributes for initialize a sub element. In this method will create a
- * command and execute it.
- *
- * @param shell
- * parent shell for dialog
- * @param parent
- * parent element
- * @param uri
- * new ele's uri
- * @param tagName
- * new ele's tag name
- * @param attributes
- * an array of attribute names. The dialog will create a
- * dialogfield for each of them to allow user to input initial
- * value. If null, the system will try to use all attribute of
- * the element.
- * @return true if success, false if user canceled.
- */
- public static boolean createSubElement(Shell shell,
- final IDOMElement parent, final String uri, final String tagName,
- final String[] attributes) {
-
- final AttributeGroup group = new AttributeGroup(uri, tagName,
- attributes);
-
- return createSubElement(shell, parent, group);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/IElementContextable.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/IElementContextable.java
deleted file mode 100644
index bb90d8033..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/IElementContextable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.attrgroup;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * This is a special interface for those special dialog field that need context
- * information.
- *
- * @author mengbo
- * @version 1.5
- */
-public interface IElementContextable {
- /**
- *
- * @param ancester
- * an non null element, could be the element being edited, or an
- * ancester element when we are creating new element.
- * @param element
- * if not null, then is the element being edited, could be used
- * to retrive initial data.
- *
- */
- public void setElementContext(IDOMNode ancester, IDOMElement element);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/messages.properties
deleted file mode 100644
index dd21120eb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/attrgroup/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-DialogUtil.createTitle=Create {0}
-DialogUtil.createDescription=Create subelement "{0}" under "{1}"
-DialogUtil.createCommandLabel=Create {0}
-AttributeGroupSection.changeAttribute=Change Attribute
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.java
deleted file mode 100644
index b43bcc339..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.jst.pagedesigner.ui.dialogs.StyleDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- * A css dialog cell editor
- *
- */
-public class CSSDialogCellEditor extends EditableDialogCellEditor {
- private IDOMElement _element;
-
- /**
- * @param parent
- * @param element
- */
- public CSSDialogCellEditor(Composite parent, IDOMElement element) {
- super(parent);
- _element = element;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(org.eclipse.swt.widgets.Control)
- */
- protected Object openDialogBox(Control cellEditorWindow) {
- ICSSStyleDeclaration styleDeclaration = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) _element)
- .getStyle();
-
- PreferenceManager manager = new PreferenceManager();
- Shell shell = cellEditorWindow.getShell();
-
- final CSSPropertyContext context = new CSSPropertyContext(styleDeclaration);
- StyleDialog dialog = new StyleDialog(shell, manager, _element, context);
- if (dialog.open() == Window.OK) {
- if (context.isModified()) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(
- new Runnable()
- {
- public void run()
- {
- ChangeStyleCommand c = new ChangeStyleCommand(_element, context);
- c.execute();
- }
- });
- }
- }
-
- String style = (_element == null ? null : _element
- .getAttribute(IJSFConstants.ATTR_STYLE));
- return style == null ? "" : style; //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java
deleted file mode 100644
index de79670a5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory;
-import org.eclipse.jst.pagedesigner.meta.IAttributeRuntimeValueType;
-import org.eclipse.jst.pagedesigner.properties.dialogfields.MDEnabledComboDialogField;
-import org.eclipse.jst.pagedesigner.ui.dialogfields.ClasspathResourceButtonDialogField;
-import org.eclipse.jst.pagedesigner.ui.dialogfields.ContextableResourceButtonDialogField;
-import org.eclipse.jst.pagedesigner.ui.dialogfields.StyleButtonDialogField;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- *
- * @author mengbo
- */
-public class CellEditorFactory implements ITagAttributeCellEditorFactory {
- public CellEditor createCellEditor(Composite parent,
- IPropertyPageDescriptor attr, Element element) {
-
- String type = attr.getValueType();
-
- IPossibleValues pvs = (IPossibleValues)attr.getAdapter(IPossibleValues.class);
- IDefaultValue defaultValue = (IDefaultValue)attr.getAdapter(IDefaultValue.class);
-// ICellEditorValidator validator = (ICellEditorValidator)attr.getAdapter(ICellEditorValidator.class);
- CellEditor ed = null;
- if (IAttributeRuntimeValueType.RELATIVEPATH.equalsIgnoreCase(type)|| IAttributeRuntimeValueType.WEBPATH.equalsIgnoreCase(type)) {
- IProject project = getProject(element);
- if (project != null) {
-// String typeParam = TraitValueHelper.getValueAsString(TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(),"type-param"));
- ResourceDialogCellEditor cellEditor = new ResourceDialogCellEditor(
- parent);
- Trait fileExt = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$
- Trait separator = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$
- String[] fileExts = null;
- if (fileExt != null){
- List exts = TraitValueHelper.getValueAsListOfStrings(fileExt);
- fileExts = (String[])exts.toArray(new String[exts.size()]);
- }
-
- String sep = null;
- if (separator != null)
- sep = TraitValueHelper.getValueAsString(separator);
-
- if (fileExts != null)
- cellEditor.setSuffixs(fileExts);
- if (sep != null)
- cellEditor.setSeparator(sep);
-
- cellEditor.setProject(project);
- cellEditor.setReferredFile(getFile(element));
-
- if (IAttributeRuntimeValueType.WEBPATH.equalsIgnoreCase(type)) {
- cellEditor.setWebPath(true);
- }
-
- if (IJSPCoreConstants.TAG_DIRECTIVE_INCLUDE.equals(element
- .getLocalName())
- || IJSPCoreConstants.TAG_INCLUDE.equals(element
- .getLocalName())) {
- cellEditor.setTransformJSPURL(false);
- }
- ed = cellEditor;
- }
- }
- else if (IAttributeRuntimeValueType.RESOURCEBUNDLE.equals(type)) {
- ed = new LoadbundleSelectionCellEditor(parent,
- getProject(element));
- }
- else if (IAttributeRuntimeValueType.CSSSTYLE.equalsIgnoreCase(type)) {
-// String param = getParamterValue(attr, "style");
-//// .getParameterByName(IAttributeDescriptor.PARAMETER_STYLE);
-// if (!param.equalsIgnoreCase("STYLE")) {
-// return null;
-// }
- CSSDialogCellEditor cellEditor = new CSSDialogCellEditor(parent,
- (IDOMElement) element);
- ed = cellEditor;
- }
- else if (pvs != null && pvs.getPossibleValues().size() > 0) {
-// if (validator != null)
-// ed = LabeledStyleComboCellEditor.newInstance(parent, pvs,
-// defaultValue, SWT.DROP_DOWN | SWT.READ_ONLY);
-// else
- ed = LabeledStyleComboCellEditor.newInstance(parent, pvs,
- defaultValue, SWT.NONE);
-
- }
-
-// } else if (IAttributeRuntimeValueType.CSSID.equalsIgnoreCase(type)) {
-// // TODO: missing case?
-
- else {
- ed = new TextCellEditor(parent);
- }
-// if (validator != null){
-// ed.setValidator(validator);
-// }
-
- return ed;
- }
-
-
-// private String getParamterValue(IPropertyPageDescriptor attr, String traitKey) {
-// Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), traitKey);
-// if (trait != null){
-// return TraitValueHelper.getValueAsString(trait);
-// }
-// return null;
-// }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.meta.NEWMDIAttributeCellEditorFactory#createDialogField(org.eclipse.jst.pagedesigner.meta.IAttributeDescriptor,
- * org.w3c.dom.Element, org.w3c.dom.Element)
- */
- public DialogField createDialogField(IPropertyPageDescriptor attr) {
-
- String type = attr.getValueType();
-
- IPossibleValues pvs = (IPossibleValues)attr.getAdapter(IPossibleValues.class);
-// IDefaultValue defaultValue = (IDefaultValue)attr.getAdapter(IDefaultValue.class);
-// ICellEditorValidator validator = (ICellEditorValidator)attr.getAdapter(ICellEditorValidator.class);
-
-
-
- if (IAttributeRuntimeValueType.RELATIVEPATH.equals(type) ||
- IAttributeRuntimeValueType.WEBPATH.equals(type)) {
- Trait fileExt = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$
- Trait seperator = TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(), "separator"); //$NON-NLS-1$
-
- String[] fileExts = null;
- if (fileExt != null){
- List exts = TraitValueHelper.getValueAsListOfStrings(fileExt);
- fileExts = (String[])exts.toArray(new String[exts.size()]);
- }
-
- String sep = null;
- if (seperator != null)
- sep = TraitValueHelper.getValueAsString(seperator);
-
- ContextableResourceButtonDialogField field = new ContextableResourceButtonDialogField();
- field.setLabelText(attr.getLabel());
- if (fileExts != null) {
- field.setSuffixs(fileExts);
- }
-
- if (sep != null) {
- field.setSeparator(sep);
- }
-
- if ("".equalsIgnoreCase(field.getSeparator())) { //$NON-NLS-1$
- field.setResourceDescription(ResourceBoundle
- .getString("FileCellEditor.Msg")); //$NON-NLS-1$
- } else {
- field.setResourceDescription(ResourceBoundle
- .getString("FileCellEditor.Msg1")); //$NON-NLS-1$
- }
- field.setWebPath(IAttributeRuntimeValueType.WEBPATH.equals(type));
- field.setRequired(attr.isRequired());
- field.setToolTip(attr.getDescription());
- return field;
-
- } else if (IAttributeRuntimeValueType.CLASSPATH_RESOURCE.equals(type) ||
- IAttributeRuntimeValueType.RESOURCEBUNDLE.equals(type)) {
- ClasspathResourceButtonDialogField field = new ClasspathResourceButtonDialogField();
- field.setRequired(attr.isRequired());
- field.setToolTip(attr.getDescription());
- field.setLabelText(attr.getLabel());
- return field;
- } else if (IAttributeRuntimeValueType.CSSSTYLE.equalsIgnoreCase(type)) {
-// String param = getParamterValue(attr, "style");
-// if (!"STYLE".equalsIgnoreCase(param)) {
-// return null;
-// }
- StyleButtonDialogField field = new StyleButtonDialogField();
- field.setRequired(attr.isRequired());
- field.setToolTip(attr.getDescription());
- field.setLabelText(attr.getLabel());
- return field;
-
-// // if there is no type or type unknown, then we just return null. and
-// // system will
-// // create default (text cell editor).
- } else if (pvs != null && pvs.getPossibleValues().size() > 0) {
- MDEnabledComboDialogField field = new MDEnabledComboDialogField(SWT.None);
- field.setLabelText(attr.getLabel());
- field.setToolTip(attr.getDescription());
- field.setRequired(attr.isRequired());
- return field;
- }
- return null;
- }
-
- private IProject getProject(Element element) {
- if (element instanceof IDOMElement) {
- IDOMModel model = ((IDOMElement) element).getModel();
- IFile file = StructuredModelUtil.getFileFor(model);
- if (file != null) {
- return file.getProject();
- }
- }
- return null;
- }
-
- public String[] getSupportedValueTypes() {
- return null;//default - all!
- }
-
- private IFile getFile(Element element) {
- if (element instanceof IDOMElement) {
- IDOMModel model = ((IDOMElement) element).getModel();
- IFile file = StructuredModelUtil.getFileFor(model);
- return file;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorWrapper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorWrapper.java
deleted file mode 100644
index 011ff992a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorWrapper.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-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.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-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.Layout;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * CellEditorWrapper is a special cell editor, that wraps an existing cell
- * editor by adding a small clickable button to end of it.
- *
- * Due to limitation of the CellEditor framework, this wrapping technology may
- * resulting in some small inconvenience when change focus from the "wrapped"
- * cell editor to the "added" button.
- *
- * This is an abstract class. Child class need override some methods.
- *
- * @author mengbo
- */
-public abstract class CellEditorWrapper extends CellEditor {
- /**
- * The editor control.
- */
- private Composite _editor;
-
- /**
- * the wrapped cell editor
- */
- private CellEditor _wrapped;
-
- /**
- * The button.
- */
- private Button _button;
-
- /**
- * Internal class for laying out the dialog.
- */
- private class DialogCellLayout extends Layout {
- public void layout(Composite editor, boolean force) {
- Rectangle bounds = editor.getClientArea();
- Point size = _button.computeSize(SWT.DEFAULT, SWT.DEFAULT, force);
- // if (_wrapped != null)
- _wrapped.getControl().setBounds(0, 0, bounds.width - size.x,
- bounds.height);
- _button.setBounds(bounds.width - size.x, 0, size.x, bounds.height);
- }
-
- public Point computeSize(Composite editor, int wHint, int hHint,
- boolean force) {
- if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
- return new Point(wHint, hHint);
- Point contentsSize = _wrapped.getControl().computeSize(SWT.DEFAULT,
- SWT.DEFAULT, force);
- Point buttonSize = _button.computeSize(SWT.DEFAULT, SWT.DEFAULT,
- force);
- // Just return the button width to ensure the button is not clipped
- // if the label is long.
- // The label will just use whatever extra width there is
- Point result = new Point(buttonSize.x, Math.max(contentsSize.y,
- buttonSize.y));
- return result;
- }
- }
-
- /**
- * Default DialogCellEditor style
- */
- private static final int defaultStyle = SWT.NONE;
-
- /**
- * Creates a new dialog cell editor with no control
- *
- * @since 2.1
- */
- public CellEditorWrapper() {
- setStyle(defaultStyle);
- }
-
- /**
- * Creates a new 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 CellEditorWrapper(Composite parent) {
- this(parent, defaultStyle);
- }
-
- /**
- * Creates a new 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
- * @param style
- * the style bits
- * @since 2.1
- */
- protected CellEditorWrapper(Composite parent, int style) {
- super(parent, style);
- }
-
- /**
- * Creates the button for this cell editor under the given parent control.
- * <p>
- * The default implementation of this framework method creates the button
- * display on the right hand side of the dialog cell editor. Subclasses may
- * extend or reimplement.
- * </p>
- *
- * @param parent
- * the parent control
- * @return the new button control
- */
- protected Button createButton(Composite parent) {
- Button result = new Button(parent, SWT.DOWN);
- result.setImage(getBindingImage());
- // result.setText("..."); //$NON-NLS-1$
- return result;
- }
-
- /**
- * Since createButton is called from constructor, so we could only let child
- * class override this method to provide image. Rather than setting as
- * property.
- *
- * @return image
- */
- protected abstract Image getBindingImage();
-
- /**
- * Creates the controls used to show the value of this cell editor.
- * <p>
- * The default implementation of this framework method creates a label
- * widget, using the same font and background color as the parent control.
- * </p>
- * <p>
- * Subclasses may re-implement. If you re-implement this method, you should
- * also re-implement <code>updateContents</code>.
- * </p>
- *
- * @param cell
- * the control for this cell editor
- * @return control
- */
- protected Control createContents(Composite cell) {
- _wrapped = createWrappedCellEditor(cell);
- if (_wrapped == null) {
- _wrapped = new TextCellEditor(cell);
- }
- _wrapped.addListener(new ICellEditorListener() {
- public void applyEditorValue() {
- fireApplyEditorValue();
- }
-
- public void cancelEditor() {
- fireCancelEditor();
- }
-
- public void editorValueChanged(boolean oldValidState,
- boolean newValidState) {
- fireEditorValueChanged(oldValidState, newValidState);
- }
- });
- _wrapped.addPropertyChangeListener(new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- // FIXME:
- }
- });
-
- _wrapped.getControl().setVisible(true);
- _wrapped.getControl().addListener(SWT.Hide, new Listener() {
- public void handleEvent(Event event) {
- Display.getCurrent().asyncExec(new Runnable() {
- public void run() {
- if (_wrapped != null && _wrapped.getControl() != null
- && !_wrapped.getControl().isDisposed()) {
- _wrapped.getControl().setVisible(true);
- } else {
- deactivate();
- }
- }
- });
-
- }
- });
- return _wrapped.getControl();
- }
-
- /**
- * @param cell
- * @return CellEditor
- */
- protected abstract CellEditor createWrappedCellEditor(Composite cell);
-
- /*
- * (non-Javadoc) Method declared on CellEditor.
- */
- protected Control createControl(Composite parent) {
- Font font = parent.getFont();
- Color bg = parent.getBackground();
-
- _editor = new Composite(parent, getStyle());
- _editor.setFont(font);
- _editor.setBackground(bg);
- _editor.setLayout(new DialogCellLayout());
-
- createContents(_editor);
- // updateContents(value);
-
- _button = createButton(_editor);
- _button.setFont(font);
-
- _button.addKeyListener(new KeyAdapter() {
- public void keyReleased(KeyEvent e) {
- if (e.character == '\u001b') { // Escape
- fireCancelEditor();
- }
- }
- });
-
- _button.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- Object newValue = openDialogBox(_editor);
- if (newValue != null) {
- boolean newValidState = isCorrect(newValue);
- if (newValidState) {
- markDirty();
- doSetValue(newValue);
- } else {
- // try to insert the current value into the error
- // message.
- setErrorMessage(MessageFormat.format(getErrorMessage(),
- new Object[] { newValue.toString() }));
- }
- fireApplyEditorValue();
- }
- }
- });
-
- setValueValid(true);
-
- return _editor;
- }
-
- /*
- * (non-Javadoc) Method declared on CellEditor. The focus is set to the cell
- * editor's button.
- */
- protected void doSetFocus() {
- if (_wrapped != null && _wrapped.getControl() != null
- && !_wrapped.getControl().isDisposed()) {
- _wrapped.setFocus();
- } else {
- _button.setFocus();
- }
- }
-
- /*
- * (non-Javadoc) Method declared on CellEditor.
- */
- protected Object doGetValue() {
- return _wrapped.getValue();
- }
-
- /*
- * (non-Javadoc) Method declared on CellEditor.
- */
- protected void doSetValue(Object value) {
- if (_wrapped != null) {
- _wrapped.setValue(value);
- }
- }
-
- /**
- * Opens a dialog box under the given parent control and returns the
- * dialog's value when it closes, or <code>null</code> if the dialog was
- * cancelled or no selection was made in the dialog.
- * <p>
- * This framework method must be implemented by concrete subclasses. It is
- * called when the user has pressed the button and the dialog box must pop
- * up.
- * </p>
- *
- * @param cellEditorWindow
- * the parent control cell editor's window so that a subclass can
- * adjust the dialog box accordingly
- * @return the selected value, or <code>null</code> if the dialog was
- * cancelled or no selection was made in the dialog
- */
- protected abstract Object openDialogBox(Control cellEditorWindow);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#activate()
- */
- public void activate() {
- super.activate();
- _wrapped.activate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#deactivate()
- */
- public void deactivate() {
- super.deactivate();
- // if (_wrapped != null)
- // {
- // _wrapped.deactivate();
- // }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#dispose()
- */
- public void dispose() {
- _wrapped.dispose();
- super.dispose();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/EditableDialogCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/EditableDialogCellEditor.java
deleted file mode 100644
index 9a9c38599..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/EditableDialogCellEditor.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.viewers.DialogCellEditor;
-import org.eclipse.swt.SWT;
-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.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author mengbo
- */
-public abstract class EditableDialogCellEditor extends DialogCellEditor {
- private Text _text;
-
- /**
- *
- */
- public EditableDialogCellEditor() {
- super();
- }
-
- /**
- * @param parent
- */
- public EditableDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * @param parent
- * @param style
- */
- public EditableDialogCellEditor(Composite parent, int style) {
- super(parent, style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.DialogCellEditor#createContents(org.eclipse.swt.widgets.Composite)
- */
- protected Control createContents(Composite cell) {
- _text = new Text(cell, SWT.LEFT);
- _text.setFont(cell.getFont());
- _text.setBackground(cell.getBackground());
- _text.addKeyListener(new KeyAdapter() {
- // hook key pressed - see PR 14201
- public void keyPressed(KeyEvent e) {
- keyReleaseOccured(e);
- // disposed this cell editor
- if ((getControl() == null) || getControl().isDisposed()) {
- return;
- }
- }
- });
- // when the text control has focus, the cellEditor will deactive even
- // when you press the button.
- // Add the follow codes enable switch to the button control.
- _text.addFocusListener(new FocusAdapter() {
- public void focusLost(FocusEvent e) {
- boolean newValidState = isCorrect(_text.getText());
- if (newValidState) {
- markDirty();
- doSetValue(_text.getText());
- } else {
- // try to insert the current value into the error message.
- setErrorMessage(MessageFormat.format(getErrorMessage(),
- new Object[] { _text.getText().toString() }));
- }
- }
- });
-
- return _text;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#doSetFocus()
- */
- protected void doSetFocus() {
- _text.setFocus();
- _text.selectAll();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.DialogCellEditor#updateContents(java.lang.Object)
- */
- protected void updateContents(Object value) {
- if (_text == null || _text.isDisposed()) {
- return;
- }
-
- String text = "";//$NON-NLS-1$
- if (value != null) {
- text = value.toString();
- }
- _text.setText(text);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#keyReleaseOccured(org.eclipse.swt.events.KeyEvent)
- */
- protected void keyReleaseOccured(KeyEvent keyEvent) {
- if (keyEvent.character == '\r') {
- boolean newValidState = isCorrect(_text.getText());
- if (newValidState) {
- markDirty();
- doSetValue(_text.getText());
- } else {
- // try to insert the current value into the error message.
- setErrorMessage(MessageFormat.format(getErrorMessage(),
- new Object[] { _text.getText().toString() }));
- }
- fireApplyEditorValue();
- }
- super.keyReleaseOccured(keyEvent);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledComboBoxCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledComboBoxCellEditor.java
deleted file mode 100644
index efd1df0fd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledComboBoxCellEditor.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-/**
- * A simple ComboBoxCellEditor, which allow value and display string to be
- * different.
- *
- * @author mengbo
- */
-public class LabeledComboBoxCellEditor extends ComboBoxCellEditor {
- private boolean _fSettingValue = false;
-
- private Object[] _values;
-
- /**
- * Create LabeledComboBoxCellEditor
- * @param parent
- * @param valueLabelMap
- * @param style
- * @return LabeledComboBoxCellEditor
- */
- public static LabeledComboBoxCellEditor newInstance(Composite parent,
- Map valueLabelMap, int style) {
- // we'll sort according to label. since that is what being show to user.
- List list = new ArrayList();
- for (Iterator iter = valueLabelMap.keySet().iterator(); iter.hasNext();) {
- Object key = iter.next();
- String label = (String) valueLabelMap.get(key);
- list.add(new Object[] { key, label });
- }
- // sort by label
- Collections.sort(list, new Comparator() {
- public int compare(Object o1, Object o2) {
- String label1 = (String) ((Object[]) o1)[1];
- String label2 = (String) ((Object[]) o2)[1];
- return label1.compareTo(label2);
- }
- });
- Object[] values = new Object[list.size()];
- String[] labels = new String[list.size()];
- for (int i = 0, n = list.size(); i < n; i++) {
- values[i] = ((Object[]) list.get(i))[0];
- labels[i] = (String) ((Object[]) list.get(i))[1];
- }
- return new LabeledComboBoxCellEditor(parent, values, labels, style);
- }
-
- /**
- * Constructor
- *
- * @param parent
- * @param values
- * @param labels
- */
- public LabeledComboBoxCellEditor(Composite parent, Object[] values,
- String[] labels) {
- this(parent, values, labels, SWT.NONE);
- }
-
- /**
- * Constructor
- *
- * @param parent
- * @param values
- * @param labels
- * @param style
- */
- public LabeledComboBoxCellEditor(Composite parent, Object[] values,
- String[] labels, int style) {
- super(parent, labels, style);
- _values = values;
- }
-
- protected Object doGetValue() {
- // 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 _values[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;
- }
-
- protected void doSetValue(Object value) {
- if (_fSettingValue) {
- return;
- }
- _fSettingValue = true;
- if (value instanceof Integer) {
- super.doSetValue(value);
- } else {
- String stringValue = value.toString();
- int selection = -1;
- for (int i = 0; i < _values.length; i++) {
- if (_values[i].equals(stringValue)) {
- selection = i;
- }
- }
- if (selection >= 0) {
- super.doSetValue(new Integer(selection));
- } else {
- super.doSetValue(new Integer(-1));
- if (getControl() instanceof CCombo
- && !stringValue.equals(((CCombo) getControl())
- .getText())) {
- // update the Text widget
- ((CCombo) getControl()).setText(stringValue);
- }
- }
- }
- _fSettingValue = false;
- }
-
- public void setItems(String[] newItems) {
- if (getControl() == null || getControl().isDisposed()) {
- Logger.log(Logger.ERROR,
- "Attempted to update item list for disposed cell editor"); //$NON-NLS-1$
- return;
- }
-
- // keep selection if possible
- Object previousSelectedValue = getValue();
- super.setItems(newItems);
- if (previousSelectedValue != null && getControl() instanceof CCombo) {
- for (int i = 0; i < newItems.length; i++) {
- if (newItems[i].equals(previousSelectedValue)) {
- setValue(previousSelectedValue);
- }
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledStyleComboCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledStyleComboCellEditor.java
deleted file mode 100644
index e8a47d5ba..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LabeledStyleComboCellEditor.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.utils.StyleCombo;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.sse.ui.internal.Logger;
-
-/**
- * A combo cell editor
- *
- */
-public class LabeledStyleComboCellEditor extends StyleComboCellEditor {
- private boolean _fSettingValue = false;
-
- private Object[] _values;
-
- /**
- * @param parent
- * @param valueLabelMap
- * @param defaultValue
- * @param style
- * @return the new instance
- */
- public static LabeledStyleComboCellEditor newInstance(Composite parent,
- Map valueLabelMap, String defaultValue, int style) {
- // we'll sort according to label. since that is what being show to user.
- List list = new ArrayList();
- for (Iterator iter = valueLabelMap.keySet().iterator(); iter.hasNext();) {
- Object key = iter.next();
- String label = (String) valueLabelMap.get(key);
- list.add(new Object[] { key, label });
- }
- // sort by label
- Collections.sort(list, new Comparator() {
- public int compare(Object o1, Object o2) {
- String label1 = (String) ((Object[]) o1)[1];
- String label2 = (String) ((Object[]) o2)[1];
- return label1.compareTo(label2);
- }
- });
- Object[] values = new Object[list.size()];
- String[] labels = new String[list.size()];
- for (int i = 0, n = list.size(); i < n; i++) {
- values[i] = ((Object[]) list.get(i))[0];
- labels[i] = (String) ((Object[]) list.get(i))[1];
- }
- return new LabeledStyleComboCellEditor(parent, values, labels,
- defaultValue, style);
- }
-
- /**
- * Constructor
- *
- * @param parent
- * @param values
- * @param labels
- * @param defaultValue
- * @param style
- */
- public LabeledStyleComboCellEditor(Composite parent, Object[] values,
- String[] labels, String defaultValue, int style) {
- super(parent, labels, style);
- StyleCombo combo = (StyleCombo) getControl();
- if (defaultValue != null)
- combo.setDefaultValue(defaultValue);
- _values = values;
- }
-
- protected Object doGetValue() {
- // otherwise limits to set of valid values
- Object index = super.doGetValue();
- int selection1 = -1;
- if (index instanceof Integer) {
- selection1 = ((Integer) index).intValue();
- }
- if (selection1 >= 0) {
- return _values[selection1];
- } else if (getControl() instanceof StyleCombo) {
- // retrieve the actual text as the list of valid items doesn't
- // contain the value
- return ((StyleCombo) getControl()).getText();
- }
- return null;
- }
-
- protected void doSetValue(Object value) {
- if (_fSettingValue) {
- return;
- }
- _fSettingValue = true;
- if (value instanceof Integer) {
- super.doSetValue(value);
- } else {
- String stringValue = value.toString();
- int selection1 = -1;
- for (int i = 0; i < _values.length; i++) {
- if (_values[i].equals(stringValue)) {
- selection1 = i;
- }
- }
- if (selection1 >= 0) {
- super.doSetValue(new Integer(selection1));
- } else {
- super.doSetValue(new Integer(-1));
- if (getControl() instanceof StyleCombo
- && !stringValue.equals(((StyleCombo) getControl())
- .getText())) {
- // update the Text widget
- ((StyleCombo) getControl()).setText(stringValue);
- }
- }
- }
- _fSettingValue = false;
- }
-
- public void setItems(String[] newItems) {
- if (getControl() == null || getControl().isDisposed()) {
- Logger.log(Logger.ERROR,
- "Attempted to update item list for disposed cell editor"); //$NON-NLS-1$
- return;
- }
-
- // keep selection if possible
- Object previousSelectedValue = getValue();
- super.setItems(newItems);
- if (previousSelectedValue != null && getControl() instanceof StyleCombo) {
- for (int i = 0; i < newItems.length; i++) {
- if (newItems[i].equals(previousSelectedValue)) {
- setValue(previousSelectedValue);
- }
- }
- }
- }
-
- /**
- * Create CellEditor
- * @param parent
- * @param pvs
- * @param defaultValue
- * @param style
- * @return CellEditor
- */
- public static CellEditor newInstance(Composite parent, IPossibleValues pvs,
- IDefaultValue defaultValue, int style) {
-
- CellEditor ed = null;
- if (pvs != null) {
- Map map = getPossibleValueMap(pvs);
- ed = newInstance(parent, map, defaultValue != null ? defaultValue.getDefaultValue() : null, style);
- }
-
- return ed;
- }
-
- private static Map getPossibleValueMap(IPossibleValues pvs) {
- Map<String, String> map = new HashMap<String, String>(pvs.getPossibleValues().size());
- for (Iterator it = pvs.getPossibleValues().iterator();it.hasNext();){
- IPossibleValue pv = (IPossibleValue)it.next();
- map.put(pv.getValue(), pv.getDisplayValue());
- }
- return map;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LoadbundleSelectionCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LoadbundleSelectionCellEditor.java
deleted file mode 100644
index 14654783c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/LoadbundleSelectionCellEditor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.ResourceOnClasspathDialog;
-import org.eclipse.jst.pagedesigner.properties.DesignerPropertyTool;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @author mengbo
- */
-public class LoadbundleSelectionCellEditor extends EditableDialogCellEditor {
- private static final String[] PROPERTIES_FILES_SUFFIXS = new String[] { IFileFolderConstants.EXT_PROPERTIES };
-
- private String _value;
-
- private IProject _project;
-
- /**
- * @param parent
- * @param project
- */
- public LoadbundleSelectionCellEditor(Composite parent, IProject project) {
- super(parent);
- _project = project;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(org.eclipse.swt.widgets.Control)
- */
- protected Object openDialogBox(Control cellEditorWindow) {
- ResourceOnClasspathDialog dialog = new ResourceOnClasspathDialog(
- cellEditorWindow.getShell(), DesignerPropertyTool
- .getJavaProject(_project));
- dialog.setTitle(ResourceBoundle.getString("FileCellEditor.Title")); //$NON-NLS-1$
- dialog.setSuffixs(PROPERTIES_FILES_SUFFIXS);
- dialog.open();
- if (dialog.getResult() != null) {
- _value = (String) dialog.getResult()[0];
- }
- return _value;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceBoundle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceBoundle.java
deleted file mode 100644
index b3eeac516..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceBoundle.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ResourceBoundle {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.properties.celleditors.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private ResourceBoundle() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the value for the key or !!key!!
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceDialogCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceDialogCellEditor.java
deleted file mode 100644
index 0eced33e6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/ResourceDialogCellEditor.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.CommonResourceDialog;
-import org.eclipse.jst.jsf.common.ui.internal.utils.PathUtil;
-import org.eclipse.jst.jsf.common.ui.internal.utils.WebrootUtil;
-import org.eclipse.jst.pagedesigner.utils.WebAppUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author mengbo
- */
-public class ResourceDialogCellEditor extends EditableDialogCellEditor {
- private IProject _project;
-
- private String[] _suffixs;
-
- private String _resourceDescription;
-
- private IFile _referredFile;
-
- private boolean _isWebPath = false;
-
- private boolean _needTransformJSPURL = true;
-
- private String _separator = ""; //$NON-NLS-1$
-
-
- /**
- * Constructor
- */
- public ResourceDialogCellEditor() {
- super();
- }
-
- /**
- * Constructor
- * @param parent
- */
- public ResourceDialogCellEditor(Composite parent) {
- super(parent);
- }
-
- /**
- * Constructor
- * @param parent
- * @param style
- */
- public ResourceDialogCellEditor(Composite parent, int style) {
- super(parent, style);
- }
-
- protected Object openDialogBox(Control cellEditorWindow) {
- Shell shell = cellEditorWindow.getShell();
- int style = "".equals(_separator) ? SWT.NONE : SWT.MULTI | SWT.H_SCROLL //$NON-NLS-1$
- | SWT.V_SCROLL;
- CommonResourceDialog dialog = new CommonResourceDialog(shell, _project,
- style);
- dialog.setTitle(ResourceBoundle.getString("FileCellEditor.Title")); //$NON-NLS-1$
- dialog.setSuffixs(_suffixs);
- dialog.setResourceDescription(_resourceDescription);
- if (dialog.open() == Window.OK) {
- Object[] result = dialog.getResult();
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < result.length; i++) {
- IPath path = ((IFile) result[i]).getLocation();
-
- IPath referredPath = null;
- if (_referredFile != null) {
- referredPath = _referredFile.getLocation();
- } else {
- referredPath = _project.getLocation();
- }
-
- String newValue = null;
- if (this._isWebPath) {
- IFile selectedFile = ((IFile) result[i]);
- newValue = WebrootUtil.getWebPath(selectedFile
- .getFullPath());
- } else {
- newValue = PathUtil.convertToRelativePath(path.toString(),
- referredPath.toString());
- }
- if (this._needTransformJSPURL) {
- newValue = WebAppUtil.transformJSPURL(newValue,
- this._referredFile);
- }
- buffer.append(newValue);
- buffer.append(_separator);
- }
- if (buffer.length() > 0) {
- return buffer.substring(0, buffer.length()
- - _separator.length());
- }
- }
- return null;
- }
-
- /**
- * @param project
- */
- public void setProject(IProject project) {
- this._project = project;
- }
-
- /**
- * @return Returns the project.
- */
- public IProject getProject() {
- return _project;
- }
-
- /**
- * @return Returns the referredFile.
- */
- public IFile getReferredFile() {
- return _referredFile;
- }
-
- /**
- * @param referredFile
- * The referredFile to set.
- */
- public void setReferredFile(IFile referredFile) {
- this._referredFile = referredFile;
- }
-
- /**
- * @return Returns the resourceDescription.
- */
- public String getResourceDescription() {
- if (_resourceDescription == null) {
- if ("".equalsIgnoreCase(getSeparator())) { //$NON-NLS-1$
- _resourceDescription = ResourceBoundle
- .getString("FileCellEditor.Msg"); //$NON-NLS-1$
- } else {
- _resourceDescription = ResourceBoundle
- .getString("FileCellEditor.Msg1"); //$NON-NLS-1$
- }
- }
- return _resourceDescription;
- }
-
- /**
- * @param resourceDescription
- * The resourceDescription to set.
- */
- public void setResourceDescription(String resourceDescription) {
- this._resourceDescription = resourceDescription;
- }
-
- /**
- * @return Returns the suffixes.
- */
- public String[] getSuffixs() {
- return _suffixs;
- }
-
- /**
- * @param suffixs
- * The suffixes to set.
- */
- public void setSuffixs(String[] suffixs) {
- this._suffixs = suffixs;
- }
-
- /**
- * set some special path to web path instead of relative path
- *
- * @param isWebPath
- */
- public void setWebPath(boolean isWebPath) {
- this._isWebPath = isWebPath;
- }
-
- /**
- * @param needTransform
- */
- public void setTransformJSPURL(boolean needTransform) {
- this._needTransformJSPURL = needTransform;
- }
-
- /**
- * @return separator to use for between values
- */
- public String getSeparator() {
- return _separator;
- }
-
- /**
- * @param separator to use for between values
- */
- public void setSeparator(String separator) {
- this._separator = separator;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/StyleComboCellEditor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/StyleComboCellEditor.java
deleted file mode 100644
index dba336dab..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/StyleComboCellEditor.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.ui.internal.utils.StyleCombo;
-import org.eclipse.swt.SWT;
-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.graphics.GC;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Combo cell editor
- *
- */
-public class StyleComboCellEditor extends CellEditor {
- /**
- * The list of items to present in the combo box.
- */
- private String[] items;
-
- /**
- * The zero-based index of the selected item.
- */
- int selection;
-
- /**
- * The custom combo box control.
- */
- StyleCombo comboBox;
-
- /**
- * Default ComboBoxCellEditor style
- */
- private static final int defaultStyle = SWT.NONE;
-
- /**
- * Default constructor
- */
- public StyleComboCellEditor() {
- setStyle(defaultStyle);
- }
-
- /**
- * @param parent
- * @param items
- */
- public StyleComboCellEditor(Composite parent, String[] items) {
- this(parent, items, defaultStyle);
- }
-
- /**
- * @param parent
- * @param items
- * @param style
- */
- public StyleComboCellEditor(Composite parent, String[] items, int style) {
- super(parent, style);
- setItems(items);
- }
-
- /**
- * Returns the list of choices for the combo box
- *
- * @return the list of choices for the combo box
- */
- public String[] getItems() {
- return this.items;
- }
-
- /**
- * Sets the list of choices for the combo box
- *
- * @param items
- * the list of choices for the combo box
- */
- public void setItems(String[] items) {
- Assert.isNotNull(items);
- this.items = items;
- populateComboBoxItems();
- }
-
- /*
- * (non-Javadoc) Method declared on CellEditor.
- */
- protected Control createControl(Composite parent) {
-
- comboBox = new StyleCombo(parent, getStyle());
- comboBox.setFont(parent.getFont());
-
- comboBox.addKeyListener(new KeyAdapter() {
- // hook key pressed - see PR 14201
- public void keyPressed(KeyEvent e) {
- keyReleaseOccured(e);
- }
- });
-
- comboBox.addSelectionListener(new SelectionAdapter() {
- public void widgetDefaultSelected(SelectionEvent event) {
- applyEditorValueAndDeactivate();
- }
-
- public void widgetSelected(SelectionEvent event) {
- selection = comboBox.getSelectionIndex();
- }
- });
-
- comboBox.addTraverseListener(new TraverseListener() {
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_ESCAPE
- || e.detail == SWT.TRAVERSE_RETURN) {
- e.doit = false;
- }
- }
- });
-
- comboBox.addFocusListener(new FocusAdapter() {
- public void focusLost(FocusEvent e) {
- StyleComboCellEditor.this.focusLost();
- }
- });
- return comboBox;
- }
-
- /**
- * The <code>ComboBoxCellEditor</code> implementation of this
- * <code>CellEditor</code> framework method returns the zero-based index
- * of the current selection.
- *
- * @return the zero-based index of the current selection wrapped as an
- * <code>Integer</code>
- */
- protected Object doGetValue() {
- return new Integer(selection);
- }
-
- /*
- * (non-Javadoc) Method declared on CellEditor.
- */
- protected void doSetFocus() {
- comboBox.setFocus();
- }
-
- /**
- * The <code>ComboBoxCellEditor</code> implementation of this
- * <code>CellEditor</code> framework method sets the minimum width of the
- * cell. The minimum width is 10 characters if <code>comboBox</code> is
- * not <code>null</code> or <code>disposed</code> eles it is 60 pixels
- * to make sure the arrow button and some text is visible. The list of
- * CCombo will be wide enough to show its longest item.
- */
- public LayoutData getLayoutData() {
- LayoutData layoutData = super.getLayoutData();
- if ((comboBox == null) || comboBox.isDisposed())
- layoutData.minimumWidth = 60;
- else {
- // make the comboBox 10 characters wide
- GC gc = new GC(comboBox);
- layoutData.minimumWidth = (gc.getFontMetrics()
- .getAverageCharWidth() * 10) + 10;
- gc.dispose();
- }
- return layoutData;
- }
-
- /**
- * The <code>ComboBoxCellEditor</code> implementation of this
- * <code>CellEditor</code> framework method accepts a zero-based index of
- * a selection.
- *
- * @param value
- * the zero-based index of the selection wrapped as an
- * <code>Integer</code>
- */
- protected void doSetValue(Object value) {
- Assert.isTrue(comboBox != null && (value instanceof Integer));
- selection = ((Integer) value).intValue();
- comboBox.select(selection);
- }
-
- /**
- * Updates the list of choices for the combo box for the current control.
- */
- private void populateComboBoxItems() {
- if (comboBox != null && items != null) {
- comboBox.removeAll();
- for (int i = 0; i < items.length; i++)
- comboBox.add(items[i], i);
-
- setValueValid(true);
- selection = 0;
- }
- }
-
- /**
- * Applies the currently selected value and deactiavates the cell editor
- */
- void applyEditorValueAndDeactivate() {
- // must set the selection before getting value
- selection = comboBox.getSelectionIndex();
- Object newValue = doGetValue();
- 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[] { items[selection] }));
- }
- fireApplyEditorValue();
- deactivate();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#focusLost()
- */
- protected void focusLost() {
- if (isActivated()) {
- applyEditorValueAndDeactivate();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.CellEditor#keyReleaseOccured(org.eclipse.swt.events.KeyEvent)
- */
- protected void keyReleaseOccured(KeyEvent keyEvent) {
- if (keyEvent.character == '\u001b') { // Escape character
- fireCancelEditor();
- } else if (keyEvent.character == '\t') { // tab key
- applyEditorValueAndDeactivate();
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/messages.properties
deleted file mode 100644
index aa55e43ca..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-FileCellEditor.Title=Select File
-FileCellEditor.Msg=Select a file
-FileCellEditor.Msg1=Select one or more files
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/dialogfields/MDEnabledComboDialogField.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/dialogfields/MDEnabledComboDialogField.java
deleted file mode 100644
index e63245f85..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/dialogfields/MDEnabledComboDialogField.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle - initial API and implementation
- *
- ********************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.dialogfields;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StyleComboDialogField;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.metadataprocessors.features.IDefaultValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValue;
-import org.eclipse.jst.jsf.metadataprocessors.features.IPossibleValues;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * This combo dialog field defers loading the combos until the element context has been set
- *
- */
-public class MDEnabledComboDialogField extends StyleComboDialogField implements IElementContextable {
-
- /**
- * Constructor
- * @param flags
- */
- public MDEnabledComboDialogField(int flags) {
- super(flags);
- }
-
- public void setElementContext(IDOMNode ancester, IDOMElement element) {
- IStructuredDocumentContext sdContext =IStructuredDocumentContextFactory.INSTANCE.getContext(element.getStructuredDocument(), element);
- IPropertyPageDescriptor ppd = (IPropertyPageDescriptor)getAttachedData("KEY_ATTR");//FIXME use constant //$NON-NLS-1$
- ppd.setStructuredDocumentContext(sdContext);
- IPossibleValues pvs = (IPossibleValues)ppd.getAdapter(IPossibleValues.class);
- IDefaultValue def = (IDefaultValue)ppd.getAdapter(IDefaultValue.class);
- if (def != null)
- setDefaultValue(def.getDefaultValue());
- if (pvs.getPossibleValues() != null)
- setEntryMap(getMapOfPossibleValues(pvs));
- }
-
- private Map getMapOfPossibleValues(IPossibleValues pvs) {
- Map map = new TreeMap<String, String>();
- for (Iterator<IPossibleValue> it=pvs.getPossibleValues().iterator();it.hasNext();){
- IPossibleValue pv = it.next();
- map.put(pv.getValue(), pv.getDisplayValue());
- }
- return map;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AllPropertySectionDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AllPropertySectionDescriptor.java
deleted file mode 100644
index 8c5de9b4f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AllPropertySectionDescriptor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.jst.pagedesigner.properties.AllPropertySection;
-import org.eclipse.ui.views.properties.tabbed.AbstractSectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-
-/**
- * SectionDescriptor for the WPE Attributes tab
- */
-public class AllPropertySectionDescriptor extends AbstractSectionDescriptor {
- /**
- * Id for the WPE AllPropertySectionDescriptor
- */
- public static final String ID = "AllPropertySectionDescriptor"; //$NON-NLS-1$
-
- private ISection section;
-
- public String getId() {
- return ID;
- }
-
- public ISection getSectionClass() {
- if (section == null){
- section = new AllPropertySection();
- }
- return section;
- }
-
- public String getTargetTab() {
- return AttributesTabDescriptor.TAB_ID;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java
deleted file mode 100644
index 585cd4efc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldChangeListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author mengbo
- * @version 1.5
- *
- * TODO: cleanup up constructors
- */
-public class AttributeGroup extends DialogFieldGroup {
- private static final Object KEY_ATTR = "KEY_ATTR"; //$NON-NLS-1$
-
-// private String _helpContextId;
-
- private List<DialogField> _dialogFields = null; //consider using Map
- private IDOMElement _ownerElement;
- private Entity _tagEntity;
- private List<String> _attrNames;
- private List<IPropertyPageDescriptor> _attrPDs;
- private IStructuredDocumentContext _sdContext;
-
- private String _uri;
- private String _tagName;
-
- /**
- * Constructor
- * @param tagEntity - may not be null
- * @param attrNames - may not be null. Attribute names must be valid for the tag, and have attribute-value-runtime-type trait info
- */
- public AttributeGroup(Entity tagEntity, List<String> attrNames) {
- _tagEntity = tagEntity;
- _attrNames = attrNames;
- }
-
- /**
- * Constructor where tagEntity is determined later or set later
- * @param uri - may be null
- * @param tagName - may be null
- * @param attributeNames - may not be null. Attribute names must be valid for the tag, and have attribute-value-runtime-type trait info
- */
- public AttributeGroup(String uri,
- String tagName, String[] attributeNames) {
- _uri = uri;
- _tagName = tagName;
- if (attributeNames != null)
- _attrNames = Arrays.asList(attributeNames);
- else
- _attrNames = new ArrayList();
- }
-
- private List<IPropertyPageDescriptor> prepareDescriptors(Entity tagEntity,
- List<String> names) {
-
- List pds = new ArrayList();
- for (String attrName : names) {
- IPropertyPageDescriptor pd = getPD(tagEntity, attrName);
- if (pd != null)
- pds.add(pd);
- }
- return pds;
- }
-
- private IPropertyPageDescriptor getPD(Entity tagEntity, String attrName) {
- IPropertyPageDescriptor pd = null;
- Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(tagEntity, attrName);
- if (attrEntity != null){
- List pds = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(
- IPropertyPageDescriptor.class, getStructuredDocumentContext(), attrEntity);
- if (pds != null && !pds.isEmpty())
- pd = (IPropertyPageDescriptor)pds.get(0);
- else
- pd = new DefaultPropertyPageDescriptor(tagEntity, attrEntity);
- }
- return pd;
- }
-
-
- private void resetStructuredDocumentContext() {
- _sdContext = null;
- getStructuredDocumentContext();
- }
-
- private IStructuredDocumentContext getStructuredDocumentContext() {
- if (_sdContext == null) {
- if (_ownerElement != null) {
- _sdContext = IStructuredDocumentContextFactory.INSTANCE.getContext(_ownerElement.getStructuredDocument(), _ownerElement);
-
- } else {
- IEditorPart edPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (edPart != null && edPart instanceof HTMLEditor) {//edPart will always be the WPE, but checking just to be safe
- _sdContext = IStructuredDocumentContextFactory.INSTANCE.getContext(((HTMLEditor)edPart).getDocument(), 0);
- }
- }
- }
- return _sdContext;
- }
-
- /**
- * @return tag entity for this attribute group
- */
- protected Entity getTagEntity() {
- if (_tagEntity == null) {
- if (_ownerElement != null){
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(_ownerElement.getStructuredDocument(), 0);
- if (context != null){
- String uri = _uri != null ? _uri : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getBaseURI();
- String tagName = _tagName != null ? _tagName : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getNodeName();
- if (uri != null){
- IProject project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getProject();
- _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri), tagName);
- }
- }
- }
- }
- return _tagEntity;
- }
- /**
- * @return tag name
- */
- public String getTagName() {
- if (getTagEntity() == null)
- return _tagName;
- return getTagEntity().getId();
- }
-
- /**
- * @return tag URI
- */
- public String getURI() {
- if (getTagEntity() == null)
- return _uri;
- return getTagEntity().getModel().getCurrentModelContext().getUri();
- }
-
-
- /**
- * Empty implementation. Subclasses should override to override default dialogField creation
- * @param ppd
- * @return DialogField
- */
- protected DialogField createDialogField(IPropertyPageDescriptor ppd) {
- return null;
- }
-
-// protected DialogField createDialogField(String uri, String tag,
-// String attr) {
-//
-// return null;
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup#initialize()
- */
- public void initialize() {
- if (_dialogFields == null) {
- _dialogFields = new ArrayList();
-
- for (IPropertyPageDescriptor pd : getAttributePDs()) {
- DialogField field;
- field = createDialogField(pd);
-
- if (field == null) {
- field = pd.getDialogFieldEditor();
- }
-
- field.putAttachedData(KEY_ATTR, pd);//descriptors[i]);
-
- IDialogFieldApplyListener applyListener = getDialogFieldApplyListener(pd);
-// getURI(), getTagName(), pd.getAttributeName());//descriptors[i]);
- if (applyListener == null) {
- applyListener = getDefaultApplyListener();
- }
- field.setDialogFieldApplyListener(applyListener);
-
- IDialogFieldChangeListener changeListener = getDialogFieldChangeListener(pd);
-// getURI(), getTagName(), pd.getAttributeName());//descriptors[i]);
- if (changeListener == null) {
- changeListener = getDefaultChangeListener();
- }
- field.setDialogFieldChangeListener(changeListener);
- _dialogFields.add(field);
- }
- }
- }
-
- private List<IPropertyPageDescriptor> getAttributePDs() {
- if (_attrPDs == null){
- _attrPDs = prepareDescriptors(getTagEntity(), _attrNames);
- }
- return _attrPDs;
- }
-
- /**
- * Child class can override the method to provide listener implementation
- *
- * @param ppd
- * @return IDialogFieldApplyListener
- */
- protected IDialogFieldApplyListener getDialogFieldApplyListener(IPropertyPageDescriptor ppd) {
- return null;
- }
-
- /**
- * Child class can override the method to provide listener implementation
- *
- * @param ppd
- * @return IDialogFieldChangeListener
- */
- protected IDialogFieldChangeListener getDialogFieldChangeListener(IPropertyPageDescriptor ppd){
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup#refreshData()
- */
- public void refreshData() {
- if (_ownerElement == null) {
- return;
- }
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
-
- ISupportTextValue textValue = (ISupportTextValue) field;
- IPropertyPageDescriptor attr = (IPropertyPageDescriptor) field
- .getAttachedData(KEY_ATTR);
- String attrName = attr.getAttributeName();
- String attrValue = _ownerElement.getAttribute(attrName);
- textValue.setTextWithoutUpdate(attrValue);
- }
- }
-
- /**
- * @return IDOMElement
- */
- public IDOMElement getElement() {
- return _ownerElement;
- }
-
- /**
- * Sets the context in each of the dialogFields in the Group
- * @param context
- * @param owner
- */
- public void setElementContext(IDOMNode context, IDOMElement owner) {
- this._ownerElement = owner;
- resetStructuredDocumentContext();
- initialize();
- if (context != null) {
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- if (field instanceof IElementContextable) {
- ((IElementContextable) field).setElementContext(context,
- owner);
- }
- }
- }
- refreshData();
- }
-
- public void layoutDialogFields(FormToolkit toolkit, Composite parent) {
- Composite top;
- if (toolkit == null) {//when being displayed by DialogFieldGroupPage (wizard)
- top = new Composite(parent, SWT.NONE);
- FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
- parent.setLayout(fillLayout);
- } else {
- top = toolkit.createComposite(parent, SWT.NONE);
- }
-// FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
-// parent.setLayout(fillLayout);
-
-// if (this._helpContextId != null && this._helpContextId.length() > 0) {
-// PlatformUI.getWorkbench().getHelpSystem().setHelp(top,
-// _helpContextId);
-// }
-
- GridLayout layout = new GridLayout();
- int numColumns = getNumColumns();
- layout.numColumns = numColumns;
- top.setLayout(layout);
-// top.setLayoutData(new RowData());
-
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- field.doFillIntoGrid(toolkit, top, numColumns);
- }
-
- DialogField maxColumnField = null;
- int maxColumn = 0;
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- int c = field.getNumberOfControls();
- if (c > maxColumn) {
- maxColumn = c;
- maxColumnField = field;
- }
- }
- if (maxColumnField != null) {
- maxColumnField.handleGrabHorizontal();
- }
- }
-
- /**
- * @return number of columns in for composite grid layout
- */
- public int getNumColumns() {
- int columns = 1;
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- columns = Math.max(columns, field.getNumberOfControls());
- }
- return columns;
- }
-
- @Override
- public IStatus[] validateDialogFields() {
- return null;
- }
-
- /**
- * @return DialogField[]
- */
- public DialogField[] getDialogFields() {
- initialize();
- DialogField[] ret = new DialogField[_dialogFields.size()];
- _dialogFields.toArray(ret);
- return ret;
- }
-
- /**
- * get the dialogfield for the corresponding attribute.
- *
- * @param attrName
- * case sensitive attribute name.
- * @return null if fail to find.
- */
- public DialogField getDialogField(String attrName) {
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- IPropertyPageDescriptor attr = this.getPropertyDescriptor(field);
- if (attr != null && attr.getAttributeName().equals(attrName)) {
- return field;
- }
- }
- return null;
- }
-
- /**
- * @param field
- * @return IPropertyPageDescriptor
- */
- public IPropertyPageDescriptor getPropertyDescriptor(DialogField field) {
- Object obj = field.getAttachedData(KEY_ATTR);
- if (obj instanceof IPropertyPageDescriptor) {
- return (IPropertyPageDescriptor) obj;
- }
- return null;
- }
-
- @Override
- public void reset(){
- if (_dialogFields != null){
- for (DialogField field : _dialogFields){
- field.setDialogFieldApplyListener(null);
- field.setDialogFieldChangeListener(null);
- }
- _dialogFields = null;
- }
- }
-
- /**
- * Set the tag entity
- * @param tagEntity
- */
- /*package*/ void setTagEntity(Entity tagEntity) {
- _tagEntity = tagEntity;
- }
-
- public String toString(){
- StringBuffer buf = new StringBuffer("AttributeGroup: uri="); //$NON-NLS-1$
- buf.append("\r\r").append(getURI()).append("\r\rtag=").append(getTagName()); //$NON-NLS-1$ //$NON-NLS-2$
- buf.append("\r\rAttrs: "); //$NON-NLS-1$
- for (int i=0;i<_attrNames.size();i++) {
- String attr = _attrNames.get(i);
- buf.append(attr);
- if (i<_attrNames.size())
- buf.append(", "); //$NON-NLS-1$
- }
- return buf.toString();
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroupSection.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroupSection.java
deleted file mode 100644
index 49a49e421..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroupSection.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeAttributeCommand;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.properties.BaseCustomSection;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.AttributeGroupMessages;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-
-/**
- * This is a section for a list of attribute dialog fields.
- *
- * @author mengbo
- * @version 1.5
- */
-public class AttributeGroupSection extends BaseCustomSection {
- private static final Object KEY_ATTR = "KEY_ATTR"; //$NON-NLS-1$
- private IDialogFieldApplyListener _fieldApplyListener = new IDialogFieldApplyListener() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener#dialogFieldApplied(org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField)
- */
- public void dialogFieldApplied(DialogField field) {
- Object attr = field.getAttachedData(KEY_ATTR);
- if (attr instanceof IPropertyPageDescriptor && _element != null) {
- ISupportTextValue textValue = (ISupportTextValue) field;
- ChangeAttributeCommand c = new ChangeAttributeCommand(
- AttributeGroupMessages
- .getString("AttributeGroupSection.changeAttribute"), _element, ((IPropertyPageDescriptor) attr).getAttributeName(), textValue.getText()); //$NON-NLS-1$
- c.execute();
- }
- }
- };
-
- private AttributeGroup _group;
-
- /**
- * Constructor. Create the section with a default AttributeGroup. In default
- * AttributeGroup, there is no relationship between fields.
- *
- * @param tagEntity
- * @param attrNames
- */
- public AttributeGroupSection(Entity tagEntity, List<String> attrNames) {
- this(new AttributeGroup(tagEntity, attrNames));
- }
-
- /**
- * Constructor. In case the group is not a default group (e.g. you may add some
- * customized relationship between the fields).
- *
- * @param group
- */
- public AttributeGroupSection(AttributeGroup group) {
- _group = group;
- _group.setDefaultApplyListener(_fieldApplyListener);
-// _group.initialize();
- }
-
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- _group.setElementContext(_element, _element);
- }
-
- public void createControls(Composite parent,
- TabbedPropertySheetPage aTabbedPropertySheetPage) {
- super.createControls(parent, aTabbedPropertySheetPage);
- TabbedPropertySheetWidgetFactory factory = aTabbedPropertySheetPage
- .getWidgetFactory();
- _group.layoutDialogFields(factory, parent);
- }
-
- protected void notifyChanged(INodeNotifier notifier, int eventType,
- Object changedFeature, Object oldValue, Object newValue, int pos) {
- if (_group != null) {
- _group.refreshData();
- }
- }
-
- @Override
- public void dispose() {
- super.dispose();
- _group.reset();
- }
-
- /**
- * NOT API - for JUnit testing only
- * @return @link{AttributeGroup}
- */
- public AttributeGroup getAttributeGroup() {
- return _group;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributesTabDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributesTabDescriptor.java
deleted file mode 100644
index 4c0044011..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributesTabDescriptor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.ui.views.properties.tabbed.AbstractTabDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-
-/**
- * Attributes tab descriptor
- *
- */
-public class AttributesTabDescriptor extends AbstractTabDescriptor {
-
- /**
- * Attributes tab id
- */
- public static final String TAB_ID = "jst.pagedesigner.tabbed.properties.attributes"; //$NON-NLS-1$
-
- private Vector<ISectionDescriptor> descriptors;
-
- /**
- * Constructor
- */
- public AttributesTabDescriptor(){
- super();
- descriptors = new Vector<ISectionDescriptor>(1);
- descriptors.add(new AllPropertySectionDescriptor());
- }
-
- @Override
- public List getSectionDescriptors() {
- return descriptors;
- }
-
- public String getCategory() {
- return "attributes"; //$NON-NLS-1$
- }
-
- public String getId() {
- return TAB_ID;
- }
-
- public String getLabel() {
- return Messages.AttributesTabDescriptor_label;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/DefaultPropertyPageDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/DefaultPropertyPageDescriptor.java
deleted file mode 100644
index e32213cf4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/DefaultPropertyPageDescriptor.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataContext;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.meta.EditorCreator;
-import org.eclipse.jst.pagedesigner.meta.IAttributeRuntimeValueType;
-import org.eclipse.jst.pagedesigner.meta.internal.CellEditorFactoryRegistry;
-import org.eclipse.jst.pagedesigner.properties.ITabbedPropertiesConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.w3c.dom.Element;
-
-/**
- * Property descriptor implementation for when meta data is available, but the
- * meta data type is not adaptable to a {@link IPropertyPageDescriptor}.
- *
- * It is assumed that the value type is
- * {@link org.eclipse.jst.jsf.taglibprocessing.attributevalues.StringType}.
- */
-public class DefaultPropertyPageDescriptor implements IPropertyPageDescriptor
-{
- private Entity _tagEntity;
- private Entity _attrEntity;
-
- private IStructuredDocumentContext _sdContext;
- private MetaDataContext _mdContext;
-
- /**
- * Constructor
- *
- * @param tagEntity
- * @param attrEntity
- */
- public DefaultPropertyPageDescriptor(Entity tagEntity, Entity attrEntity)
- {
- _tagEntity = tagEntity;
- _attrEntity = attrEntity;
- }
-
- public String getAttributeName()
- {
- return _attrEntity.getId();
- }
-
- public String getCategory()
- {
- return ITabbedPropertiesConstants.OTHER_CATEGORY;
- }
-
- public CellEditor getCellEditor(Composite parent)
- {
- Element element = (Element) IStructuredDocumentContextResolverFactory.INSTANCE
- .getDOMContextResolver(getStructuredDocumentContext())
- .getNode();
- return CellEditorFactoryRegistry.getInstance().createCellEditor(parent,
- this, element);
- }
-
- public String getDescription()
- {
- return null;
- }
-
- public DialogField getDialogFieldEditor()
- {
- EditorCreator creator = EditorCreator.getInstance();
- return creator.createDialogFieldWithWrapper(getUri(), getTagName(),
- this, null);
- }
-
- public String getLabel()
- {
- return getAttributeName() + ":"; //$NON-NLS-1$
- }
-
- public String getTagName()
- {
- return _tagEntity.getId();
- }
-
- public String getUri()
- {
- return _tagEntity.getModel().getCurrentModelContext().getUri();
- }
-
- public String getValueType()
- {
- return IAttributeRuntimeValueType.STRING;
- }
-
- public boolean isRequired()
- {
- return false;
- }
-
- public MetaDataContext getMetaDataContext()
- {
- return _mdContext;
- }
-
- public IStructuredDocumentContext getStructuredDocumentContext()
- {
- return _sdContext;
- }
-
- public void setMetaDataContext(MetaDataContext context)
- {
- _mdContext = context;
- }
-
- public void setStructuredDocumentContext(IStructuredDocumentContext context)
- {
- _sdContext = context;
- }
-
- public Object getAdapter(Class adapter)
- {
- return null;
- }
-
- public String toString()
- {
- return getUri()
- + "/" + getTagName() + "/" + getAttributeName() + " (Default Descriptor)"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/MDQuickEditTabSectionDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/MDQuickEditTabSectionDescriptor.java
deleted file mode 100644
index e1628d438..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/MDQuickEditTabSectionDescriptor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.AbstractSectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-
-/**
- * Quick Edit section descriptor that uses the quickEditSection trait meta data for the tag entity of the selection
- * to determine the sections to display
- *
- */
-public class MDQuickEditTabSectionDescriptor extends AbstractSectionDescriptor {
-
- /**
- * Default constructor
- */
- public MDQuickEditTabSectionDescriptor() {
- super();
- }
-
- @Override
- public boolean appliesTo(IWorkbenchPart part, ISelection selection) {
- return true;// we will always display tab, but will show text that no quick edit properties are available when they aren't
- }
-
- public ISection getSectionClass() {
- return new QuickEditTabSection();
- }
-
- public String getTargetTab() {
- return QuickEditTabDescriptor.TAB_ID;
- }
-
- public String getId() {
- return "mdQuickEditTabSections"; //$NON-NLS-1$
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/Messages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/Messages.java
deleted file mode 100644
index 275a500b8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings
- *
- */
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.properties.internal.messages"; //$NON-NLS-1$
- /**
- *
- */
- public static String AttributesTabDescriptor_label;
- /**
- *
- */
- public static String QuickEditTabDescriptor_label;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- //
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabGroupDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabGroupDescriptor.java
deleted file mode 100644
index 893b6ab42..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabGroupDescriptor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ui.views.properties.tabbed.ISection;
-
-/**
- * QuickEdit Tab section when quick edit section info is not available.
- *
- * Ideally we should not be displaying the tab in the absence of MD, but due to current
- * issues with the tabbed-properties framework, it is easier to simply display a "null"
- * section.
- *
- */
-public class NullQuickEditTabGroupDescriptor extends
- QuickEditTabSectionsDescriptor {
-
- private List<ISection> nullQuickEditSection;
-
- /**
- * Constructor
- */
- public NullQuickEditTabGroupDescriptor() {
- super();
- }
-
- @Override
- public List<ISection> getSections() {
- return nullQuickEditSection;
- }
-
- @Override
- public void calculateSections() {
- nullQuickEditSection = new ArrayList<ISection>(1);
- nullQuickEditSection.add(new NullQuickEditTabSection());
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabSection.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabSection.java
deleted file mode 100644
index 11712bf68..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/NullQuickEditTabSection.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
-
-/**
- * Section that displays text that no quick edit properties are available for the input
- */
-public class NullQuickEditTabSection extends AbstractPropertySection {
-
- @Override
- public void createControls(Composite parent,
- TabbedPropertySheetPage tabbedPropertySheetPage) {
- super.createControls(parent, tabbedPropertySheetPage);
- TabbedPropertySheetWidgetFactory factory = tabbedPropertySheetPage.getWidgetFactory();
-
- Composite cont = factory.createComposite(parent, SWT.NO_FOCUS);
- GridLayout layout = new GridLayout(1, false);
- cont.setLayout(layout);
-
- CLabel lbl =
- factory.createCLabel(cont, PDPlugin.getResourceString("QuickEditTab.no_quick_edit_md"));//$NON-NLS-1$
- lbl.setLayoutData(new GridData());
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabDescriptor.java
deleted file mode 100644
index 591706507..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabDescriptor.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.ui.views.properties.tabbed.AbstractTabDescriptor;
-
-/**
- * Quick Edit Tab Descriptor
- */
-public class QuickEditTabDescriptor extends AbstractTabDescriptor {
-
- /**
- * Quick Edit tab id
- */
- public static final String TAB_ID = "jst.pagedesigner.tabbed.properties.quickedit"; //$NON-NLS-1$
-
- /**
- * Constructor
- */
- public QuickEditTabDescriptor(){
- super();
- getSectionDescriptors().add(new MDQuickEditTabSectionDescriptor());
- }
-
- public String getCategory() {
- return "quickedit"; //$NON-NLS-1$
- }
-
- public String getId() {
- return TAB_ID;
- }
-
- public String getLabel() {
- return Messages.QuickEditTabDescriptor_label;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java
deleted file mode 100644
index 55de9cb3a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.ITaglibContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections;
-import org.eclipse.jst.pagedesigner.properties.DesignerPropertyTool;
-import org.eclipse.jst.pagedesigner.properties.WPETabbedPropertySheetPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.part.FileEditorInput;
-import org.w3c.dom.Element;
-
-/**
- * One-to-one with {@link WPETabbedPropertySheetPage} that manages the current sections for the current selection.
- * <p>
- * The QuickEditTabManager has a shared instance of a {@link QuickEditTabSectionsManager} for the project.
- * <p>
- * When a WPETabbedPropertySheetPage is created, it must acquire a QuickEditTabManager using the static acquireInstance method,
- * and then release the instance when it is disposed. This ensures that the QuickEditTabSectionsManager shared instance (per project) is released appropriately.
- * <p>
- * selectionChanged method must be called prior to calling createControls on the sections for this tab group call.
- */
-public class QuickEditTabManager {
- private QuickEditTabSectionsManager _groupsManager;
- private QuickEditTabSections _quickEditTabSections;
- private Entity _tagEntity;
- private QName _lastTagID;
- private QuickEditTabSectionsDescriptor _lastQuickEditTabGroup;
- private QuickEditTabSectionsDescriptor _nullQuickEditTabGroup;
- private Element _lastElement;
-
- private QuickEditTabSectionsManager getRegistry() {
- return _groupsManager;
- }
-
- /**
- * Must only be called once per tabbed property sheet as ref count is kept.
- * Callers must call releaseInstance when the page is disposed
- * @param page
- * @return instance for this property sheet
- */
- public static synchronized QuickEditTabManager acquireInstance(WPETabbedPropertySheetPage page) {
- IProject project = getProject(page);
- QuickEditTabManager instance = new QuickEditTabManager();
- instance._groupsManager = QuickEditTabSectionsManager.acquireInstance(project);
- return instance;
- }
-
- /**
- * Releases this instance, but does not dispose. Ensures that the {@link QuickEditTabSectionsManager} is released.
- */
- public synchronized void releaseInstance() {
- this._groupsManager.releaseInstance();
- }
-
- /**
- * Private constructor
- */
- private QuickEditTabManager(){
- //
- }
-
- private static IProject getProject(WPETabbedPropertySheetPage page) {
- IProject proj = null;
- IDocument doc = ((HTMLEditor)page.getEditor()).getDocument();
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(doc, 0);
- if (context != null){
- proj = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getProject();
- }
- return proj;
-
- }
- /**
- * Must be called so that the sections for the input can be calculated.
- *
- * @param part
- * @param selection
- * @return true if current selection is different than during the last call
- */
- public boolean selectionChanged(IWorkbenchPart part, ISelection selection) {
- boolean hasChanged = false;
- QuickEditTabSections qets = getQuickTabSectionsMetaData(part, selection);
- if (qets == null) {//use null quick edit tab
- hasChanged = (_quickEditTabSections != null);
- _quickEditTabSections = qets;
- _lastQuickEditTabGroup = getNullQuickEditTab();
- _lastTagID = null;
- }
- else {
- QName tagId = getTagId();
- if (_lastTagID == null || !_lastTagID.equals(tagId)){
- _quickEditTabSections = qets;
- QuickEditTabSectionsDescriptor group = getRegistry().getQuickEditTabSectionsFor(tagId);
- if (group == null){
- group = createQuickEditTabGroup(tagId, _quickEditTabSections);
- if (group != null){
- group.calculateSections();
- getRegistry().addQuickEditTabGroupDescriptor(group);
- }
- }
- _lastQuickEditTabGroup = group;
- _lastTagID = tagId;
- }
- }
-
- return hasChanged;
- }
-
- /**
- * @return current QuickEditTabSectionsDescriptor
- */
- public QuickEditTabSectionsDescriptor getCurrentTabGroupDescriptor() {
- return _lastQuickEditTabGroup;
- }
-
- private QuickEditTabSections getQuickTabSectionsMetaData(IWorkbenchPart part,
- ISelection selection) {
-
- Element node = DesignerPropertyTool.getElement(part, selection);
- if (node == null) {
- return null;
- }
- if (_lastElement != node){
- _lastElement = node;
- _quickEditTabSections = null;
- _tagEntity = getTagEntity(part, selection, node);
- if (_tagEntity != null) {
- Trait pds = TaglibDomainMetaDataQueryHelper.getTrait(_tagEntity, QuickEditTabSections.TRAIT_ID);
- if (pds != null){
- _quickEditTabSections = (QuickEditTabSections)pds.getValue();
- }
- }
- }
- return _quickEditTabSections;
- }
-
- private QuickEditTabSectionsDescriptor createQuickEditTabGroup(QName tagId,
- QuickEditTabSections tabSections) {
- return new QuickEditTabSectionsDescriptor(_tagEntity, tagId, tabSections);
- }
-
- private QName getTagId() {
- return TaglibDomainMetaDataQueryHelper.getQNameForTagEntity(_tagEntity);
- }
-
- /**
- * Dispose
- */
- public void dispose() {
- _lastQuickEditTabGroup= null;
- _lastElement = null;
- _lastTagID = null;
- _nullQuickEditTabGroup = null;
- _quickEditTabSections = null;
- _groupsManager = null;
- }
-
- private Entity getTagEntity(IWorkbenchPart part, ISelection selection, Element node){
- HTMLEditor ed = null;
- if (part instanceof HTMLEditor)
- ed = (HTMLEditor)part;
- if (ed == null)
- return null;
-
- if (ed.getEditorInput() instanceof FileEditorInput) {
- FileEditorInput input = (FileEditorInput)ed.getEditorInput();
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(ed.getDocument(), node);
- if (context != null){
- ITaglibContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context);
- if (resolver != null){
- ITaglibDomainMetaDataModelContext mdContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(input.getFile().getProject(),resolver.getTagURIForNodeName(node));
- return TaglibDomainMetaDataQueryHelper.getEntity(mdContext, node.getLocalName());
- }
- }
- }
- return null;
- }
-
- private QuickEditTabSectionsDescriptor getNullQuickEditTab() {
- if (_nullQuickEditTabGroup == null) {
- _nullQuickEditTabGroup = new NullQuickEditTabGroupDescriptor();
- _nullQuickEditTabGroup.calculateSections();
- }
- return _nullQuickEditTabGroup;
- }
-
- /**
- * NOT API - for JUnit testing only
- * @return {@link QuickEditTabSectionsManager}
- */
- public QuickEditTabSectionsManager getQuickEditTabSectionsManager() {
- return _groupsManager;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSection.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSection.java
deleted file mode 100644
index 172626c30..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSection.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.pagedesigner.properties.WPETabbedPropertySheetPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-
-/**
- * Using the tag entity's QuickEditTabSections meta-data, this section reacts to changes in selection,
- * and will dynamically create a QuickEditTabGroup. The QuickEditTabGroup is cached and reused.
- * <br><br>
- * This section delegates construction to the sections discovered thru meta data.
- * Because this section is not disposed of until the tab is disposed, this section will enforce the expected section lifecycle
- * on the sections loaded from meta data. This occurs during setInput. But will pass on all section lifecycle events as
- * this section receives them.
- * <br><br>
- * The lifecycle that this section enforces on it's child sections in the setInput call on this section are (in order):
- * <li>createControls
- * <li>setInput
- * <li>aboutToBeShown
- * <li>refresh
- *
- * When tab section lifecycle events occur to this section, they are passed on to all child sections also.
- *
- */
-public class QuickEditTabSection extends AbstractPropertySection {
-
- private QuickEditTabManager manager;
- private Composite _composite;
- private Composite _qeGroupComposite;
- private WPETabbedPropertySheetPage _tabbedPropertySheetPage;
-
- private QuickEditTabManager getTabManager() {
- if (manager == null) {
- manager = _tabbedPropertySheetPage.getTabManager();
- }
- return manager;
- }
-
- @Override
- public void createControls(Composite parent,
- TabbedPropertySheetPage tabbedPropertySheetPage) {
- super.createControls(parent, tabbedPropertySheetPage);
- _composite = parent;
- _tabbedPropertySheetPage = (WPETabbedPropertySheetPage)tabbedPropertySheetPage;
- }
-
- @Override
- public void setInput(IWorkbenchPart part, ISelection selection) {
- super.setInput(part, selection);
- if (getTabManager() != null){
- aboutToBeHidden();
- createOrResetQuickEditGroupComposite();//disposes of old and recreates new topComp
- getTabManager().selectionChanged(part, selection);
- for (ISection section : getSections()){
- section.createControls(_qeGroupComposite, _tabbedPropertySheetPage);
- section.setInput(part, selection);
- }
- _composite.getParent().layout(true, true);
-
- aboutToBeShown();
- refresh();
- }
- }
-
- @Override
- public void aboutToBeHidden() {
- super.aboutToBeHidden();
- for (ISection section : getSections()){
- section.aboutToBeHidden();
- }
- }
-
- @Override
- public void aboutToBeShown() {
- super.aboutToBeShown();
- for (ISection section : getSections()){
- section.aboutToBeShown();
- }
- }
-
- @Override
- public void refresh() {
- super.refresh();
- for (ISection section : getSections()){
- section.refresh();
- }
- }
-
- private void createOrResetQuickEditGroupComposite() {
- if (_qeGroupComposite != null && !_qeGroupComposite.isDisposed()){
- //dispose of current sections
- disposeCurrentQuickEditTabSections();
- _qeGroupComposite.dispose();
- }
-
- _qeGroupComposite = _tabbedPropertySheetPage.getWidgetFactory().createComposite(_composite, SWT.NO_FOCUS);
- QuickEditTabLayout layout = new QuickEditTabLayout();
- _qeGroupComposite.setLayout(layout);
-
- }
-
- private void disposeCurrentQuickEditTabSections() {
- for (ISection section : getSections()){
- section.dispose();
- }
- }
-
- private List<ISection> getSections(){
- if (getTabManager().getCurrentTabGroupDescriptor() != null)
- return getTabManager().getCurrentTabGroupDescriptor().getSections();
-
- return Collections.EMPTY_LIST;
- }
-
- public void dispose() {
- super.dispose();
- disposeCurrentQuickEditTabSections();
- manager.dispose();
- manager = null;
- _composite = null;
- _qeGroupComposite = null;
- _tabbedPropertySheetPage = null;
- }
-
- public boolean shouldUseExtraSpace() {
- return false;
- }
-
- private class QuickEditTabLayout extends Layout {
-
- // allow for adjustments
- private static final int MARGIN = 0;
- private static final int SPACING = 0;
-
- // cache
- Point[] sizes;
- int maxWidth, totalHeight;
-
- protected Point computeSize(Composite composite, int wHint, int hHint,
- boolean flushCache) {
-
- Control children[] = composite.getChildren();
- if (flushCache || sizes == null || sizes.length != children.length) {
- initialize(children);
- }
-
- int width = wHint, height = hHint;
- if (wHint == SWT.DEFAULT)
- width = maxWidth;
-
- if (hHint == SWT.DEFAULT)
- height = totalHeight;
-
- return new Point(width + 2 * MARGIN, height + 2 * MARGIN);
- }
-
- protected void layout(Composite composite, boolean flushCache) {
- Control children[] = composite.getChildren();
- if (flushCache || sizes == null || sizes.length != children.length) {
- initialize(children);
- }
- Rectangle rect = composite.getClientArea();
- int x = MARGIN, y = MARGIN;
- int width = Math.max(rect.width - 2 * MARGIN, maxWidth);
-// System.out.println("--- Comp id: "+composite.toString()+ "[#Children: "+ composite.getChildren().length +"] -------");
- for (int i = 0; i < children.length; i++) {
- int height = sizes[i].y;
- children[i].setBounds(x, y, width, height);
- y += height + SPACING;
-// System.out.println("h="+height+", y="+y);
- }
- composite.setRedraw(true);
- }
-
- void initialize(Control children[]) {
- maxWidth = 0;
- totalHeight = 0;
- sizes = new Point[children.length];
- for (int i = 0; i < children.length; i++) {
- sizes[i] = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
- maxWidth = Math.max(maxWidth, sizes[i].x);
- totalHeight += sizes[i].y;
- }
- totalHeight += (children.length - 1) * SPACING;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionDescriptor.java
deleted file mode 100644
index 18fddd4ce..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionDescriptor.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.properties.DesignerPropertyTool;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.internal.views.properties.tabbed.view.SectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-import org.eclipse.ui.views.properties.tabbed.ITypeMapper;
-import org.w3c.dom.Element;
-
-/**
- * A SectionDescriptor from org.eclipse.ui.views.properties.tabbed.propertySections extension-point
- * for use by the QuickEdit tab in the Web Page Editor.
- */
-public class QuickEditTabSectionDescriptor extends SectionDescriptor {
-
- private static final String ATT_CLASS = "class"; //$NON-NLS-1$
- private IConfigurationElement _configurationElement;
- private Entity _tagEntity;
-
- /**
- * Constructor for the section descriptor.
- *
- * @param configurationElement
- * the configuration element for the section descriptor.
- * @param typeMapper
- */
- public QuickEditTabSectionDescriptor(IConfigurationElement configurationElement, ITypeMapper typeMapper) {
- super(configurationElement, typeMapper);
- _configurationElement = configurationElement;
- }
-
- @Override
- public boolean appliesTo(IWorkbenchPart part, ISelection selection) {
- Element node = DesignerPropertyTool.getElement(part, selection);
- if (node == null) {
- return false;
- }
- return true;
- }
-
- @Override
- public ISection getSectionClass() {
- ISection section = null;
- try {
- Object secOrGroup = _configurationElement
- .createExecutableExtension(ATT_CLASS);
- if (secOrGroup instanceof ISection) {
- section = (ISection) secOrGroup;
- } else if (secOrGroup instanceof AttributeGroup) {
- ((AttributeGroup) secOrGroup).setTagEntity(_tagEntity);
- section = new AttributeGroupSection((AttributeGroup) secOrGroup);
- }
- } catch (CoreException exception) {
- handleSectionError(exception);
- }
- return section;
- }
-
- /**
- * Handle the section error when an issue is found loading from the
- * configuration element.
- *
- * @param _configurationElement
- * the configuration element
- * @param exception
- * an optional CoreException
- */
- private void handleSectionError(CoreException exception) {
- PDPlugin.getLogger(QuickEditTabSectionDescriptor.class).error("error", //$NON-NLS-1$
- exception);
- exception.printStackTrace();
- }
-
- /**
- * @param tagEntity
- * @return ISection for the tagEntity
- */
- /*package*/ ISection getSectionClass(Entity tagEntity) {
- _tagEntity = tagEntity;
- return getSectionClass();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsDescriptor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsDescriptor.java
deleted file mode 100644
index afba39238..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsDescriptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSections;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SECTION_TYPE;
-import org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.SectionInfo;
-import org.eclipse.ui.views.properties.tabbed.ISection;
-
-/**
- * Represents all of the section classes that make up the Quick Edit tab for a given tag input.
- * Uses QuickEditTabSections meta data from tag entity
- */
-public class QuickEditTabSectionsDescriptor {
-
- private QuickEditTabSections _sections;
- private QName _tagId;
- private List<ISection> _sectionClasses;
- private Entity _tagEntity;
- private WPETabPropertySectionDescriptorProvider sectionProvider;
-
- /**
- * Constructor
- * @param tagEntity
- * @param tagId
- * @param sections
- */
- public QuickEditTabSectionsDescriptor (Entity tagEntity, QName tagId, QuickEditTabSections sections) {
- _tagEntity = tagEntity;
- _tagId = tagId;
- _sections = sections;
- }
-
- /*package*/ QuickEditTabSectionsDescriptor () {
- _tagEntity = null;
- _tagId = null;
- _sections = null;
- }
-
- /**
- * Determines section classes for the group from the available meta data
- */
- public void calculateSections() {
- if (_sectionClasses == null || _sectionClasses.isEmpty()) {
- _sectionClasses = new ArrayList();
- List<String> attrIds = new ArrayList();
- for (SectionInfo secInfo : _sections.getSections()) {
- if (secInfo.getType() == SECTION_TYPE.ATTRIBUTE){
- //collect attrSecs and process as a group so that layout will be best
- if (secInfo.getId() != null)
- attrIds.add(secInfo.getId());
- }
- else if (secInfo.getType() == SECTION_TYPE.SECTION) {
- //if there are any attribute sections not processed, do that now
- if (attrIds.size() > 0){
- createAttributeGroup(attrIds);
- attrIds = new ArrayList();
- }
- createSectionGroup(secInfo);
- }
- }
- if (attrIds.size() > 0){
- createAttributeGroup(attrIds);
- }
- }
- }
-
- private void createSectionGroup(SectionInfo secInfo) {
- QuickEditTabSectionDescriptor sd = getSectionProvider().getNamedSectionDescriptor(secInfo.getId());
- if (sd != null) {
- ISection section = sd.getSectionClass(_tagEntity);
- if (section != null){
- _sectionClasses.add(section);
- }
- }
-
- }
-
- private void createAttributeGroup(List<String> attrNames) {
- ISection section = new AttributeGroupSection(_tagEntity, attrNames);
- if (section != null){
- _sectionClasses.add(section);
- }
- }
-
- /**
- * @return QName of tag that this tab descriptor is for
- */
- public QName getTagId() {
- return _tagId;
- }
-
- /**
- * @return List of current ISection classes set after calculateSections() has been called
- */
- public List<ISection> getSections() {
- return _sectionClasses;
- }
-
- private WPETabPropertySectionDescriptorProvider getSectionProvider() {
- if (sectionProvider == null){
- sectionProvider = new WPETabPropertySectionDescriptorProvider();
- }
- return sectionProvider;
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsManager.java
deleted file mode 100644
index 17bbc4516..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabSectionsManager.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * Cache of quickEditTabGroupDescriptors keyed by tagID as QName.
- */
-public class QuickEditTabSectionsManager {
-
- private static QuickEditTabSectionsManagerMgr _mgrInstance = new QuickEditTabSectionsManagerMgr();
- private Map<QName, QuickEditTabSectionsDescriptor> map = new HashMap<QName, QuickEditTabSectionsDescriptor>(5);
- private IProject _project;
- private int clientCount = 0;
-
- /**
- * Returns instance of QuickEditTabSectionsManager for the given project. Caller must release the instance when caller is being disposed.
- * @param project
- * @return instance of QuickEditTabSectionsManager
- */
- public static synchronized QuickEditTabSectionsManager acquireInstance(IProject project){
- QuickEditTabSectionsManager instance = _mgrInstance.getSectionsManager(project);
- instance.clientCount++;
- return instance;
- }
-
- /**
- * Releases instance of QuickEditTabSectionsManager and removes from the QuickEditSectionGroupsManagerMgr if it is the last reference
- */
- public synchronized void releaseInstance(){
- int refCount = --clientCount;
- if (refCount == 0){
- _mgrInstance.removeSectionsManager(_project);
- }
- }
-
- /**
- * private constructor
- */
- private QuickEditTabSectionsManager(){
- //
- }
-
- /**
- * @return IProject that this section manager applies to
- */
- public IProject getProject(){
- return _project;
- }
-
- /**
- * Get QuickEditTabSectionsDescriptor for passed tag
- *
- * @param tagId
- * @return QuickEditTabSectionsDescriptor
- */
- public QuickEditTabSectionsDescriptor getQuickEditTabSectionsFor(QName tagId) {
- return map.get(tagId);
- }
-
- /**
- * Adds QuickEditTabSectionsDescriptor to managed registry keyed by the tagId
- * QName
- *
- * @param group
- */
- public void addQuickEditTabGroupDescriptor(QuickEditTabSectionsDescriptor group) {
- map.put(group.getTagId(), group);
- }
-
- /**
- * Removes and disposes a cached {@link QuickEditTabSectionsDescriptor}
- *
- * @param tagId
- */
- public void removeQuickEditTabGroup(QName tagId) {
- QuickEditTabSectionsDescriptor grp = map.get(tagId);
- if (grp != null) {
- map.remove(tagId);
- }
- }
-
- /**
- * Manages the QuickEditTabSectionsManager instances. Ensures one per project.
- */
- private static class QuickEditTabSectionsManagerMgr {
- private Map <IProject,QuickEditTabSectionsManager>_map = new HashMap<IProject,QuickEditTabSectionsManager>();
- /**
- * @param project - may be null
- * @return QuickEditTabManager for project
- */
- public QuickEditTabSectionsManager getSectionsManager(IProject project){
- if (_map.containsKey(project))
- return _map.get(project);
-
- QuickEditTabSectionsManager instance = new QuickEditTabSectionsManager();
- instance._project = project;
- _map.put(project, instance);
- return instance;
- }
-
- /**
- * Removes QuickEditTabManager from mgr for given project
- * @param project
- */
- public void removeSectionsManager(IProject project){
- if (_map.containsKey(project))
- _map.remove(project);
- }
-
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabDescriptorProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabDescriptorProvider.java
deleted file mode 100644
index 5003d40d6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabDescriptorProvider.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.views.properties.tabbed.ITabDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ITabDescriptorProvider;
-
-/**
- * Class that provides the default tabs for the Web Page Editor
- */
-public class WPETabDescriptorProvider implements ITabDescriptorProvider {
-
- private AttributesTabDescriptor _attributesTabDescriptor;
- private QuickEditTabDescriptor _quickTabDescriptor;
-
- /**
- * Constructor
- */
- public WPETabDescriptorProvider() {
- _quickTabDescriptor = new QuickEditTabDescriptor();
- _attributesTabDescriptor = new AttributesTabDescriptor();
- }
-
- /**
- * Provides a QuickTabDescriptor and the AttributesTabDescriptor
- */
- public ITabDescriptor[] getTabDescriptors(IWorkbenchPart part,
- ISelection selection) {
-
- return new ITabDescriptor[]{_quickTabDescriptor,
- _attributesTabDescriptor};
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabPropertySectionDescriptorProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabPropertySectionDescriptorProvider.java
deleted file mode 100644
index 4e2530dcb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/WPETabPropertySectionDescriptorProvider.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptor;
-import org.eclipse.ui.views.properties.tabbed.ISectionDescriptorProvider;
-
-/**
- * Provides sections registered for the Web Page Editor whose contributor ID is,
- * "org.eclipse.jst.pagedesigner.tabPropertyContributor" using the
- * org.eclipse.ui.views.properties.tabbed.propertyTabs extension-points.
- *
- * The sections declared using the org.eclipse.ui.views.properties.tabbed.propertySections extension-point
- * for the WPE will only be displayed by the Quick Edit tab is the selected tag has metadata to choose
- * the section. TypeMappers/filters, etc. are ignored by this sectionDescriptorProvider.
- *
- * See jsf_html.xml in the org.eclipse.jst.jsf.standard.tagsupport plugin for examples on how to use.
- */
-public class WPETabPropertySectionDescriptorProvider implements
- ISectionDescriptorProvider {
-
- private static final String EXTPT_SECTIONS = "propertySections"; //$NON-NLS-1$
- private static final String ELEMENT_SECTION = "propertySection"; //$NON-NLS-1$
- private ISectionDescriptor[] _descriptors = null;
-
- /**
- * Constructor
- */
- public WPETabPropertySectionDescriptorProvider() {
- super();
- }
-
- public ISectionDescriptor[] getSectionDescriptors() {
- if (_descriptors == null) {
- List result = new ArrayList();
- List contributedSections = readSectionDescriptors();
- result.addAll(contributedSections);
-
-// if (1 == 0){ //disabled for now... do we want to allow other mechanisms to add sections?
-// List providers = readAdditionalSectionDescriptorProviders();
-// for (int i = 0, size = providers.size(); i < size; i++) {
-// try {
-// ISectionDescriptorProvider provider = (ISectionDescriptorProvider) providers
-// .get(i);
-// ISectionDescriptor[] sections = provider
-// .getSectionDescriptors();
-// if (sections != null) {
-// result.addAll(Arrays.asList(sections));
-// }
-// } catch (Exception ex) {
-// // ignore
-// ex.printStackTrace();
-// }
-// }
-// }
- _descriptors = new ISectionDescriptor[result.size()];
- result.toArray(_descriptors);
- }
- return _descriptors;
- }
-
- /**
- * @return registered section descriptors for the WPE QuickEdit tab
- */
- protected List<QuickEditTabSectionDescriptor> readSectionDescriptors() {
- List result = new ArrayList();
-
- IConfigurationElement[] extensions = getConfigurationElements(EXTPT_SECTIONS);
- for (int i = 0; i < extensions.length; i++) {
- IConfigurationElement extension = extensions[i];
- if (extension.getAttribute("contributorId").equals(HTMLEditor.TABBED_PROPERTIES_CONTRIBUTOR_ID)){ //$NON-NLS-1$
- IConfigurationElement[] sections = extension
- .getChildren(ELEMENT_SECTION);
- for (int j = 0; j < sections.length; j++) {
- IConfigurationElement section = sections[j];
- ISectionDescriptor descriptor = new QuickEditTabSectionDescriptor(
- section, null);//ITypeMapper set to null
- result.add(descriptor);
- }
- }
- }
- return result;
- }
-
- /**
- * @param extensionPointId
- * @return IConfigurationElement[]
- */
- private static IConfigurationElement[] getConfigurationElements(
- String extensionPointId) {
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry()
- .getExtensionPoint("org.eclipse.ui.views.properties.tabbed", extensionPointId); //$NON-NLS-1$
- if (extensionPoint == null) {
- return null;
- }
- return extensionPoint.getConfigurationElements();
- }
-
- /**
- * @param name of section
- * @return {@link QuickEditTabSectionDescriptor} or null if not located
- */
- public QuickEditTabSectionDescriptor getNamedSectionDescriptor(String name) {
- for (int i=0;i<getSectionDescriptors().length;i++){
- QuickEditTabSectionDescriptor sd = (QuickEditTabSectionDescriptor)getSectionDescriptors()[i];
- if (name.equals(sd.getId()))
- return sd;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/messages.properties
deleted file mode 100644
index 57b015f57..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-AttributesTabDescriptor_label=Attributes
-QuickEditTabDescriptor_label=Quick Edit
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/messages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/messages.properties
deleted file mode 100644
index b0d48c1e1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-ITabbedPropertiesConstants_other_category=Attributes
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/range/RangeUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/range/RangeUtil.java
deleted file mode 100644
index 1d8565406..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/range/RangeUtil.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.range;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-
-/**
- * @author mengbo
- */
-public class RangeUtil {
- /**
- * append the child after the reference node as next sibling.
- *
- * @param child
- * can't be null
- * @param reference
- * can't be null
- * @return ??
- */
- //TODO: dead
-// private static Node appendAfter(Node child, Node reference) {
-// Node next = reference.getNextSibling();
-// if (next == null)
-// {
-// return reference.getParentNode().appendChild(child);
-// }
-// return reference.getParentNode().insertBefore(child, next);
-// }
-
- /**
- * @param child
- * @param reference
- * @return ??
- */
- // TODO: dead
-// private static Node insertBefore(Node child, Node reference) {
-// return reference.getParentNode().insertBefore(child, reference);
-// }
-
- /**
- * Insert a node into the specified position. The node can be an element or
- * DocumentFragment.
- *
- * @param node
- * @param position
- */
- // TODO: dead
-// private static Node insertElement(DesignPosition position, Element node) {
-// EditPart containerEditPart = position.getContainerPart();
-// int offset = position.getOffset();
-//
-// if (containerEditPart instanceof TextEditPart) {
-// TextEditPart textPart = (TextEditPart) containerEditPart;
-// String textData = textPart.getTextData();
-// Node textNode = (Node) textPart.getModel();
-// if (offset == 0)
-// return insertBefore(node, textNode);
-// else if (offset == textData.length())
-// return appendAfter(node, textNode);
-// else {
-// // inserting the element in the middle of text.
-// String before = textData.substring(0, offset);
-// String after = textData.substring(offset);
-//
-// // XXX: don't know whether setNodeValue() will do all those
-// // escape or not.
-// textNode.setNodeValue(after);
-// Node newnode = insertBefore(node, textNode);
-//
-// // XXX: don't know whether createTextNode() will do all those
-// // escape or not
-// Text t = textNode.getOwnerDocument().createTextNode(before);
-//
-// insertBefore(t, newnode);
-// return newnode;
-// }
-// }
-// return insertIntoEditPart(containerEditPart, node, offset);
-// }
-
- /**
- * @param containerEditPart
- * @param node
- * @param offset
- * @return
- */
- // TODO: dead
-// private static Node insertIntoEditPart(EditPart containerEditPart,
-// Node node, int offset) {
-// Node parent = (Node) containerEditPart.getModel();
-// List childParts = containerEditPart.getChildren();
-// if (offset >= childParts.size()) {
-// // to the end of parent
-// return parent.appendChild(node);
-// }
-// Node child = (Node) ((EditPart) childParts.get(offset)).getModel();
-// return insertBefore(node, child);
-// }
-
- // TODO: dead
-// private static TextPosition insertText(DesignPosition position, String data) {
-// // TODO: never read EditPart containerEditPart = position.getContainerPart();
-//
-// position = moveIntoText(position);
-// int offset = position.getOffset();
-//
-// if (position.getContainerPart() instanceof TextEditPart) {
-// // it is guaranteeed that now the containing edit part is text node.
-// TextEditPart textPart = (TextEditPart) position.getContainerPart();
-// String textData = textPart.getTextData();
-// String before = textData.substring(0, offset);
-// String after = textData.substring(offset);
-// if (data.startsWith(" ") && before.endsWith(" ")) {
-// before = before.substring(0, before.length() - 1) + "&nbsp;";
-// }
-// if (after.startsWith(" ") && data.endsWith(" ")) {
-// data = data.substring(0, data.length() - 1) + (char) 160;
-// }
-// String nextData = before + data + after;
-// IDOMText text = (IDOMText) textPart.getModel();
-// text.setData(nextData);
-// return new TextPosition(text, offset + data.length());
-// }
-// // can't merge into a neighboring text node. So create a text node
-// // of it's own
-// EditPart part = position.getContainerPart();
-// Node parent = (Node) part.getModel();
-// Text text = parent.getOwnerDocument().createTextNode(data);
-// insertIntoEditPart(part, text, offset);
-// return new TextPosition((IDOMText) text, offset);
-// }
-
- /**
- * Try to make the position move into a text node.
- *
- * @param position
- * @return
- */
- // TODO: dead
-// private static DesignPosition moveIntoText(DesignPosition position) {
-// EditPart container = position.getContainerPart();
-// if (container instanceof TextEditPart)
-// return position;
-// if (position.getOffset() > 0) {
-// EditPart pre = (EditPart) container.getChildren().get(
-// position.getOffset() - 1);
-// if (pre instanceof TextEditPart) {
-// return new DesignPosition(pre, ((TextEditPart) pre)
-// .getTextData().length());
-// }
-// }
-// if (position.getOffset() < container.getChildren().size()) {
-// EditPart next = (EditPart) container.getChildren().get(
-// position.getOffset());
-// if (next instanceof TextEditPart) {
-// return new DesignPosition(next, 0);
-// }
-// }
-// return position;
-// }
-
- /**
- * try to move the position up to not inside a text. if the position is at 0
- * index or last index of a text node, then try to move it up.
- *
- * @param position
- * @return
- */
- // TODO: dead
-// private static DesignPosition moveOutFromText(DesignPosition position) {
-// EditPart container = position.getContainerPart();
-// if (container instanceof TextEditPart) {
-// int offset = position.getOffset();
-// String text = ((TextEditPart) container).getTextData();
-// if (offset == 0) {
-// return new DesignPosition(container.getParent(), container
-// .getParent().getChildren().indexOf(container));
-// } else if (offset == text.length()) {
-// return new DesignPosition(container.getParent(), container
-// .getParent().getChildren().indexOf(container) + 1);
-// }
-// }
-// return position;
-// }
-
-// private static void insertDocumentFragment(DesignPosition position,
-// DocumentFragment fragment) {
-// // FIXME: NOT DONE.
-// }
-
- /**
- * Test whether the range intersect with the part.
- *
- * @param range
- * @param part
- * @return true if thereis an intersection
- */
- public static boolean intersect(DesignRange range, EditPart part) {
- if (range == null || !range.isValid())
- return false;
- range = normalize(range);
- if (part instanceof DocumentEditPart)
- return true;
- EditPart parent = part.getParent();
- int index = parent.getChildren().indexOf(part);
- DesignPosition left = new DesignPosition(parent, index);
- DesignPosition right = new DesignPosition(parent, index + 1);
- int compare = compareDesignPosition(left, range.getEndPosition());
- if (compare == 1 || compare == 0 || compare == Integer.MIN_VALUE)
- return false;
-
- compare = compareDesignPosition(right, range.getStartPosition());
- if (compare == -1 || compare == 0 || compare == Integer.MIN_VALUE)
- return false;
-
- return true;
- }
-
- /**
- * make sure the start position is before end position. If the original
- * range is already normalized, then the original range will be returned
- * without constructing a new one.
- *
- * @param range
- * @return the normalized range
- */
- public static DesignRange normalize(DesignRange range) {
- if (range == null || !range.isValid()) {
- return range;
- }
- int result = compareDesignPosition(range.getStartPosition(), range
- .getEndPosition());
- if (result == 1)
- {
- return new DesignRange(range.getEndPosition(), range
- .getStartPosition());
- }
- return range;
- }
-
- /**
- *
- * @param p1
- * @param p2
- * @return 0 means equal. 1 Means p1 is after p2. -1 means p1 is before p2.
- * Integer.MIN_VALUE means some error and can't compare.
- */
- private static int compareDesignPosition(DesignPosition p1, DesignPosition p2) {
- if (!p1.isValid() || !p2.isValid())
- return Integer.MIN_VALUE;
- if (p1.equals(p2))
- return 0;
- int offset1 = p1.getOffset();
- int offset2 = p2.getOffset();
- List a1 = getAncesters(p1.getContainerPart());
- List a2 = getAncesters(p2.getContainerPart());
- if (a1 == null || a2 == null)
- return Integer.MIN_VALUE;
- if (a1.get(0) != a2.get(0))
- return Integer.MIN_VALUE; // not same DocumentEditPart
- for (int i = 1;; i++) {
- EditPart p1a = (EditPart) a1.get(i);
- EditPart p2a = (EditPart) a2.get(i);
- if (p1a == p2a) {
- if (p1a != null)
- {
- continue; // same ancester
- }
- // both are null. just compare the offset.
- return offset1 < offset2 ? -1
- : (offset1 == offset2 ? 0 : 1);
- }
- // p1a != p2a. now we can just compare p1a and p2a to decide the
- // order.
- if (p1a != null)
- offset1 = p1a.getParent().getChildren().indexOf(p1a);
- if (p2a != null)
- offset2 = p2a.getParent().getChildren().indexOf(p2a);
- if ((p1a == null && p2a == null) || (p1a != null && p2a != null)) {
- return offset1 < offset2 ? -1 : (offset1 == offset2 ? 0 : 1);
- } else if (p1a == null) {
- return offset1 <= offset2 ? -1 : 1;
- } else {
- return offset1 >= offset2 ? 1 : -1;
- }
- }
- }
-
- /**
- * Get a list of ancester nodes starting from the DocumentEditPart till the
- * node.
- *
- * @param part
- * @return
- */
- private static List getAncesters(EditPart part) {
- List list = new ArrayList();
- while (part != null) {
- list.add(part);
- if (part instanceof DocumentEditPart)
- {
- break;
- }
- part = part.getParent();
- }
- if (part == null) {
- // if part ==null, means we didn't find a DocumentEditPart,
- // something must be wrong.
- return null;
- }
- // reverse to make it starting from the docuemnteditpart node.
- Collections.reverse(list);
- list.add(null); // add an null terminator.
- return list;
- }
-
- /**
- * find the smallest common ancester of two edit part.
- *
- * @param part1
- * @param part2
- * @return
- */
- private static EditPart findCommonAncester(EditPart part1, EditPart part2) {
- if (part1 == part2) {
- return part1;
- }
- List list1 = getAncesters(part1);
- if (list1 == null)
- return null;
- List list2 = getAncesters(part2);
- if (list2 == null)
- return null;
- if (list1.get(0) != list2.get(0))
- return null;
- EditPart common = (EditPart) list1.get(0);
- for (int i = 1;; i++) {
- EditPart p1 = (EditPart) list1.get(i);
- EditPart p2 = (EditPart) list2.get(i);
- if (p1 == null || p2 == null)
- return common;
- if (p1 != p2)
- return common;
- common = p1;
- }
-
- }
-
- /**
- * @param range
- * @return the common ancestor
- */
- public static EditPart findCommonAncestor(DesignRange range) {
- if (!range.isValid()) {
- return null;
- }
- DesignPosition startPosition = range.getStartPosition();
- DesignPosition endPosition = range.getEndPosition();
- return findCommonAncester(startPosition.getContainerPart(), endPosition
- .getContainerPart());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/LocationModifierRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/LocationModifierRequest.java
deleted file mode 100644
index 176710b62..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/LocationModifierRequest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.requests;
-
-import org.eclipse.gef.requests.LocationRequest;
-
-/**
- * This is a LocationRequest plus keyboard modified support.
- *
- * @author mengbo
- * @version 1.5
- */
-public class LocationModifierRequest extends LocationRequest {
-
- private boolean _controlKeyDown;
-
- /**
- *
- */
- public LocationModifierRequest() {
- super();
- }
-
- /**
- * @param type
- */
- public LocationModifierRequest(Object type) {
- super(type);
- }
-
- /**
- * @return true if the control key was pressed
- */
- public boolean isControlKeyPressed() {
- return _controlKeyDown;
- }
-
- /**
- * @param b
- */
- public void setControlKeyPressed(boolean b) {
- this._controlKeyDown = b;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/NodeCreationFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/NodeCreationFactory.java
deleted file mode 100644
index 7c54de0de..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/NodeCreationFactory.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.requests;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.gef.requests.CreationFactory;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.utils.JSPUtil;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- */
-public class NodeCreationFactory implements CreationFactory {
- private final String _tagName;
-
- private final String _uri;
-
- private final String _suggestedPrefix;
-
- private final Map _attributes;
-
- /**
- * @param uri
- * @param tagname
- * @param suggestedPrefix
- * @param attributes
- */
- public NodeCreationFactory(String uri, String tagname,
- String suggestedPrefix, Map attributes) {
- _tagName = tagname;
- _uri = uri;
- _suggestedPrefix = suggestedPrefix;
- _attributes = attributes;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.requests.CreationFactory#getNewObject()
- */
- public Object getNewObject() {
- Document ownerdoc = getOwnerDocument();
- if (ownerdoc == null)
- return null;
-
- Element ele = ownerdoc.createElement(_tagName);
- if (ele instanceof IDOMNode) {
- String prefix = getPrefix(_uri, ((IDOMDocument) ownerdoc)
- .getModel(), _suggestedPrefix);
- if (prefix != null) {
- ele.setPrefix(prefix);
- }
- }
- if (_attributes != null) {
- for (Iterator iter = _attributes.keySet().iterator(); iter
- .hasNext();) {
- String key = (String) iter.next();
- String value = (String) _attributes.get(key);
- ele.setAttribute(key, value);
- }
- }
- return ele;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.requests.CreationFactory#getObjectType()
- */
- public Object getObjectType() {
- return _tagName;
- }
-
- /**
- * XXX: need some better way for owner document. Maybe pass in from
- * constructor
- *
- * @return the owner document
- */
- protected Document getOwnerDocument() {
- IWorkbenchWindow active = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow();
- if (active == null)
- return null;
- IWorkbenchPage page = active.getActivePage();
- if (page == null)
- return null;
- IEditorPart editor = page.getActiveEditor();
- if (editor instanceof HTMLEditor) {
- return ((HTMLEditor) editor).getDOMDocument();
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.requests.NodeCreationFactory#getPrefix(int)
- */
- private String getPrefix(String uri, IDOMModel model, String suggested) {
- if (ITLDConstants.URI_HTML.equals(uri)
- || ITLDConstants.URI_JSP.equals(uri))
- return null;
-
- // now handles custom tag lib
- return JSPUtil.getOrCreatePrefix(model, uri, suggested);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/PageDesignerRequestConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/PageDesignerRequestConstants.java
deleted file mode 100644
index cd5d10582..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/requests/PageDesignerRequestConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.requests;
-
-/**
- * Page designer constants
- *
- */
-public final class PageDesignerRequestConstants
-{
- /**
- * sent to an edit part to request a selection drag tracker
- */
- public final static String REQ_SELECTION_TRACKER = "selection.tracker.request"; //$NON-NLS-1$
-
- private PageDesignerRequestConstants()
- {
- // no instantiation
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnHandle.java
deleted file mode 100644
index 97a1c1a49..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnHandle.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ColumnHandle extends TableSideItemHandle {
-
- /**
- * @param owner
- * @param index
- */
- public ColumnHandle(GraphicalEditPart owner, int index) {
- super(owner, false, index);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnResizeHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnResizeHandle.java
deleted file mode 100644
index e6446a16e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/ColumnResizeHandle.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ColumnResizeHandle extends TableSideResizeHandle {
- // 0 means before first column
- int _columnIndex;
-
- /**
- * @param owner
- * @param index
- *
- */
- public ColumnResizeHandle(GraphicalEditPart owner, int index) {
- super(owner, false, index);
- _columnIndex = index;
- }
-
- /**
- * @return the column index
- */
- public int getColumnIndex() {
- return _columnIndex;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterAction.java
deleted file mode 100644
index 02a8e5c16..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DeleteHeaderFooterAction extends Action {
- private Command _command;
-
- /**
- * @param text
- * @param editPart
- * @param isHeader
- */
- public DeleteHeaderFooterAction(String text, EditPart editPart,
- boolean isHeader) {
- super(text);
- DeleteHeaderFooterRequest req = new DeleteHeaderFooterRequest(text,
- isHeader);
- this._command = editPart.getCommand(req);
- this.setEnabled(this._command != null && this._command.canExecute());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- _command.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterRequest.java
deleted file mode 100644
index ebd315da5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteHeaderFooterRequest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.Request;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DeleteHeaderFooterRequest extends Request {
- private boolean _isHeader;
-
- /**
- * @param type
- * @param isHeader
- */
- public DeleteHeaderFooterRequest(String type, boolean isHeader) {
- super(type);
- this._isHeader = isHeader;
- }
-
- /**
- * @return Returns the _isHeader.
- */
- public boolean isHeader() {
- return _isHeader;
- }
-
- /**
- * @param header
- * The _isHeader to set.
- */
- public void setHeader(boolean header) {
- _isHeader = header;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteRowColumnAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteRowColumnAction.java
deleted file mode 100644
index 0f68bd1af..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/DeleteRowColumnAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DeleteRowColumnAction extends Action {
- private Command _command;
-
- /**
- * @param text
- * @param tablePart
- * @param index
- * @param isrow
- */
- public DeleteRowColumnAction(String text, EditPart tablePart, int index,
- boolean isrow) {
- super(text);
-
- TableRowColumnDeleteRequest req = new TableRowColumnDeleteRequest(
- isrow, index);
- this._command = tablePart.getCommand(req);
- this.setEnabled(this._command != null && this._command.canExecute());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- _command.execute();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/EmptyLocator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/EmptyLocator.java
deleted file mode 100644
index d69fc734b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/EmptyLocator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Locator;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class EmptyLocator implements Locator {
- /**
- *
- */
- public EmptyLocator() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Locator#relocate(org.eclipse.draw2d.IFigure)
- */
- public void relocate(IFigure target) {
- // do nothing; this is a noop locator
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterAction.java
deleted file mode 100644
index 400922042..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class InsertHeaderFooterAction extends Action {
- private Command _command;
-
- /**
- * @param text
- * @param editPart
- * @param isHeader
- */
- public InsertHeaderFooterAction(String text, EditPart editPart,
- boolean isHeader) {
- super(text);
-
- InsertHeaderFooterRequest req = new InsertHeaderFooterRequest(text,
- isHeader);
- this._command = editPart.getCommand(req);
- this.setEnabled(this._command != null && this._command.canExecute());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- _command.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterRequest.java
deleted file mode 100644
index 845d48aa6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertHeaderFooterRequest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.Request;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class InsertHeaderFooterRequest extends Request {
- private boolean _isHeader;
-
- /**
- * @param type
- * @param isHeader
- */
- public InsertHeaderFooterRequest(String type, boolean isHeader) {
- super(type);
- this._isHeader = isHeader;
- }
-
- /**
- * @return Returns the _isHeader.
- */
- public boolean isHeader() {
- return _isHeader;
- }
-
- /**
- * @param header
- * The _isHeader to set.
- */
- public void setHeader(boolean header) {
- _isHeader = header;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertRowColumnAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertRowColumnAction.java
deleted file mode 100644
index 6eedf0ab2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/InsertRowColumnAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class InsertRowColumnAction extends Action {
- private Command _command;
-
- /**
- * @param text
- * @param tablePart
- * @param index
- * @param isrow
- * @param isbefore
- */
- public InsertRowColumnAction(String text, EditPart tablePart, int index,
- boolean isrow, boolean isbefore) {
- super(text);
-
- TableInsertRequest req = new TableInsertRequest(isrow, index, isbefore);
- this._command = tablePart.getCommand(req);
- this.setEnabled(this._command != null && this._command.canExecute());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.Action#run()
- */
- public void run() {
- _command.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/MarqueeRectangleFigure.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/MarqueeRectangleFigure.java
deleted file mode 100644
index c65e771a3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/MarqueeRectangleFigure.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Figure;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This class is copied from MarqueeSelectionTool, since it is private there.
- *
- * @author mengbo
- * @version 1.5
- */
-class MarqueeRectangleFigure extends Figure {
-
- private int offset = 0;
-
- private boolean schedulePaint = true;
-
- private static final int DELAY = 110; // animation delay in millisecond
-
- /**
- * @see org.eclipse.draw2d.Figure#paintFigure(org.eclipse.draw2d.Graphics)
- */
- protected void paintFigure(Graphics graphics) {
- Rectangle bounds1 = getBounds().getCopy();
- graphics.translate(getLocation());
-
- graphics.setXORMode(true);
- graphics.setForegroundColor(ColorConstants.white);
- graphics.setBackgroundColor(ColorConstants.black);
-
- graphics.setLineStyle(Graphics.LINE_DOT);
-
- int[] points = new int[6];
-
- points[0] = 0 + offset;
- points[1] = 0;
- points[2] = bounds1.width - 1;
- points[3] = 0;
- points[4] = bounds1.width - 1;
- points[5] = bounds1.height - 1;
-
- graphics.drawPolyline(points);
-
- points[0] = 0;
- points[1] = 0 + offset;
- points[2] = 0;
- points[3] = bounds1.height - 1;
- points[4] = bounds1.width - 1;
- points[5] = bounds1.height - 1;
-
- graphics.drawPolyline(points);
-
- graphics.translate(getLocation().getNegated());
-
- if (schedulePaint) {
- Display.getCurrent().timerExec(DELAY, new Runnable() {
- public void run() {
- offset++;
- if (offset > 5)
- offset = 0;
-
- schedulePaint = true;
- repaint();
- }
- });
- }
-
- schedulePaint = false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowHandle.java
deleted file mode 100644
index 5ebd6d9e4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowHandle.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RowHandle extends TableSideItemHandle {
-
- /**
- * @param owner
- * @param index
- */
- public RowHandle(GraphicalEditPart owner, int index) {
- super(owner, true, index);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowResizeHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowResizeHandle.java
deleted file mode 100644
index 8efbcc3f0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/RowResizeHandle.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class RowResizeHandle extends TableSideResizeHandle {
- // 0 means before first row
- int _rowIndex;
-
- /**
- * @param owner
- * @param index
- */
- public RowResizeHandle(GraphicalEditPart owner, int index) {
- super(owner, true, index);
-
- _rowIndex = index;
- }
-
- /**
- * @return the row index
- */
- public int getRowIndex() {
- return _rowIndex;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandle.java
deleted file mode 100644
index 466159bfc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandle.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableColumnHandle extends TableSideHandle {
- /**
- * @param tableHost
- */
- public TableColumnHandle(GraphicalEditPart tableHost) {
- super(tableHost, new TableColumnHandleLocator(tableHost));
- }
-
- /**
- *
- *
- */
- public void setupColumns() {
- ITableEditAdapter tableAdapter = getTableEditAdapter();
- if (tableAdapter == null) {
- return;
- }
- int numColumns = tableAdapter.getColumnCount();
- for (int i = 0; i < numColumns; i++) {
- ColumnHandle columnHandle = createColumnHandle(i);
- add(columnHandle);
- ColumnResizeHandle columnResizeHandle = createColumnResizeHandle(i);
- add(columnResizeHandle);
- }
- ColumnResizeHandle lastResize = createColumnResizeHandle(numColumns);
- add(lastResize);
- }
-
- /**
- * @param numColumns
- * @return
- */
- private ColumnResizeHandle createColumnResizeHandle(int numColumns) {
- return new ColumnResizeHandle(getOwner(), numColumns);
- }
-
- /**
- * @param i
- * @return
- */
- private ColumnHandle createColumnHandle(int i) {
- return new ColumnHandle(getOwner(), i);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandleLocator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandleLocator.java
deleted file mode 100644
index 37bb7e2eb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableColumnHandleLocator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.HandleBounds;
-import org.eclipse.gef.handles.MoveHandleLocator;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableColumnHandleLocator extends MoveHandleLocator {
-
- GraphicalEditPart _tablePart;
-
- /**
- * @param tablePart
- */
- public TableColumnHandleLocator(GraphicalEditPart tablePart) {
- super(tablePart.getFigure());
- _tablePart = tablePart;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.MoveHandleLocator#relocate(org.eclipse.draw2d.IFigure)
- */
- public void relocate(IFigure target) {
- Rectangle bounds;
- if (getReference() instanceof HandleBounds) {
- bounds = ((HandleBounds) getReference()).getHandleBounds();
- } else {
- bounds = getReference().getBounds();
- }
- Insets referenceInsets = getReference().getInsets();
-
- Rectangle r = new Rectangle(bounds.x + referenceInsets.left, bounds.y
- + bounds.height, bounds.width - referenceInsets.getWidth(),
- TableEditConst.HEIGHT);
-
- getReference().translateToAbsolute(r);
- target.translateToRelative(r);
-
- target.setBounds(r);
- relocateChildren(target, getReference());
- }
-
- /**
- * @param target
- * @param reference
- */
- private void relocateChildren(IFigure target, IFigure reference) {
- // As user may removed columns/rows, so need to recalculate columns.
- TableColumnHandle tableColumnHandle = (TableColumnHandle) target;
- tableColumnHandle.removeAll();
- tableColumnHandle.setupColumns();
-
- // ---------------------------
- List children = target.getChildren();
-
- ITableEditAdapter tableAdapter = TableEditHelper
- .getTableEditAdapter(this._tablePart);
- if (tableAdapter == null) {
- // XXX: what should we do if we found it is no longer table?
- // here just skip
- return;
- }
- for (int i = 0, size = children.size(); i < size; i++) {
- Rectangle rect = null;
- IFigure child = (IFigure) children.get(i);
- if (child instanceof ColumnHandle) {
- ColumnHandle columnHandle = (ColumnHandle) child;
- int columnIndex = columnHandle.getIndex();
- rect = new Rectangle(tableAdapter.getColumnStart(columnIndex),
- 0, tableAdapter.getColumnWidth(columnIndex),
- TableEditConst.HEIGHT);
- } else if (child instanceof ColumnResizeHandle) {
- ColumnResizeHandle resizeHandle = (ColumnResizeHandle) child;
- int columnIndex = resizeHandle.getColumnIndex();
- rect = new Rectangle(tableAdapter
- .getColumnResizeStart(columnIndex), 0, tableAdapter
- .getColumnResizeWidth(), TableEditConst.HEIGHT);
- } else {
- // should not happen.
- }
- if (rect != null) {
- child.setBounds(rect);
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditAdapter.java
deleted file mode 100644
index 6689636b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditAdapter.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableEditAdapter implements ITableEditAdapter {
- CSSTableLayout2 _tableLayout;
-
- /**
- * @param layout2
- */
- public TableEditAdapter(CSSTableLayout2 layout2) {
- this._tableLayout = layout2;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnCount()
- */
- public int getColumnCount() {
- return _tableLayout.getColumnWidths().length;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowCount()
- */
- public int getRowCount() {
- return _tableLayout.getRowHeights().length;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#insertColumn(int)
- */
- public void insertColumn(int atPosition) {
- // do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#insertRow(int)
- */
- public void insertRow(int rowPosition) {
- // TODO Auto-generated method stub
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getResizeStart(int)
- */
- public int getColumnResizeStart(int columnIndex) {
- int w = 0;
- int[] columnWidths = _tableLayout.getColumnWidths();
- for (int i = 0; i < columnIndex; i++) {
- w += columnWidths[i];
- }
- w += columnIndex * _tableLayout.getHSpacing();
- return w;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getResizeWidth()
- */
- public int getColumnResizeWidth() {
- return _tableLayout.getHSpacing();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnStart(int)
- */
- public int getColumnStart(int columnIndex) {
- return getColumnResizeStart(columnIndex) + _tableLayout.getHSpacing();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnWidth(int)
- */
- public int getColumnWidth(int columnIndex) {
- return _tableLayout.getColumnWidths()[columnIndex];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowStart(int)
- */
- public int getRowStart(int rowIndex) {
- int start = getRowResizeStart(rowIndex) + _tableLayout.getVSpacing();
- if (_tableLayout.getCaptionInfo() != null
- && "top".equalsIgnoreCase(_tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$
- {
- start += _tableLayout.getCaptionSize().height;
- }
- return start;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowHeight(int)
- */
- public int getRowHeight(int rowIndex) {
- return _tableLayout.getRowHeights()[rowIndex];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowResizeStart(int)
- */
- public int getRowResizeStart(int rowIndex) {
- int w = 0;
- int[] rowHeights = _tableLayout.getRowHeights();
- for (int i = 0; i < rowIndex; i++) {
- w += rowHeights[i];
- }
- w += rowIndex * _tableLayout.getHSpacing();
- return w;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowResizeWidth()
- */
- public int getRowResizeWidth() {
- return _tableLayout.getVSpacing();
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditConst.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditConst.java
deleted file mode 100644
index 40b1dee9a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditConst.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-/*package*/ interface TableEditConst {
- /**
- * height constant
- */
- public static final int HEIGHT = 10;
-
- /**
- * width constant
- */
- public static final int WIDTH = 10;
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditHelper.java
deleted file mode 100644
index 5614d81a4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableEditHelper.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableEditHelper {
- /**
- * This method will return null if the editpart is not a table.
- *
- * @param tablePart
- * @return the adapter
- */
- public static ITableEditAdapter getTableEditAdapter(
- GraphicalEditPart tablePart) {
- IFigure figure = tablePart.getFigure();
- LayoutManager layout = figure.getLayoutManager();
- if (layout instanceof CSSTableLayout2) {
- return new TableEditAdapter((CSSTableLayout2) layout);
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableHandleKit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableHandleKit.java
deleted file mode 100644
index c8082e517..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableHandleKit.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import java.util.List;
-
-import org.eclipse.gef.GraphicalEditPart;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableHandleKit {
-
- /**
- * @param tableHost
- * @param handles
- */
- public static void addHandles(GraphicalEditPart tableHost, List handles) {
- addColumnHandles(tableHost, handles);
- addRowHandles(tableHost, handles);
- }
-
- /**
- * @param tableHost
- * @param handles
- */
- private static void addColumnHandles(GraphicalEditPart tableHost,
- List handles) {
- TableColumnHandle handle = new TableColumnHandle(tableHost);
- handles.add(handle);
-
- }
-
- /**
- * @param tableHost
- * @param handles
- */
- private static void addRowHandles(GraphicalEditPart tableHost, List handles) {
- TableRowHandle handle = new TableRowHandle(tableHost);
- handles.add(handle);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableInsertRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableInsertRequest.java
deleted file mode 100644
index 7ad13d98d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableInsertRequest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableInsertRequest extends TableRowColumnRequest {
- /**
- *
- */
- private static final String TABLE_INSERT_REQUEST = "Table Insert"; //$NON-NLS-1$
-
- boolean _before;
-
- /**
- * @param row
- * @param index
- * @param before
- *
- */
- public TableInsertRequest(boolean row, int index, boolean before) {
- super(TABLE_INSERT_REQUEST, row, index);
- this._before = before;
- }
-
- /**
- * @return true if is before
- */
- public boolean isBefore() {
- return _before;
- }
-
- /**
- * @param before
- */
- public void setBefore(boolean before) {
- this._before = before;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizableEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizableEditPolicy.java
deleted file mode 100644
index 87619c24f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizableEditPolicy.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import java.util.List;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.editpolicies.ElementResizableEditPolicy;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableResizableEditPolicy extends ElementResizableEditPolicy {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.ResizableEditPolicy#createSelectionHandles()
- */
- protected List createSelectionHandles() {
- List list = super.createSelectionHandles();
-
- // CR402770-1. Add a check whether it is table. If is not, will not
- // create the handles. Thus, the handles could assume
- // TableEditHelper.getTableEditAdatper()
- // will always return non null.
- ITableEditAdapter adapter = TableEditHelper
- .getTableEditAdapter((GraphicalEditPart) getHost());
- if (adapter != null) {
- TableHandleKit.addHandles((GraphicalEditPart) getHost(), list);
- }
- return list;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizeRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizeRequest.java
deleted file mode 100644
index f776ba854..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableResizeRequest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.Request;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableResizeRequest extends Request {
- private static final String TABLE_RESIZE_REQ = "Table Resize"; //$NON-NLS-1$
-
- private boolean _row;
-
- private int _index;
-
- private int _delta;
-
- /**
- * @param isrow
- * @param index
- */
- public TableResizeRequest(boolean isrow, int index) {
- super(TABLE_RESIZE_REQ);
- this._row = isrow;
- this._index = index;
- }
-
- /**
- * @return the index
- */
- public int getIndex() {
- return _index;
- }
-
- /**
- * @param index
- */
- public void setIndex(int index) {
- this._index = index;
- }
-
- /**
- * @return true if is row
- */
- public boolean isRow() {
- return _row;
- }
-
- /**
- * @param row
- */
- public void setRow(boolean row) {
- this._row = row;
- }
-
- /**
- * @return the delta
- */
- public int getDelta() {
- return _delta;
- }
-
- /**
- * @param delta
- */
- public void setDelta(int delta) {
- this._delta = delta;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnDeleteRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnDeleteRequest.java
deleted file mode 100644
index 8688e8765..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnDeleteRequest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableRowColumnDeleteRequest extends TableRowColumnRequest {
- private static final String TABLE_ROWCOLUMN_DELETE = "Table RowColumn Delete"; //$NON-NLS-1$
-
- /**
- * @param row
- * @param index
- */
- public TableRowColumnDeleteRequest(boolean row, int index) {
- super(TABLE_ROWCOLUMN_DELETE, row, index);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnRequest.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnRequest.java
deleted file mode 100644
index b7bc8cdae..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowColumnRequest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.Request;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableRowColumnRequest extends Request {
- int _index;
-
- boolean _row;
-
- /**
- * @param type
- * @param row
- * @param index
- */
- public TableRowColumnRequest(Object type, boolean row, int index) {
- super(type);
- this._row = row;
- this._index = index;
- }
-
- /**
- * @return the index
- */
- public int getIndex() {
- return _index;
- }
-
- /**
- * @param index
- */
- public void setIndex(int index) {
- this._index = index;
- }
-
- /**
- * @return true if is row
- */
- public boolean isRow() {
- return _row;
- }
-
- /**
- * @param row
- */
- public void setRow(boolean row) {
- this._row = row;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandle.java
deleted file mode 100644
index daca6e405..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandle.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableRowHandle extends TableSideHandle {
- /**
- * @param tableHost
- */
- public TableRowHandle(GraphicalEditPart tableHost) {
- super(tableHost, new TableRowHandleLocator(tableHost));
- // setupRows();
- }
-
- /**
- *
- *
- */
- public void setupRows() {
- ITableEditAdapter tableAdapter = getTableEditAdapter();
- if (tableAdapter == null) {
- return;
- }
- int numRows = tableAdapter.getRowCount();
- for (int i = 0; i < numRows; i++) {
- RowHandle rowHandle = createRowHandle(i);
- add(rowHandle);
- RowResizeHandle rowResizeHandle = createRowResizeHandle(i);
- add(rowResizeHandle);
- }
- RowResizeHandle lastResize = createRowResizeHandle(numRows);
- add(lastResize);
- }
-
- /**
- * @param rowIndex
- * @return
- */
- private RowResizeHandle createRowResizeHandle(int rowIndex) {
- return new RowResizeHandle(getOwner(), rowIndex);
- }
-
- /**
- * @param rowIndex
- * @return
- */
- private RowHandle createRowHandle(int rowIndex) {
- return new RowHandle(getOwner(), rowIndex);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandleLocator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandleLocator.java
deleted file mode 100644
index 54ed350ac..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableRowHandleLocator.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.PrecisionRectangle;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.HandleBounds;
-import org.eclipse.gef.handles.MoveHandleLocator;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableRowHandleLocator extends MoveHandleLocator {
-
- GraphicalEditPart _tablePart;
-
- /**
- * @param tablePart
- */
- public TableRowHandleLocator(GraphicalEditPart tablePart) {
- super(tablePart.getFigure());
- _tablePart = tablePart;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.MoveHandleLocator#relocate(org.eclipse.draw2d.IFigure)
- */
- public void relocate(IFigure target) {
- Rectangle bounds;
- if (getReference() instanceof HandleBounds) {
- bounds = ((HandleBounds) getReference()).getHandleBounds();
- } else {
- bounds = getReference().getBounds();
- }
- // bounds = new PrecisionRectangle(bounds.getResized(-1, -1));
- Insets referenceInsets = getReference().getInsets();
-
- Rectangle r = new Rectangle(bounds.x + bounds.width, bounds.y
- + referenceInsets.top, TableEditConst.WIDTH, bounds.height
- - referenceInsets.getHeight());
- bounds = new PrecisionRectangle(r);
-
- getReference().translateToAbsolute(bounds);
- target.translateToRelative(bounds);
-
- target.setBounds(bounds);
- relocateChildren(target, getReference());
- }
-
- /**
- * @param target
- * @param reference
- */
- private void relocateChildren(IFigure target, IFigure reference) {
- // As user may removed columns/rows, so need to recalculate columns.
- TableRowHandle tableRowHandle = (TableRowHandle) target;
- tableRowHandle.removeAll();
- tableRowHandle.setupRows();
- List children = target.getChildren();
-
- ITableEditAdapter tableAdapter = TableEditHelper
- .getTableEditAdapter(this._tablePart);
- if (tableAdapter == null) {
- return;
- }
- for (int i = 0, size = children.size(); i < size; i++) {
- Rectangle rect = null;
- IFigure child = (IFigure) children.get(i);
- if (child instanceof RowHandle) {
- RowHandle rowHandle = (RowHandle) child;
- int rowIndex = rowHandle.getIndex();
- rect = new Rectangle(0, tableAdapter.getRowStart(rowIndex),
- TableEditConst.WIDTH, tableAdapter
- .getRowHeight(rowIndex));
- } else if (child instanceof RowResizeHandle) {
- RowResizeHandle resizeHandle = (RowResizeHandle) child;
- int rowIndex = resizeHandle.getRowIndex();
- rect = new Rectangle(0, tableAdapter
- .getRowResizeStart(rowIndex), TableEditConst.WIDTH,
- tableAdapter.getRowResizeWidth());
- } else {
- // should not happen.
- }
- if (rect != null) {
- child.setBounds(rect);
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideHandle.java
deleted file mode 100644
index 753ad40b0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideHandle.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.Locator;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.AbstractHandle;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableSideHandle extends AbstractHandle {
- /**
- * @param owner
- * @param loc
- */
- public TableSideHandle(GraphicalEditPart owner, Locator loc) {
- super(owner, loc);
- // TODO Auto-generated constructor stub
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.AbstractHandle#createDragTracker()
- */
- protected DragTracker createDragTracker() {
- // TODO Auto-generated method stub
- return null;
- }
-
- /**
- * @return the edit part
- */
- public GraphicalEditPart getTableEditPart() {
- return this.getOwner();
- }
-
- /**
- * @return the adapter
- */
- public ITableEditAdapter getTableEditAdapter() {
- return TableEditHelper.getTableEditAdapter(getOwner());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#useLocalCoordinates()
- */
- protected boolean useLocalCoordinates() {
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemDragTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemDragTracker.java
deleted file mode 100644
index efedef535..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemDragTracker.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-
-/**
- * This is the tracker for the TableSideItem. It will be responsible to track
- * the right mouse down event and popup a menu.
- *
- * @author mengbo
- * @version 1.5
- */
-public class TableSideItemDragTracker extends DragEditPartsTracker {
- // TODO: dead?
- // private boolean _isRow;
-//
-// private int _index;
-
- /**
- *
- * @param sourceEditPart
- * @param isrow
- * @param index
- */
- public TableSideItemDragTracker(EditPart sourceEditPart, boolean isrow,
- int index) {
- super(sourceEditPart);
- // TODO: dead?
-// this._isRow = isrow;
-// this._index = index;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#handleButtonUp(int)
- */
- protected boolean handleButtonUp(int button) {
- boolean result = super.handleButtonUp(button);
- //
- // if (button == 3)
- // {
- // MenuManager m = new MenuManager();
- // if (_isRow)
- // {
- // m.add(new InsertRowColumnAction("Insert row before",
- // getSourceEditPart(), _index, _isRow, true));
- // m.add(new InsertRowColumnAction("Insert row after",
- // getSourceEditPart(), _index, _isRow, false));
- // m.add(new DeleteRowColumnAction("Delete row", getSourceEditPart(),
- // _index, _isRow));
- // }
- // else
- // {
- // m.add(new InsertRowColumnAction("Insert column before",
- // getSourceEditPart(), _index, _isRow, true));
- // m.add(new InsertRowColumnAction("Insert column after",
- // getSourceEditPart(), _index, _isRow, false));
- // m.add(new DeleteRowColumnAction("Delete column", getSourceEditPart(),
- // _index, _isRow));
- // }
- // m.createContextMenu(this.getCurrentViewer().getControl()).setVisible(true);
- // }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemHandle.java
deleted file mode 100644
index 9b833abc3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideItemHandle.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.draw2d.Cursors;
-import org.eclipse.draw2d.Graphics;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.AbstractHandle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public abstract class TableSideItemHandle extends AbstractHandle {
- private boolean _isRow;
-
- private int _index;
-
- /**
- * @param owner
- * @param isRow
- * @param index
- *
- */
- public TableSideItemHandle(GraphicalEditPart owner, boolean isRow, int index) {
- super(owner, new EmptyLocator());
- this._isRow = isRow;
- this._index = index;
- initialize();
- }
-
- /**
- *
- */
- private void initialize() {
- this.setOpaque(false);
- LineBorder border1 = new LineBorder(ColorConstants.green, 1);
- this.setBorder(border1);
- this.setCursor(Cursors.ARROW);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.Figure#paintFigure(org.eclipse.draw2d.Graphics)
- */
- protected void paintFigure(Graphics graphics) {
- graphics.setXORMode(true);
- graphics.setBackgroundColor(ColorConstants.darkGray);
- graphics.fillRectangle(getBounds());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.AbstractHandle#createDragTracker()
- */
- protected DragTracker createDragTracker() {
- return new TableSideItemDragTracker(getOwner(), _isRow, _index);
- }
-
- /**
- * @return the index
- */
- public int getIndex() {
- return _index;
- }
-
- /**
- * @return true if is row
- */
- public boolean isRow() {
- return _isRow;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeDragTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeDragTracker.java
deleted file mode 100644
index ca0771ff6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeDragTracker.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Insets;
-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.commands.Command;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
-
-/**
- * This is the drag tracker for the small resize item on the
- * TableSideResizeHandle. used to adjust a single column/row size.
- *
- * @author mengbo
- * @version 1.5
- */
-public class TableSideResizeDragTracker extends DragEditPartsTracker {
- private boolean _isrow;
-
- private int _index;
-
- private MarqueeRectangleFigure _marqueeFigure;
-
- /**
- * @param sourceEditPart
- * @param isrow
- * @param index
- */
- public TableSideResizeDragTracker(EditPart sourceEditPart, boolean isrow,
- int index) {
- super(sourceEditPart);
- this._isrow = isrow;
- this._index = index;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#showSourceFeedback()
- */
- protected void showSourceFeedback() {
- Rectangle rect = getFeedbackRect();
- if (rect != null) {
- rect = rect.getCopy();
- getMarqueeRectangleFigure().setBounds(rect);
- } else {
- // ignore.
- }
- }
-
- private int calculateDelta() {
- int delta;
- // FIXME: TODO: XXX: when delta is too small (<0) to make previous
- // column/row
- // to have negative size, then we need adjust delta.
- if (_isrow) {
- delta = getLocation().y - getStartLocation().y;
- } else {
- delta = getLocation().x - getStartLocation().x;
- }
- return delta;
- }
-
- /**
- * @return null if this is not a table.
- */
- private Rectangle getFeedbackRect() {
- ITableEditAdapter adapter = getTableEditAdapter();
- if (adapter == null) {
- return null;
- }
-
- IFigure figure = ((GraphicalEditPart) this.getSourceEditPart())
- .getFigure();
- Rectangle bounds = figure.getBounds();
- Insets insets = figure.getInsets();
- Rectangle rect;
- if (_isrow) {
- int delta = calculateDelta();
- rect = new Rectangle(0, adapter.getRowResizeStart(_index) + delta,
- bounds.width - insets.getWidth(), adapter
- .getRowResizeWidth());
- } else {
- int delta = calculateDelta();
- rect = new Rectangle(adapter.getColumnResizeStart(_index) + delta,
- 0, adapter.getColumnResizeWidth(), bounds.height
- - insets.getHeight());
- }
- rect.translate(bounds.x + insets.left, bounds.y + insets.top);
-
- figure.translateToAbsolute(rect);
- getMarqueeRectangleFigure().translateToRelative(rect);
- return rect;
- }
-
- /**
- *
- * @return null if this is not a table.
- */
- private ITableEditAdapter getTableEditAdapter() {
- return TableEditHelper.getTableEditAdapter((GraphicalEditPart) this
- .getSourceEditPart());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#eraseSourceFeedback()
- */
- protected void eraseSourceFeedback() {
- super.eraseSourceFeedback();
- if (_marqueeFigure != null) {
- removeFeedback(_marqueeFigure);
- _marqueeFigure = null;
- }
- }
-
- private MarqueeRectangleFigure getMarqueeRectangleFigure() {
- if (this._marqueeFigure == null) {
- this._marqueeFigure = new MarqueeRectangleFigure();
- addFeedback(this._marqueeFigure);
- }
- return this._marqueeFigure;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#createTargetRequest()
- */
- protected Request createTargetRequest() {
- return new TableResizeRequest(this._isrow, this._index);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#updateTargetRequest()
- */
- protected void updateTargetRequest() {
- TableResizeRequest req = (TableResizeRequest) getTargetRequest();
- req.setDelta(calculateDelta());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.SelectEditPartTracker#handleButtonDown(int)
- */
- protected boolean handleButtonDown(int button) {
- lockTargetEditPart(getSourceEditPart());
- return super.handleButtonDown(button);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.DragEditPartsTracker#getCommand()
- */
- protected Command getCommand() {
- return getTargetEditPart().getCommand(getTargetRequest());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeHandle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeHandle.java
deleted file mode 100644
index bfe6b22a7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tableedit/TableSideResizeHandle.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tableedit;
-
-import org.eclipse.draw2d.Cursors;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.handles.AbstractHandle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TableSideResizeHandle extends AbstractHandle {
- private boolean _isRow;
-
- private int _index;
-
- /**
- * @param owner
- * @param isrow
- * @param index
- *
- */
- public TableSideResizeHandle(GraphicalEditPart owner, boolean isrow,
- int index) {
- super(owner, new EmptyLocator());
- this._isRow = isrow;
- this._index = index;
-
- this.setCursor(isrow ? Cursors.SIZEN : Cursors.SIZEE);
- // this.setBackgroundColor(ColorConstants.green);
- this.setOpaque(false);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.handles.AbstractHandle#createDragTracker()
- */
- protected DragTracker createDragTracker() {
- return new TableSideResizeDragTracker(getOwner(), _isRow, _index);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ExposeHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ExposeHelper.java
deleted file mode 100644
index 6828db179..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ExposeHelper.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tools;
-
-import org.eclipse.draw2d.FigureCanvas;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.editpolicies.AbstractEditPolicy;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Node;
-
-/**
- * This helper class expose an rectangle in design view, currentlly it is used
- * to help expose caret.
- *
- * @author mengbo
- */
-public class ExposeHelper {
- private static final int DEFAULT_OFFSET = 100;
-
- private static final int SCROLL_OFFSET = 8;
-
- IHTMLGraphicalViewer _viewer;
-
- /**
- * @param viewer
- */
- public ExposeHelper(IHTMLGraphicalViewer viewer) {
- _viewer = viewer;
- }
-
- /**
- * Expose rectangle. (non-Javadoc)
- * @param rect
- *
- * @see org.eclipse.gef.ExposeHelper#exposeDescendant(org.eclipse.gef.EditPart)
- */
- public void exposeArea(Rectangle rect) {
- if (_viewer == null) {
- return;
- }
- FigureCanvas canvas = (FigureCanvas) _viewer.getControl();
- Viewport port = _viewer.getViewport();
-
- if (port == null) {
- return;
- }
- Rectangle exposeRegion = rect.getCopy();
- Rectangle portBounds = port.getBounds().getCopy();
- Point viewLocation = port.getViewLocation();
- Dimension diff = calculateDiff(portBounds, exposeRegion);
- if (diff != null) {
- viewLocation.x -= diff.width;
- viewLocation.y -= diff.height;
- canvas.scrollSmoothTo(viewLocation.x, viewLocation.y);
- }
- }
-
- private void exposeVertical(int offset) {
- if (_viewer == null) {
- return;
- }
- FigureCanvas canvas = (FigureCanvas) _viewer.getControl();
- Viewport port = _viewer.getViewport();
-
- if (port == null) {
- return;
- }
- Point viewLocation = port.getViewLocation();
- viewLocation.y += offset;
- canvas.scrollSmoothTo(viewLocation.x, viewLocation.y);
- }
-
- private void exposeHorizontal(int offset) {
- if (_viewer == null) {
- return;
- }
- FigureCanvas canvas = (FigureCanvas) _viewer.getControl();
- Viewport port = _viewer.getViewport();
-
- if (port == null) {
- return;
- }
- Point viewLocation = port.getViewLocation();
- viewLocation.x += offset;
- canvas.scrollSmoothTo(viewLocation.x, viewLocation.y);
- }
-
- private int calculateX(Rectangle portBounds, Rectangle caretRect) {
- int result = 0;
- if (portBounds.x > caretRect.getRight().x) {
- result = portBounds.getLeft().getDifference(caretRect.getRight()).width;
- if (portBounds.width >= caretRect.width) {
- result = portBounds.getLeft()
- .getDifference(caretRect.getLeft()).width;
- }
- } else if (portBounds.getRight().x < caretRect.getLeft().x) {
- result = portBounds.getRight().getDifference(caretRect.getLeft()).width;
- if (portBounds.width >= caretRect.width) {
- result = portBounds.getRight().getDifference(
- caretRect.getRight()).width;
- }
- }
- return result;
- }
-
- private int calculateY(Rectangle portBounds, Rectangle caretRect) {
- int result = 0;
- if (portBounds.y > caretRect.getBottom().y) {
- result = portBounds.getTop().getDifference(caretRect.getBottom()).height;
- if (portBounds.height >= caretRect.height) {
- result = portBounds.getTop().getDifference(caretRect.getTop()).height;
- }
- } else if (portBounds.getBottom().y < caretRect.getTop().y) {
- result = portBounds.getBottom().getDifference(caretRect.getTop()).height;
- if (portBounds.height >= caretRect.height) {
- result = portBounds.getBottom().getDifference(
- caretRect.getBottom()).height;
- }
- } else if (portBounds.getBottom().y < caretRect.getBottom().y) {
- if (portBounds.height >= caretRect.height) {
- result = portBounds.getBottom().getDifference(
- caretRect.getBottom()).height;
- }
- } else if (portBounds.getTop().y > caretRect.getTop().y) {
- if (portBounds.height >= caretRect.height) {
- result = portBounds.getTop().getDifference(caretRect.getTop()).height;
- }
- }
- return result;
- }
-
- /**
- * Calculate caretPoint's offset to posrBounds at both x coordinate and y
- * coordinate.
- *
- * @param portBounds
- * @param exposeRegion
- * @param canvas
- * @param caretPoint
- */
- private Dimension calculateDiff(Rectangle portBounds, Rectangle caretRect) {
- Dimension diff = new Dimension(0, 0);
- diff.width = calculateX(portBounds, caretRect);
- diff.height = calculateY(portBounds, caretRect);
- return diff;
- }
-
- // /**
- // * Calculate caretPoint's offset to posrBounds at both x coordinate and y
- // coordinate.
- // *
- // * @param portBounds
- // * @param exposeRegion
- // * @param canvas
- // * @param caretPoint
- // */
- // private Dimension calculateDiff(Rectangle portBounds, Point caretPoint)
- // {
- // int position = portBounds.getPosition(caretPoint);
- // Dimension diff = null;
- // Point containerPos = null;
- // switch (position)
- // {
- // case PositionConstants.EAST:
- // containerPos = new Point(portBounds.getRight().x, caretPoint.y);
- // diff = containerPos.getDifference(caretPoint);
- // break;
- // case PositionConstants.NORTH_EAST:
- // diff = portBounds.getTopRight().getDifference(caretPoint);
- // break;
- // case PositionConstants.WEST:
- // containerPos = new Point(portBounds.getLeft().x, caretPoint.y);
- // diff = containerPos.getDifference(caretPoint);
- // break;
- // case PositionConstants.NORTH_WEST:
- // diff = portBounds.getTopLeft().getDifference(caretPoint);
- // break;
- // case PositionConstants.SOUTH_WEST:
- // diff = portBounds.getBottomLeft().getDifference(caretPoint);
- // break;
- // case PositionConstants.SOUTH_EAST:
- // diff = portBounds.getBottomRight().getDifference(caretPoint);
- // break;
- // case PositionConstants.NORTH:
- // containerPos = new Point(caretPoint.x, portBounds.getTop().y);
- // diff = containerPos.getDifference(caretPoint);
- // break;
- // case PositionConstants.SOUTH:
- // containerPos = new Point(caretPoint.x, portBounds.getBottom().y);
- // diff = containerPos.getDifference(caretPoint);
- // break;
- // }
- // return diff;
- // }
- //
- private static void expose(EditPart part, ScrollingGraphicalViewer viewer) {
- if (part != null && part.getModel() instanceof Node) {
- viewer.reveal(part);
- }
- }
-
- private static void expose(Node element, ScrollingGraphicalViewer viewer) {
- if (element instanceof INodeNotifier) {
- EditPart editPart = (EditPart) ((INodeNotifier) element)
- .getAdapterFor(EditPart.class);
- expose(editPart, viewer);
- }
- }
-
- /**
- * @param selection
- * @param viewer
- */
- public static void expose(ISelection selection,
- ScrollingGraphicalViewer viewer) {
- if (selection instanceof IStructuredSelection) {
- Object element = ((IStructuredSelection) selection)
- .getFirstElement();
- if (element instanceof Node) {
- expose((Node) element, viewer);
- } else if (element instanceof EditPart) {
- expose((EditPart) element, viewer);
- }
- }
- }
-
- /**
- * @param p
- */
- public void adjustVertical(Point p) {
- int offset = 0;
- if ((offset = getVerticalBoundsOffset(p, false)) < SCROLL_OFFSET) {
- exposeVertical(SCROLL_OFFSET - offset);
- } else if ((offset = getVerticalBoundsOffset(p, true)) < SCROLL_OFFSET) {
- exposeVertical(offset - SCROLL_OFFSET);
- }
- if ((offset = getHorizontalBoundsOffset(p, true)) < SCROLL_OFFSET) {
- exposeHorizontal(SCROLL_OFFSET - offset);
- } else if ((offset = getHorizontalBoundsOffset(p, false)) < SCROLL_OFFSET) {
- exposeHorizontal(offset - SCROLL_OFFSET);
- }
- }
-
- /**
- * @return the location of the view port
- */
- public Point getViewpostLocation() {
- if (_viewer != null) {
- Viewport port = _viewer.getViewport();
-
- if (port != null) {
- return port.getViewLocation();
- }
- }
- return null;
- }
-
- /**
- * @param figure
- * @param p
- * @return the translated point
- */
- public Point translateToViewport(IFigure figure, Point p) {
- Point vp = getViewpostLocation();
- return new Point(p.x - vp.x, p.y - vp.y);
- }
-
- private int getHorizontalBoundsOffset(Point p, boolean forward) {
- if (_viewer == null) {
- return DEFAULT_OFFSET;
- }
- Viewport port = _viewer.getViewport();
-
- if (port == null) {
- return DEFAULT_OFFSET;
- }
- if (forward) {
- Rectangle portBounds = port.getBounds().getCopy();
- return portBounds.getRight().x - p.x;
- }
- return p.x;
- }
-
- private int getVerticalBoundsOffset(Point p, boolean up) {
- if (_viewer == null) {
- return DEFAULT_OFFSET;
- }
- Viewport port = _viewer.getViewport();
-
- if (port == null) {
- return DEFAULT_OFFSET;
- }
- if (!up) {
- Rectangle portBounds = port.getBounds().getCopy();
- return portBounds.getBottom().y - p.y;
- }
- return p.y;
- }
-
- /**
- * @param rect
- * @param policy
- */
- void exposeBorder(Rectangle rect, AbstractEditPolicy policy) {
- Point p = rect.getTopLeft();
- p = translateToViewport(((GraphicalEditPart) policy.getHost())
- .getFigure(), p);
- adjustVertical(p);
- p = rect.getBottomRight();
- p = translateToViewport(((GraphicalEditPart) policy.getHost())
- .getFigure(), p);
- adjustVertical(p);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ObjectModeDragTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ObjectModeDragTracker.java
deleted file mode 100644
index 15519bcf3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/ObjectModeDragTracker.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tools;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.tools.DragEditPartsTracker;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-
-/**
- * When user press right mouse to do selection, if the selected node is inside
- * current range selection, then don't change selection. This is for better
- * context menu support.
- *
- * @author mengbo
- * @version 1.5
- */
-public class ObjectModeDragTracker extends DragEditPartsTracker {
- /**
- * @param sourceEditPart
- */
- public ObjectModeDragTracker(EditPart sourceEditPart) {
- super(sourceEditPart);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.SelectEditPartTracker#handleButtonDown(int)
- */
- protected boolean handleButtonDown(int button) {
- if (button == 3 && isInState(STATE_INITIAL)) {
- EditPart sourcePart = this.getSourceEditPart();
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) sourcePart
- .getViewer();
- if (viewer != null && viewer.isInRangeMode()) {
- DesignRange range = viewer.getRangeSelection();
- if (range != null && range.isValid()) {
- if (RangeUtil.intersect(range, sourcePart)) {
- return true;
- }
- }
- }
- }
- return super.handleButtonDown(button);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java
deleted file mode 100644
index 03e690ee2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeDragTracker.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tools;
-
-import java.util.Collections;
-
-import org.eclipse.draw2d.Cursors;
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.requests.SelectionRequest;
-import org.eclipse.gef.tools.TargetingTool;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.range.RangeUtil;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.InlineEditingPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.EditPartPositionHelper;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.graphics.Cursor;
-
-/**
- * @author mengbo
- */
-public class RangeDragTracker extends TargetingTool implements DragTracker {
- /** Flag to indicate selection has been performed. */
- private static final int FLAG_SELECTION_PERFORMED = TargetingTool.MAX_FLAG << 1;
-
- private EditPart editpart;
-
- /**
- * Constructs a new SelectEditPartTracker with the given edit part as the
- * source.
- *
- * @param owner
- * the source edit part
- */
- public RangeDragTracker(EditPart owner) {
- setSourceEditPart(owner);
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#calculateCursor()
- */
- protected Cursor calculateCursor() {
- return Cursors.IBEAM;
-// if (isInState(STATE_INITIAL))
-// {
-// return Cursors.IBEAM;
-// }
-// else if (isInState(STATE_DRAG | STATE_ACCESSIBLE_DRAG))
-// {
-// return getDefaultCursor();
-// }
-// return Cursors.IBEAM;
-// return super.calculateCursor();
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#getCommandName()
- */
- protected String getCommandName() {
- return "Range Drag Tracker";//$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#getDebugName()
- */
- protected String getDebugName() {
- return "Range Drag Tracker";//$NON-NLS-1$
- }
-
- /**
- * Returns the source edit part.
- *
- * @return the source edit part
- */
- protected EditPart getSourceEditPart() {
- return editpart;
- }
-
- /**
- * Performs a conditional selection if needed (if right or left mouse button
- * have been pressed) and goes into the drag state. If any other button has
- * been pressed, the tool goes into the invalid state.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleButtonDown(int)
- */
- protected boolean handleButtonDown(int button) {
- if (button == 3 && isInState(STATE_INITIAL)) {
- EditPart sourcePart = this.getSourceEditPart();
- IHTMLGraphicalViewer viewer = (IHTMLGraphicalViewer) sourcePart
- .getViewer();
- if (viewer != null && viewer.isInRangeMode()) {
- DesignRange range = viewer.getRangeSelection();
- if (range != null && range.isValid()) {
- if (RangeUtil.intersect(range, sourcePart)) {
- return true;
- }
- }
- }
- }
-
- if ((button == 1 || button == 3) && isInState(STATE_INITIAL)) {
- peroformSelectionBegin();
- }
-
- if (button != 1) {
- setState(STATE_INVALID);
- if (button == 3)
- setState(STATE_TERMINAL);
- handleInvalidInput();
- } else {
- stateTransition(STATE_INITIAL, STATE_DRAG);
- }
- return true;
- }
-
- /**
- * If the
- * source is selected and there are no modifier keys pressed (i.e. the user
- * isn't selecting multiple edit parts or deselecting edit parts), sets the
- * direct edit flag so that when the mouse is released, a direct edit will
- * be performed.
- */
- protected void peroformSelectionBegin() {
- // if (getCurrentInput().isControlKeyDown())
- // {
- // // when control key is down, switch to object selection mode.
- // getHTMLGraphicalViewer().ensureObjectSelectionMode();
- // setFlag(FLAG_SELECTION_PERFORMED, true);
- // EditPartViewer viewer = getCurrentViewer();
- // List selectedObjects = viewer.getSelectedEditParts();
- //
- // if (selectedObjects.contains(getSourceEditPart()))
- // viewer.deselect(getSourceEditPart());
- // else
- // viewer.appendSelection(getSourceEditPart());
- // }
- // else
- if (getCurrentInput().isShiftKeyDown()) {
- getHTMLGraphicalViewer().ensureRangeSelectionMode();
- rangeSelection(true);
- } else {
- if (shouldStartRangeSelection()) {
- rangeSelection(false);
- } else {
- getCurrentViewer().select(getSourceEditPart());
- }
- }
- }
-
- /**
- * If in the drag state, the tool selects the source edit part. If the
- * edit part is newly selected and not completely visible,
- * {@link org.eclipse.gef.EditPartViewer#reveal(EditPart)}is called to show the selected
- * edit part.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleButtonUp(int)
- */
- protected boolean handleButtonUp(int button) {
- if (isInState(STATE_DRAG)) {
- // XXX: commented the following two line (lium)
- // performSelection();
- // if (button == 1 && getSourceEditPart().getSelected() !=
- // EditPart.SELECTED_NONE)
- // getCurrentViewer().reveal(getSourceEditPart());
- setState(STATE_TERMINAL);
- return true;
- }
- return false;
- }
-
- /**
- * Calls {@link #performOpen()}if the double click was with mouse button 1.
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleDoubleClick(int)
- */
- protected boolean handleDoubleClick(int button) {
- if (button == 1) {
- performOpen();
- }
- return true;
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#handleDragStarted()
- */
- protected boolean handleDragStarted() {
- return stateTransition(STATE_DRAG, STATE_DRAG_IN_PROGRESS);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.AbstractTool#handleDragInProgress()
- */
- protected boolean handleDragInProgress() {
- if (getHTMLGraphicalViewer().isInRangeMode()) {
- rangeSelection(true);
- return true;
- }
- return super.handleDragInProgress();
- }
-
- /**
- * Returns <code>true</code> if selection has already occured.
- *
- * @return <code>true</code> if selection has occured
- */
- protected boolean hasSelectionOccurred() {
- return getFlag(FLAG_SELECTION_PERFORMED);
- }
-
- /**
- * Creates a {@link SelectionRequest}and sends it to the source edit part
- * via {@link EditPart#performRequest(org.eclipse.gef.Request)}. Possible uses are to open
- * the selected item in another editor or replace the current editor's
- * contents based on the selected item.
- */
- protected void performOpen() {
- SelectionRequest request = new SelectionRequest();
- request.setLocation(getLocation());
- request.setType(RequestConstants.REQ_OPEN);
- getSourceEditPart().performRequest(request);
- }
-
- /**
- * @see org.eclipse.gef.tools.AbstractTool#resetFlags()
- */
- protected void resetFlags() {
- super.resetFlags();
- setFlag(FLAG_SELECTION_PERFORMED, false);
- }
-
- /**
- * Sets the source edit part.
- *
- * @param part
- * the source edit part
- */
- protected void setSourceEditPart(EditPart part) {
- this.editpart = part;
- }
-
- /**
- * @return the html graphical viewer
- */
- public IHTMLGraphicalViewer getHTMLGraphicalViewer() {
- return (IHTMLGraphicalViewer) getCurrentViewer();
- }
-
- /**
- * @return
- */
- private boolean shouldStartRangeSelection() {
- IPositionMediator positionMediator = new InlineEditingPositionMediator(
- new ActionData(ActionData.INLINE_EDIT, null));
- if (positionMediator.isEditable(new Target(getSourceEditPart()))) {
- return getSourceEditPart() instanceof TextEditPart
- || !(((NodeEditPart) getSourceEditPart()).isWidget());
- }
- return false;
- }
-
- /**
- * @param b
- * true means remain the old range start position.
- */
- private void rangeSelection(boolean b) {
- // XXX: not using updateTargetEditPartUnderMouse. Maybe should. Don't
- // want to
- // go through the request mechanism, so simple implementation for now.
-
- //to avoid 219038 and possibility of current viewer changing
- final EditPartViewer viewer = getCurrentViewer();
- final IHTMLGraphicalViewer graphicalViewer = (IHTMLGraphicalViewer)viewer;
- EditPart editPart = viewer.findObjectAtExcluding(
- getLocation(), Collections.EMPTY_LIST);
- IPositionMediator positionMediator = new InlineEditingPositionMediator(
- new ActionData(ActionData.INLINE_EDIT, null));
- ExposeHelper exposeHelper = new ExposeHelper(graphicalViewer);
- exposeHelper.adjustVertical(getCurrentInput().getMouseLocation());
- DesignPosition position = EditPartPositionHelper.findEditPartPosition(
- editPart, getCurrentInput().getMouseLocation(),
- positionMediator);
- if (b) {
- graphicalViewer.setRangeEndPosition(position);
- } else {
- graphicalViewer.setRange(position, position);
- }
- graphicalViewer.updateHorizontalPos();
- }
-
- protected boolean handleHover() {
- boolean retValue = super.handleHover();
- refreshCursor();
- return retValue;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeSelectionTool.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeSelectionTool.java
deleted file mode 100644
index e25c052ea..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/tools/RangeSelectionTool.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.tools;
-
-import org.eclipse.gef.DragTracker;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.RequestConstants;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.LocationRequest;
-import org.eclipse.gef.tools.SelectionTool;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.pagedesigner.commands.DeleteNodeCommand;
-import org.eclipse.jst.pagedesigner.commands.SwitchSelectionCommand;
-import org.eclipse.jst.pagedesigner.commands.nav.HorizontalMoveCommand;
-import org.eclipse.jst.pagedesigner.commands.nav.ICaretPositionMover;
-import org.eclipse.jst.pagedesigner.commands.nav.VerticalMoveCommand;
-import org.eclipse.jst.pagedesigner.commands.range.CopyCommand;
-import org.eclipse.jst.pagedesigner.commands.range.CutCommand;
-import org.eclipse.jst.pagedesigner.commands.range.DeleteCommand;
-import org.eclipse.jst.pagedesigner.commands.range.InsertCommand;
-import org.eclipse.jst.pagedesigner.commands.range.KeyboardData;
-import org.eclipse.jst.pagedesigner.commands.range.PasteCommand;
-import org.eclipse.jst.pagedesigner.commands.range.SelectAllCommand;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.requests.LocationModifierRequest;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Cursor;
-
-/**
- * @author mengbo
- */
-public class RangeSelectionTool extends SelectionTool
-{
- private LocationRequest _hoverRequest;
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.SelectionTool#handleKeyDown(org.eclipse.swt.events.KeyEvent)
- */
- protected boolean handleKeyDown(KeyEvent e) {
- // resetHover() is not visible.
- if (isHoverActive()) {
- handleHoverStop();
- }
- setHoverActive(false);
-
- if ((e.stateMask & SWT.ALT) != 0) {
- return false;
- }
- Command command = null;
- KeyboardData keyCode = null;
- switch (e.keyCode) {
- case SWT.F2:
- command = new SwitchSelectionCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer());
-
- break;
- case SWT.ARROW_UP:
- command = new VerticalMoveCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer(), true, (e.stateMask & SWT.SHIFT) != 0);
- break;
- case SWT.ARROW_DOWN:
- command = new VerticalMoveCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer(), false, (e.stateMask & SWT.SHIFT) != 0);
- break;
- case SWT.ARROW_LEFT:
- command = new HorizontalMoveCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer(), false, (e.stateMask & SWT.SHIFT) != 0);
- break;
- case SWT.ARROW_RIGHT:
- command = new HorizontalMoveCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer(), true, (e.stateMask & SWT.SHIFT) != 0);
- break;
- case SWT.DEL:
- if ((e.stateMask & SWT.SHIFT) == 0) {
- if (getCurrentViewer().getSelection() != null) {
- ISelection selection = getCurrentViewer().getSelection();
- if (selection instanceof StructuredSelection) {
- Object object = ((StructuredSelection) selection)
- .getFirstElement();
- if (!(object instanceof DocumentEditPart)) {
- // "delete node"
- command = new DeleteNodeCommand(
- (IHTMLGraphicalViewer) getCurrentViewer());
- }
- }
- }
- if (command == null) {
- // "delete"
- command = new DeleteCommand(true,
- (IHTMLGraphicalViewer) this.getCurrentViewer());
- }
- } else {
- // "cut"
- command = new CutCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer());
- e.doit = false;
- }
- break;
- case SWT.BS:
- // "delete"
- command = new DeleteCommand(false, (IHTMLGraphicalViewer) this
- .getCurrentViewer());
- e.doit = false;
- break;
- case SWT.INSERT:
- if ((e.stateMask & SWT.SHIFT) != 0) {
- // "paste"
- command = new PasteCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer());
- e.doit = false;
- break;
- } else if ((e.stateMask & SWT.CONTROL) != 0) {
- // "copy"
- command = new CopyCommand((IHTMLGraphicalViewer) this
- .getCurrentViewer());
- e.doit = false;
- break;
- }
- break;
- case SWT.LF:
- case SWT.CR:
- // "insert"
- keyCode = new KeyboardData(e.character, e.stateMask,
- (IHTMLGraphicalViewer) getCurrentViewer());
- command = new InsertCommand(
- PageDesignerResources.getInstance().getString(
- "RangeSelectionTool.CommandLabel.Insert"), (IHTMLGraphicalViewer) this.getCurrentViewer(), keyCode); //$NON-NLS-1$
- e.doit = false;
- break;
- default:
- if (e.keyCode == 'a' && (e.stateMask & SWT.CTRL) != 0) {
- command = new SelectAllCommand("selectAll", //$NON-NLS-1$
- (IHTMLGraphicalViewer) this.getCurrentViewer());
- e.doit = false;
- } else {
- if (getCurrentViewer() instanceof IHTMLGraphicalViewer
- && ((IHTMLGraphicalViewer) getCurrentViewer())
- .isInRangeMode()
- && (!Character.isIdentifierIgnorable(e.character) && !Character
- .isISOControl(e.character))
- || (e.character == '\r')) {
- keyCode = new KeyboardData(e.character, e.stateMask,
- (IHTMLGraphicalViewer) getCurrentViewer());
- // "insert"
- command = new InsertCommand(
- PageDesignerResources.getInstance().getString(
- "RangeSelectionTool.CommandLabel.Insert"), (IHTMLGraphicalViewer) this.getCurrentViewer(), keyCode); //$NON-NLS-1$
- e.doit = false;
- break;
- }
- return super.handleKeyDown(e);
- }
- }
- if (command != null) {
- command.execute();
- e.doit = false;
- if (command instanceof ICaretPositionMover) {
- if (getCurrentViewer() instanceof IHTMLGraphicalViewer) {
- ((IHTMLGraphicalViewer) getCurrentViewer())
- .updateHorizontalPos();
- }
- }
- return true;
- }
- return false;
- }
-
- // /**
- // * @param e
- // * @return
- // */
- // protected boolean handleRangeModeKeyDown(KeyEvent e)
- // {
- // if (e.keyCode == SWT.SHIFT || e.keyCode == SWT.CONTROL || e.keyCode ==
- // SWT.ALT)
- // {
- // return false;
- // }
- //
- // dumpKey(e);
- // Command command = null;
- // switch (e.keyCode)
- // {
- // case SWT.ARROW_LEFT:
- // command = new HorizontalMoveCommand((IHTMLGraphicalViewer)
- // this.getCurrentViewer(), false,
- // (e.stateMask & SWT.SHIFT) != 0);
- // break;
- // case SWT.ARROW_RIGHT:
- // command = new HorizontalMoveCommand((IHTMLGraphicalViewer)
- // this.getCurrentViewer(), true,
- // (e.stateMask & SWT.SHIFT) != 0);
- // break;
- //
- // }
- // if (command != null)
- // {
- // command.execute();
- // return true;
- // }
- //
- // char content = e.character;
- //
- // // when reach here, should be standard content keys.
- // return handleRangeModeContentChar(content);
- // }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.SelectionTool#createHoverRequest()
- */
- protected void createHoverRequest() {
- this._hoverRequest = new LocationModifierRequest();
- _hoverRequest.setType(RequestConstants.REQ_SELECTION_HOVER);
- }
-
- protected Request getTargetHoverRequest() {
- if (_hoverRequest == null) {
- createHoverRequest();
- }
- return _hoverRequest;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.tools.SelectionTool#updateHoverRequest()
- */
- protected void updateHoverRequest() {
- LocationModifierRequest request = (LocationModifierRequest) getTargetHoverRequest();
- request.setLocation(getLocation());
- request.setControlKeyPressed(getCurrentInput().isControlKeyDown());
- }
-
- /*
- * If the target edit part is a NodeEditPart, then inform it if of the current
- * drag status before calling its hover feedback
- */
- protected void showHoverFeedback()
- {
- if (getTargetEditPart() instanceof NodeEditPart)
- {
- ((NodeEditPart)getTargetEditPart())
- .setDragActive(
- isInState(STATE_DRAG_IN_PROGRESS
- | STATE_ACCESSIBLE_DRAG_IN_PROGRESS
- | STATE_DRAG));
- }
- super.showHoverFeedback();
- }
-
- // TODO : this method is for debug purposes and should
- // be removed in production
-// protected boolean updateTargetUnderMouse() {
-// EditPart editPart = getTargetEditPart();
-// boolean retValue = super.updateTargetUnderMouse();
-// if (getTargetEditPart() != editPart)
-// {
-// System.out.println("New target editpart: "+getTargetEditPart()+" Old edit part: "+editPart);
-// }
-// return retValue;
-// }
-
- protected boolean handleMove() {
- boolean handled = super.handleMove();
- EditPart targetEditPart = getTargetEditPart();
-
- if (isInState(STATE_INITIAL)
- && targetEditPart instanceof NodeEditPart)
- {
- LocationRequest request = new LocationRequest(org.eclipse.jst.pagedesigner.requests.PageDesignerRequestConstants.REQ_SELECTION_TRACKER);
- request.setLocation(getLocation());
- DragTracker selectionTracker = targetEditPart.getDragTracker(request);
- setDragTracker(selectionTracker);
- }
-
- return handled;
- }
-
- protected Cursor calculateCursor() {
- EditPart targetEditPart = getTargetEditPart();
- if (isInState(STATE_INITIAL)
- && targetEditPart instanceof NodeEditPart)
- {
- final Cursor nodeCursor =
- ((NodeEditPart)targetEditPart).getCursor(getLocation());
-
- // if the edit part specified a custom cursor and there is no
- // active drag tracker (which would otherwise manage cursor)
- // then set the custom cursor
- // if we fall-through, the default behaviour will be used
- if (nodeCursor != null
- && getDragTracker() == null)
- {
- return nodeCursor;
- }
- }
- // otherwise, use super's defaults
- return super.calculateCursor();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/CommonResourceDialog.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/CommonResourceDialog.java
deleted file mode 100644
index 8d6b63830..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/CommonResourceDialog.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-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.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.WebrootUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * This dialog shows IFile type resources within a IProject domain for
- * selection. The client can prvide the suffixs of files to filter when
- * candidates are shown on the tree,
- *
- * TODO: dead?
- *
- * @author mengbo
- */
-class CommonResourceDialog extends TreeViewerSelectionDialog {
- private static final int WEBROOT_FOLDER_DEPTH = 2;
-
- // CommonResourceDialog.statusMessage = Please select an image file
- private static final String STATUS_MESSAGE = PageDesignerResources
- .getInstance().getString("CommonResourceDialog.statusMessage"); //$NON-NLS-1$
-
- private String _suffixs[] = null;
-
- private CommonResourceFilter _filter;
-
- /** Create the logger for this class */
- private static Logger _log = PDPlugin.getLogger(CommonResourceDialog.class);
-
- // The content provider
- class ProjectFileDialogContentProvider implements ITreeContentProvider {
- /**
- * The visual part that is using this content provider is about to be
- * disposed. Deallocate all allocated SWT resources.
- */
- public void dispose() {
- // do nothing
- }
-
- /**
- * @see ITreeContentProvider#getChildren
- */
- public Object[] getChildren(Object element) {
- if (element instanceof IWorkspace) {
- IWorkspaceRoot root = ((IWorkspace) element).getRoot();
- IProject[] projects = root.getProjects();
- return projects;
- } else if (element instanceof IContainer) {
- if (element instanceof IProject) {
- IContainer container = (IContainer) element;
- if (container.isAccessible()) {
- try {
- IResource[] members = container.members();
- return members;
- } catch (CoreException e) {
- // "Error.CommonResourceDialog.0.1" = "Error in
- // project memeber querying"
- // "Error.CommonResourceDialog.0.2" = "Please refer
- // to the log for details"
- PDPlugin
- .getAlerts()
- .error(
- "Error.CommonResourceDialog.0.1", "Error.CommonResourceDialog.0.2"); //$NON-NLS-1$ //$NON-NLS-2$
- // Error.ProjectFileDialogContentProvider.0 = Core
- // error, you may need to restart the application
- _log
- .error(
- "Error.ProjectFileDialogContentProvider.0", e); //$NON-NLS-1$
- }
- }
- } else if (element instanceof IFolder) {
- // Process the folder container
- IContainer container = (IContainer) element;
- if (container.isAccessible()) {
- try {
- // Filter all the files under the project and only
- // show
- // the folder in the container selection dialog
- List children = new ArrayList();
- IResource[] members = container.members();
- for (int i = 0; i < members.length; i++) {
- if (!members[i].getName().equals(
- IFileFolderConstants.FOLDER_WEBINF)
- && !members[i]
- .getName()
- .equals(
- IFileFolderConstants.FOLDER_METAINF)) {
- children.add(members[i]);
- }
- }
- return children.toArray();
- } catch (CoreException e) {
- // "Error.CommonResourceDialog.0.1" = "Error in
- // project memeber querying"
- // "Error.CommonResourceDialog.0.2" = "Please refer
- // to the log for details"
- PDPlugin
- .getAlerts()
- .error(
- "Error.CommonResourceDialog.0.1", "Error.CommonResourceDialog.0.2"); //$NON-NLS-1$ //$NON-NLS-2$
- // Error.ProjectFileDialogContentProvider.0 = core
- // error, you may need to restart the application
- _log
- .error(
- "Error.ProjectFileDialogContentProvider.0", e); //$NON-NLS-1$
- }
- }
- }
- }
- return new Object[0];
- }
-
- /**
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements
- */
- public Object[] getElements(Object element) {
- return getChildren(element);
- }
-
- /**
- * @see ITreeContentProvider#getParent
- */
- public Object getParent(Object element) {
- if (element instanceof IResource) {
- return ((IResource) element).getParent();
- }
- return null;
- }
-
- /**
- * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren
- */
- public boolean hasChildren(Object element) {
- return getChildren(element).length > 0;
- }
-
- /**
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // do nothing
- }
-
- }
-
- // The default resource filter
- static class CommonResourceFilter extends ViewerFilter {
- private String _suffixs[] = { IFileFolderConstants.EXT_PROPERTIES };
-
- private Logger _mylog = PDPlugin.getLogger(CommonResourceFilter.class);
-
- private IProject _project;
-
- /**
- * @return Returns the _suffixs.
- */
- public String[] getSuffixs() {
- return _suffixs;
- }
-
- /**
- * @param _suffixs
- * The _suffixs to set.
- */
- public void setSuffixs(String[] _suffixs) {
- this._suffixs = _suffixs;
- }
-
- /**
- * @param project
- */
- public CommonResourceFilter(IProject project) {
- _project = project;
- }
-
- /**
- * @param project
- * The _project to set.
- */
- public void setProject(IProject project) {
- this._project = project;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public boolean select(Viewer viewer, Object parentElement,
- Object element) {
- // TODO: This logic can be improved by add caching mechanism
- if (element instanceof IWorkspace) {
- return true;
- } else if (element instanceof IFile) {
- if (Arrays.asList(_suffixs).contains(
- ((IFile) element).getFileExtension())) {
- return true;
- }
- } else if (element instanceof IContainer) {
- if (!((IContainer) element).isAccessible()) {
- return false;
- }
- if (element instanceof IProject) {
- IProject container = (IProject) element;
- if (isWebAppProject(container)
- && this.isSameProject(container, _project)) {
- return true;
- }
- return false;
- } else if (element instanceof IFolder) {
- IContainer container = (IContainer) element;
- try {
- if (container.getName().equals(
- IFileFolderConstants.FOLDER_WEBINF)
- || container.getName().equals(
- IFileFolderConstants.FOLDER_METAINF)) {
- return false;
- }
- IResource[] members = container.members();
- for (int i = 0; i < members.length; i++) {
- {
- if (select(viewer, members[i].getParent(),
- members[i])) {
- return true;
- }
- }
- }
- } catch (CoreException e) {
- // "Error.ImgFileFilter.0" = "Error in filtering the
- // tree", "Error.ImgFileFilter.2 = ""CoreException is
- // thrown, please refer to error log for details"
- // "Error.ProjectFileDialogContentProvider.0" = core
- // error, show alert dialog to user.
- PDPlugin
- .getAlerts()
- .detailError(
- "Error.ImgFileFilter.0", "Error.ImgFileFilter.2"); //$NON-NLS-1$//$NON-NLS-2$
- _mylog.error(
- "Error.ProjectFileDialogContentProvider.0", e); //$NON-NLS-1$
- return false;
- }
- }
- }
- // we don't select any other types of resources.
- return false;
- }
-
- /**
- * Determines if a project is a Web Application project by the presence
- * of an associated Web Application Nature.
- *
- * @return boolean - True, when project is a Web Application project
- */
- private boolean isWebAppProject(IProject project) {
- return WebrootUtil.isValidWebProject(project);
- }
-
- private boolean isSameProject(IProject orig, IProject dst) {
- String currentProjectName = orig.getFullPath()
- .toString().trim();
- String projectName = dst.getFullPath().toString().trim();
- return projectName.equalsIgnoreCase(currentProjectName);
- }
- }
-
- /**
- * This is a dialog for common resource selection, the resouce supported
- * include IFolder, IProject, IFile, user can provide
- *
- * @param parentShell
- * @param project
- */
- public CommonResourceDialog(Shell parentShell, IProject project) {
- super(parentShell, STATUS_MESSAGE);
- setContentProvider(new ProjectFileDialogContentProvider());
- setLabelProvider(WorkbenchLabelProvider
- .getDecoratingWorkbenchLabelProvider());
- _filter = new CommonResourceFilter(project);
- setFilter(_filter);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.ui.common.SelectionTreeViewerDialog#findInputElement()
- */
- protected Object findInputElement() {
- return ResourcesPlugin.getWorkspace();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.ui.common.SelectionTreeViewerDialog#isValidSelection(java.lang.Object)
- */
- protected boolean isValidSelection(Object selection) {
- if (getContainerFullPath(selection) == null) {
- return false;
- }
- int depth = getContainerFullPath(selection).segmentCount();
- // The location is within WEBROOT PATH?
- if ((selection instanceof IFile) && depth >= WEBROOT_FOLDER_DEPTH) {
- // Null means no filter is set
- if (_suffixs == null) {
- return true;
- }
- // The extension is supported?
- else if (_suffixs != null
- && Arrays.asList(_suffixs).contains(
- ((IFile) selection).getFileExtension())) {
- return true;
- }
- }
- // None of above conditions, invalid.
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.dialogs.SelectionDialog#getResult()
- */
- public Object[] getResult() {
- Object[] objects = super.getResult();
- if (objects == null || objects.length == 0) {
- return null;
- }
- // Only one element is set by us.
- IPath returnValue = getWebRelatedPath(objects[0]);
- if (returnValue != null) {
- if (!(returnValue.toString().startsWith(
- IFileFolderConstants.PATH_SEPARATOR) || returnValue
- .toString().startsWith("\\"))) { //$NON-NLS-1$
- Path tempPath = new Path(IFileFolderConstants.PATH_SEPARATOR
- + returnValue.toString());
- returnValue = tempPath;
- }
- }
- return new Object[] { returnValue };
- }
-
- private IPath getContainerFullPath(Object _selectedElement) {
- if (_selectedElement == null) {
- return null;
- } else if (_selectedElement instanceof IContainer) {
- return ((IContainer) _selectedElement).getFullPath();
- } else if (_selectedElement instanceof IFile) {
- return ((IFile) _selectedElement).getFullPath();
- }
- return null;
- }
-
- private IPath getWebRelatedPath(Object _selectedElement) {
- IPath result = null;
- if (_selectedElement == null) {
- return null;
- } else if (_selectedElement instanceof IContainer) {
- result = ((IContainer) _selectedElement).getFullPath();
- } else if (_selectedElement instanceof IFile) {
- result = ((IFile) _selectedElement).getFullPath();
- }
- if (result != null) {
- if (result.segmentCount() > 2) {
- result = result.removeFirstSegments(2);
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/PartActivationHandler.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/PartActivationHandler.java
deleted file mode 100644
index e6bc79926..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/PartActivationHandler.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common;
-
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * @author mengbo
- */
-public abstract class PartActivationHandler extends ShellAdapter implements
- IPartListener {
- private IWorkbenchPart _activePart;
-
- private boolean _isHandlingActivation = false;
-
- private IWorkbenchPart _trace;
-
- /**
- * @param part
- */
- public PartActivationHandler(IWorkbenchPart part) {
- _trace = part;
- }
-
- /**
- * this method is called when the specified part is activated.
- */
- public abstract void handleActivation();
-
- private void internalHandleActivation() {
-
- if (_isHandlingActivation)
- return;
-
- if (_activePart == _trace) {
- _isHandlingActivation = true;
- try {
- handleActivation();
- } finally {
- _isHandlingActivation = false;
- }
- }
- }
-
- /**
- * @see IPartListener#partActivated(IWorkbenchPart)
- */
- public void partActivated(IWorkbenchPart part) {
- _activePart = part;
- internalHandleActivation();
- }
-
- /**
- * @see IPartListener#partBroughtToTop(IWorkbenchPart)
- */
- public void partBroughtToTop(IWorkbenchPart part) {
- // do nothing
- }
-
- /**
- * @see IPartListener#partClosed(IWorkbenchPart)
- */
- public void partClosed(IWorkbenchPart part) {
- // do nothing
- }
-
- /**
- * @see IPartListener#partDeactivated(IWorkbenchPart)
- */
- public void partDeactivated(IWorkbenchPart part) {
- _activePart = null;
- }
-
- /**
- * @see IPartListener#partOpened(IWorkbenchPart)
- */
- public void partOpened(IWorkbenchPart part) {
- // do nothing
- }
-
- /*
- * @see ShellListener#shellActivated(ShellEvent)
- */
- public void shellActivated(ShellEvent e) {
- internalHandleActivation();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/ResourceOnClasspathDialog.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/ResourceOnClasspathDialog.java
deleted file mode 100644
index 60658995e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/ResourceOnClasspathDialog.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common;
-
-import java.io.File;
-import java.util.Arrays;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJarEntryResource;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.jst.pagedesigner.utils.JavaUtil;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This dialog will let client to select resources that located on a
- * IJavaProject classpath, the client can provide a list of files suffixs to
- * filter.
- *
- * @author mengbo
- */
-// TODO: Since many jar files might do nothing to do with client's selection, we
-// may need to provides more filter choice
-// to clients to exclude unnecessary jar files, such as that are located in JDK
-// dir.
-public class ResourceOnClasspathDialog extends TreeViewerSelectionDialog {
- // ResourcesOnClasspathDialog.statusMessage = Please select a property file
- private static final String STATUS_MESSAGE = PageDesignerResources
- .getInstance()
- .getString("ResourcesOnClasspathDialog.statusMessage"); //$NON-NLS-1$
-
- private IJavaProject _javaProject;
-
- // the suffixs of files that can be selected
- private String _suffixs[]; // =
-
- // IJMTConstants.DEFAULT_SUFFIX;
-
- private ResourceOnClasspathFilter _filter;
-
- // Client doesn't need to know it.
- class ResourceOnClasspathFilter extends ViewerFilter {
- StandardJavaElementContentProvider _javaContentProvider;
-
- /**
- * @param contentProvider
- */
- public ResourceOnClasspathFilter(
- StandardJavaElementContentProvider contentProvider) {
- _javaContentProvider = contentProvider;
- }
-
- /**
- * Set the suffixs of files need to be selected.
- *
- * @param suffixs
- */
- public void setSuffixs(String suffixs[]) {
- _suffixs = suffixs;
- }
-
- /**
- * @param contentProvider
- * The _javaContentProvider to set.
- */
- public void setJavaContentProvider(
- StandardJavaElementContentProvider contentProvider) {
- _javaContentProvider = contentProvider;
- }
-
- /**
- * @param project
- * The _javaProject to set.
- */
- public void setJavaProject(IJavaProject project) {
- _javaProject = project;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public boolean select(Viewer viewer, Object parentElement,
- Object element) {
- // TODO: This logic can be improved by add caching mechanism
- if (element instanceof IJavaProject) {
- String currentProjectName = ((IJavaProject) element)
- .getProject().getFullPath().toString().trim();
- String projectName = _javaProject.getProject().getFullPath()
- .toString().trim();
- if (projectName.equalsIgnoreCase(currentProjectName)) {
- return true;
- }
- return false;
- } else if (element instanceof IResource) {
- if (((_javaProject != null) && !_javaProject
- .isOnClasspath((IResource) element))) {
- return false;
- }
- if (element instanceof IFile) {
- if (Arrays.asList(_suffixs).contains(
- ((IFile) element).getFileExtension())) {
- return true;
- }
- }
- return false;
- }
-
- if (element instanceof IJarEntryResource) {
- String ext = ((IJarEntryResource) element).getFullPath()
- .getFileExtension();
- if (ext != null && Arrays.asList(_suffixs).contains(ext)) {
- return true;
- }
- return false;
- }
- if (!(element instanceof IJavaElement)) {
- return false;
- }
- if (((_javaProject != null) && !_javaProject
- .isOnClasspath((IJavaElement) element))) {
- return false;
- }
- IJavaElement javaElement = (IJavaElement) element;
- Object[] children = null;
- switch (javaElement.getElementType()) {
- case IJavaElement.PACKAGE_FRAGMENT_ROOT:
- children = _javaContentProvider.getChildren(javaElement);
- break;
- case IJavaElement.IMPORT_CONTAINER:
- return true;
- case IJavaElement.PACKAGE_FRAGMENT:
- children = _javaContentProvider.getChildren(javaElement);
- break;
- case IJavaElement.CLASS_FILE:
- if (Arrays.asList(_suffixs).contains(
- IFileFolderConstants.EXT_CLASS)) {
- return true;
- }
- return false;
- case IJavaElement.COMPILATION_UNIT:
- String ext = javaElement.getPath().getFileExtension();
- if (ext != null && Arrays.asList(_suffixs).contains(ext)) {
- return true;
- }
- return false;
- default:
- return false;
- }
-
- for (int i = 0; i < children.length; i++) {
- if (select(viewer, javaElement, children[i])) {
- return true;
- }
- }
- // Either the resouce or its children are not for displaying.
- return false;
- }
- }
-
- /**
- * Set the suffixs of files need to be selected.
- *
- * @param suffixs
- */
- public void setSuffixs(String suffixs[]) {
- _suffixs = suffixs;
- _filter.setSuffixs(suffixs);
- }
-
- /**
- * @param parentShell
- * @param project
- */
- public ResourceOnClasspathDialog(Shell parentShell, IJavaProject project) {
- super(parentShell, STATUS_MESSAGE);
- // set provider and filter
- StandardJavaElementContentProvider contentProvider = new StandardJavaElementContentProvider();
- setContentProvider(contentProvider);
- setLabelProvider(new JavaElementLabelProvider());
- _filter = new ResourceOnClasspathFilter(contentProvider);
- setFilter(_filter);
- // store the project
- _javaProject = project;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.dialogs.SelectionDialog#getResult()
- */
- public Object[] getResult() {
- Object[] objects = super.getResult();
- if (objects == null || objects.length == 0) {
- return null;
- }
- IPath path = JavaUtil.getPathOnClasspath(_javaProject, objects[0]);
- String result = null;
- if (path.segmentCount() == 0) {
- return new Object[] { "" }; //$NON-NLS-1$
- }
- path = path.removeFileExtension();
- result = path.toOSString();
- result = result.replace(File.separatorChar, '.');
- return new Object[] { result };
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.ui.common.SelectionTreeViewerDialog#isValidSelection()
- */
- protected boolean isValidSelection(Object selection) {
- String extension = JavaUtil.getPathOnClasspath(_javaProject, selection)
- .getFileExtension();
- return (extension != null && Arrays.asList(_suffixs)
- .contains(extension));
- }
-
- protected Object findInputElement() {
- Object input = ResourcesPlugin.getWorkspace();
- if (input instanceof IWorkspace) {
- return JavaCore.create(((IWorkspace) input).getRoot());
- } else if (input instanceof IContainer) {
- IJavaElement element = JavaCore.create((IContainer) input);
- if (element != null && element.exists())
- return element;
- return input;
- }
- return JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/TreeViewerSelectionDialog.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/TreeViewerSelectionDialog.java
deleted file mode 100644
index 097f048cf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/TreeViewerSelectionDialog.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-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.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.jsf.common.ui.internal.guiutils.SWTUtils;
-import org.eclipse.jst.pagedesigner.editors.pagedesigner.PageDesignerResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.part.DrillDownComposite;
-
-/**
- * This is a base dialog that uses TreeViewer to show selections, subclass needs
- * to provide IContentProvider, ILabelProvider and ViewerFilter for the
- * TreeViewer. Subclass needs to implement isValidSelection(), which valids the
- * selection, and findInputElement() which provides the root element of the
- * tree. Besides, subclass might need to implement getResult() to return a
- * customized result.
- *
- * @author mengbo
- */
-abstract class TreeViewerSelectionDialog extends SelectionDialog {
- // = "Select a file"
- private static final String DEFAULT_TITLE = PageDesignerResources
- .getInstance().getString("TreeViewerSelectionDialog.Title"); //$NON-NLS-1$
-
- /** Used to tag the image type */
- static final int STYLE_NONE = 0;
-
- static final int STYLE_INFORMATION = 1;
-
- static final int STYLE_ERROR = 2;
-
- static final int STYLE_WARNING = 3;
-
- /** Sizi of the TreeViewer composite */
- private static final int SIZING_SELECTION_PANE_HEIGHT = 300;
-
- private static final int SIZING_SELECTION_PANE_WIDTH = 320;
-
- private String _title = DEFAULT_TITLE;
-
- // the seleciton on the treeviewer.
- private static Object _selection;
-
- // providers
- private ITreeContentProvider _contentProvider;
-
- private ILabelProvider _labelProvider;
-
- private ViewerFilter _filter;
-
- /** The validation image */
- private Label _statusImage;
-
- /** The validation message */
- private Label _statusLabel;
-
- private String _statusMessage;
-
- // private IJavaProject _project;
- /** The selection tree */
- private TreeViewer _treeViewer;
-
- /**
- * @param parentShell
- * @param statusMessage
- */
- public TreeViewerSelectionDialog(Shell parentShell, String statusMessage) {
- super(parentShell);
- _statusMessage = statusMessage;
- // ? need SWT.RESIZE
- setShellStyle(getShellStyle());
- }
-
- /**
- * Returns a new drill down viewer for this dialog.
- * @param parent
- *
- */
- protected void createTreeViewer(Composite parent) {
- // Create drill down
- DrillDownComposite drillDown = new DrillDownComposite(parent,
- SWT.BORDER);
- GridData spec = new GridData(GridData.VERTICAL_ALIGN_FILL
- | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL
- | GridData.GRAB_VERTICAL);
- spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
- spec.heightHint = SIZING_SELECTION_PANE_HEIGHT;
- drillDown.setLayoutData(spec);
- _treeViewer = new TreeViewer(drillDown, SWT.NONE);
- drillDown.setChildTree(_treeViewer);
- }
-
- private void setTreeViewerProviders() {
- _treeViewer.setContentProvider(_contentProvider);
- _treeViewer.setLabelProvider(_labelProvider);
- _treeViewer.setSorter(new ViewerSorter());
- _treeViewer
- .addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- _selection = getSelectedElement((IStructuredSelection) event
- .getSelection());
- updateStatus();
- }
- });
- _treeViewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- ISelection selection = event.getSelection();
- if (selection instanceof IStructuredSelection) {
- Object item = ((IStructuredSelection) selection)
- .getFirstElement();
- if (_treeViewer.getExpandedState(item)) {
- _treeViewer.collapseToLevel(item, 1);
- } else {
- _treeViewer.expandToLevel(item, 1);
- }
- }
- }
- });
- _treeViewer.setInput(findInputElement());
-
- if (_filter != null) {
- // Assert.isLegal(_contentProvider instanceof
- // StandardJavaElementContentProvider);
- _treeViewer.addFilter(_filter);
- }
-
- }
-
- /**
- * Creates the contents of the composite.
- * @param parent
- */
- public void createTreeViewerComposite(Composite parent) {
- Composite treeViewerComposite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- treeViewerComposite.setLayout(layout);
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.horizontalSpan = 2;
- treeViewerComposite.setLayoutData(gridData);
- Label label = new Label(treeViewerComposite, SWT.WRAP);
- label.setText(_title);
- label.setFont(treeViewerComposite.getFont());
- createTreeViewer(treeViewerComposite);
- Dialog.applyDialogFont(treeViewerComposite);
- }
-
- /**
- * Sets the selected existing container.
- *
- * @param selection -
- * the current selected container.
- */
- public void setSelectedElement(Object selection) {
- // Expand to and select the specified container
- if (_selection != null) {
- _treeViewer.expandToLevel(_selection, 1);
- }
- List itemsToExpand = new ArrayList();
- Object parent = _contentProvider.getParent(selection);
- if (parent == null) {
- return;
- }
- while (parent != null) {
- itemsToExpand.add(0, parent);
- parent = _contentProvider.getParent(parent);
- }
- _treeViewer.setExpandedElements(itemsToExpand.toArray());
- _treeViewer.setSelection(new StructuredSelection(selection), true);
- }
-
- /*
- * (non-Javadoc) Method declared on Dialog.
- */
- protected Control createDialogArea(Composite parent) {
- Composite area = (Composite) super.createDialogArea(parent);
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- area.setLayout(gridLayout);
-
- // Container treeviewer composite
- createTreeViewerComposite(area);
-
- _statusImage = SWTUtils.createLabelImage(area,
- getMessageImage(STYLE_ERROR), 1, null);
- _statusLabel = SWTUtils.createLabel(area, "", 1); //$NON-NLS-1$
- // Link to model
- setTreeViewerProviders();
-
- return dialogArea;
- }
-
- private Object getSelectedElement(IStructuredSelection selection) {
- return selection.getFirstElement();
- }
-
- /**
- * @param provider
- * The _contentProvider to set.
- */
- public void setContentProvider(ITreeContentProvider provider) {
- _contentProvider = provider;
- }
-
- /**
- * @param provider
- * The _labelProvider to set.
- */
- public void setLabelProvider(ILabelProvider provider) {
- _labelProvider = provider;
- }
-
- /**
- * @param filter
- * The _filter to set.
- */
- public void setFilter(ViewerFilter filter) {
- this._filter = filter;
- }
-
-
- /**
- * Update the status message
- */
- private void updateStatus() {
- if (isValidSelection(_selection)) {
- _statusImage.setImage(getMessageImage(STYLE_NONE));
- _statusLabel.setText(""); //$NON-NLS-1$
- getOkButton().setEnabled(true);
- } else {
- _statusImage.setImage(getMessageImage(STYLE_ERROR));
- _statusLabel.setText(_statusMessage);
- getOkButton().setEnabled(false);
- }
- }
-
- /**
- * Get the different message according the message type.
- *
- * @param imageType
- *
- * @return Image - the message image
- */
- protected Image getMessageImage(int imageType) {
- switch (imageType) {
- case STYLE_ERROR:
- return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_ERROR);
- case STYLE_WARNING:
- return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_WARNING);
- case STYLE_INFORMATION:
- return JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_INFO);
- default:
- return null;
- }
- }
-
- /**
- * The <code>ContainerSelectionDialog</code> implementation of this
- * <code>Dialog</code> method builds a list of the selected resource
- * containers for later retrieval by the client and closes this dialog.
- */
- protected void okPressed() {
- List chosenContainerPathList = new ArrayList();
- if (_selection != null) {
- chosenContainerPathList.add(_selection);
- }
- setResult(chosenContainerPathList);
- super.okPressed();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
- */
- protected Control createContents(Composite parent) {
- Control control = super.createContents(parent);
- if (_selection != null) {
- this.setSelectedElement(_selection);
- }
- return control;
- }
-
- /**
- * @param selection
- * @return true if the selection is valid
- */
- protected abstract boolean isValidSelection(Object selection);
-
- /**
- * @return the input element
- */
- protected abstract Object findInputElement();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/NestedEditorActionBarContributor.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/NestedEditorActionBarContributor.java
deleted file mode 100644
index 2e0a2c0e0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/NestedEditorActionBarContributor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common.sash;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-
-/**
- * This contributor should be used when a SashEditor is inside a multipage
- * editor.
- *
- * @author mengbo
- * @version 1.5
- */
-public abstract class NestedEditorActionBarContributor extends
- MultiPageEditorActionBarContributor {
- /**
- * Child class should not override this method.
- */
- public final void setActivePage(IEditorPart activeEditor) {
- if (activeEditor instanceof SashEditorPart) {
- activeEditor = ((SashEditorPart) activeEditor).getActiveEditor();
- }
-
- setInnerActivePage(activeEditor);
- }
-
- /**
- * Child class should override this method
- *
- * @param activeEditor
- */
- public abstract void setInnerActivePage(IEditorPart activeEditor);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorPart.java
deleted file mode 100644
index ddaf59217..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorPart.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common.sash;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.jsf.common.ui.internal.guiutils.SWTUtils;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.INestableKeyBindingService;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.part.MultiPageEditorSite;
-
-/**
- * This class emulates the MultiPageEditorPart. But instead of using multipage,
- * it use SashForm to separate the editors.
- *
- * @author mengbo
- */
-public abstract class SashEditorPart extends EditorPart {
- private int _orientation = SWT.VERTICAL;
-
- private SashForm _sashForm;
-
- /**
- * List of nested editors. Element type: IEditorPart. Need to hang onto them
- * here, in addition to using get/setData on the items, because dispose()
- * needs to access them, but widgetry has already been disposed at that
- * point.
- */
- private ArrayList _nestedEditors = new ArrayList(3);
-
- private Map _editorToComposite = new HashMap();
-
- private IEditorPart _activeEditor = null;
-
- /**
- * Creates and adds a new page containing the given editor to this
- * multi-page editor. The page is added at the given index. This also hooks
- * a property change listener on the nested editor.
- *
- * @param editor
- * the nested editor
- * @param input
- * the input for the nested editor
- * @exception PartInitException
- * if a new page could not be created
- * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int) the handler for
- * property change events from the nested editor
- */
- public void addPage(final IEditorPart editor, IEditorInput input)
- throws PartInitException {
- IEditorSite site = createSite(editor);
- // call init first so that if an exception is thrown, we have created no
- // new widgets
- editor.init(site, input);
- final Composite parent1 = new Composite(getContainer(), SWT.NONE);
- FillLayout fillLayout = new FillLayout();
- fillLayout.marginWidth = fillLayout.marginHeight = 1;
- parent1.setLayout(fillLayout);
-
- parent1.addListener(SWT.Activate, new Listener() {
- public void handleEvent(Event event) {
- if (event.type == SWT.Activate) {
- activeEditorChanged(editor);
- parent1.setBackground(ColorConstants.green);
- }
- }
- });
- parent1.addListener(SWT.Deactivate, new Listener() {
- public void handleEvent(Event event) {
- parent1.setBackground(ColorConstants.titleInactiveBackground);
- }
- });
- SWTUtils.workaroundResize(parent1);
- editor.createPartControl(parent1);
- editor.addPropertyListener(new IPropertyListener() {
- public void propertyChanged(Object source, int propertyId) {
- SashEditorPart.this.handlePropertyChange(propertyId);
- }
- });
-
- _nestedEditors.add(editor);
- _editorToComposite.put(editor, parent1);
-
- connectPage(editor);
- }
-
- /**
- * @param editor
- */
- protected void connectPage(IEditorPart editor) {
- ISelectionProvider editSelectionProvider = editor.getSite()
- .getSelectionProvider();
- if (editSelectionProvider instanceof IPostSelectionProvider) {
- ((IPostSelectionProvider) editSelectionProvider)
- .addPostSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- ((SashEditorSelectionProvider) getSite()
- .getSelectionProvider())
- .firePostSelectionChanged(event);
- }
- });
- } else {
- editSelectionProvider
- .addSelectionChangedListener(new ISelectionChangedListener() {
-
- public void selectionChanged(SelectionChangedEvent event) {
- ((SashEditorSelectionProvider) getSite()
- .getSelectionProvider())
- .fireSelectionChanged(event);
- }
- });
- }
- }
-
- /**
- * Creates an empty container. Creates a CTabFolder with no style bits set,
- * and hooks a selection listener which calls <code>pageChange()</code>
- * whenever the selected tab changes.
- *
- * @param parent
- * The composite in which the container tab folder should be
- * created; must not be <code>null</code>.
- * @return a new container
- */
- private SashForm createContainer(Composite parent) {
- // use SWT.FLAT style so that an extra 1 pixel border is not reserved
- // inside the folder
- SashForm newContainer = new SashForm(parent, SWT.NONE);
- SWTUtils.workaroundResize(newContainer);
- newContainer.setOrientation(_orientation);
- return newContainer;
- }
-
- /**
- * @throws PartInitException
- */
- abstract protected void createPages() throws PartInitException;
-
- /**
- * The <code>MultiPageEditor</code> implementation of this
- * <code>IWorkbenchPart</code> method creates the control for the
- * multi-page editor by calling <code>createContainer</code>, then
- * <code>createPages</code>. Subclasses should implement
- * <code>createPages</code> rather than overriding this method.
- *
- * @param parent
- * The parent in which the editor should be created; must not be
- * <code>null</code>.
- */
- public final void createPartControl(Composite parent) {
- this._sashForm = createContainer(parent);
-
- try {
- createPages();
- } catch (PartInitException ex) {
- ex.printStackTrace();
- }
- // set the active page (page 0 by default), unless it has already been
- // done
- if (getActiveEditor() == null) {
- if (!_nestedEditors.isEmpty()) {
- setActiveEditor((IEditorPart) _nestedEditors.get(0));
- }
- }
- }
-
- /**
- * Creates the site for the given nested editor. The
- * <code>MultiPageEditorPart</code> implementation of this method creates
- * an instance of <code>MultiPageEditorSite</code>. Subclasses may
- * reimplement to create more specialized sites.
- *
- * @param editor
- * the nested editor
- * @return the editor site
- */
- protected IEditorSite createSite(IEditorPart editor) {
- return new SashEditorSite(this, editor);
- }
-
- /**
- * The <code>MultiPageEditorPart</code> implementation of this
- * <code>IWorkbenchPart</code> method disposes all nested editors.
- * Subclasses may extend.
- */
- public void dispose() {
- _activeEditor = null;
- for (int i = 0; i < _nestedEditors.size(); ++i) {
- IEditorPart editor = (IEditorPart) _nestedEditors.get(i);
- disposePart(editor);
- }
- _nestedEditors.clear();
- _editorToComposite.clear();
- }
-
- /**
- * Returns the active nested editor if there is one.
- * <p>
- * Subclasses should not override this method
- * </p>
- *
- * @return the active nested editor, or <code>null</code> if none
- */
- public IEditorPart getActiveEditor() {
- return _activeEditor;
- }
-
- /**
- * Returns the composite control containing this multi-page editor's pages.
- * This should be used as the parent when creating controls for the
- * individual pages. That is, when calling <code>addPage(Control)</code>,
- * the passed control should be a child of this container.
- * <p>
- * Warning: Clients should not assume that the container is any particular
- * subclass of Composite. The actual class used may change in order to
- * improve the look and feel of multi-page editors. Any code making
- * assumptions on the particular subclass would thus be broken.
- * </p>
- * <p>
- * Subclasses should not override this method
- * </p>
- *
- * @return the composite, or <code>null</code> if
- * <code>createPartControl</code> has not been called yet
- */
- protected Composite getContainer() {
- return _sashForm;
- }
-
- /**
- * Returns the editor for the given page index. The page index must be
- * valid.
- *
- * @param pageIndex
- * the index of the page
- * @return the editor for the specified page, or <code>null</code> if the
- * specified page was not created with
- * <code>addPage(IEditorPart,IEditorInput)</code>
- */
- protected IEditorPart getEditor(int pageIndex) {
- return (IEditorPart) _nestedEditors.get(pageIndex);
- }
-
- /**
- * Handles a property change notification from a nested editor. The default
- * implementation simply forwards the change to listeners on this multi-page
- * editor by calling <code>firePropertyChange</code> with the same
- * property id. For example, if the dirty state of a nested editor changes
- * (property id <code>IEditorPart.PROP_DIRTY</code>), this method handles
- * it by firing a property change event for
- * <code>IEditorPart.PROP_DIRTY</code> to property listeners on this
- * multi-page editor.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- *
- * @param propertyId
- * the id of the property that changed
- */
- protected void handlePropertyChange(int propertyId) {
- firePropertyChange(propertyId);
- }
-
- /**
- * The <code>MultiPageEditorPart</code> implementation of this
- * <code>IEditorPart</code> method sets its site to the given site, its
- * input to the given input, and the site's selection provider to a
- * <code>MultiPageSelectionProvider</code>. Subclasses may extend this
- * method.
- *
- * @param site
- * The site for which this part is being created; must not be
- * <code>null</code>.
- * @param input
- * The input on which this editor should be created; must not be
- * <code>null</code>.
- * @throws PartInitException
- * If the initialization of the part fails -- currently never.
- */
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- setSite(site);
- setInput(input);
- site.setSelectionProvider(new SashEditorSelectionProvider(this));
- }
-
- /**
- * The <code>MultiPageEditorPart</code> implementation of this
- * <code>IEditorPart</code> method returns whether the contents of any of
- * this multi-page editor's nested editors have changed since the last save.
- * Pages created with <code>addPage(Control)</code> are ignored.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- *
- * @return <code>true</code> if any of the nested editors are dirty;
- * <code>false</code> otherwise.
- */
- public boolean isDirty() {
- // use nestedEditors to avoid SWT requests; see bug 12996
- for (Iterator i = _nestedEditors.iterator(); i.hasNext();) {
- IEditorPart editor = (IEditorPart) i.next();
- if (editor.isDirty()) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * 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.
- * <p>
- * The <code>MultiPageEditorPart</code> implementation of this method sets
- * focus to the new page, and notifies the action bar contributor (if there
- * is one). This checks whether the action bar contributor is an instance of
- * <code>MultiPageEditorActionBarContributor</code>, and, if so, calls
- * <code>setActivePage</code> with the active nested editor. This also
- * fires a selection change event if required.
- * </p>
- * <p>
- * Subclasses may extend this method.
- * </p>
- * @param activeEditor
- *
- */
- protected void activeEditorChanged(IEditorPart activeEditor) {
- setActiveEditor(activeEditor);
- setFocus();
-
- IEditorSite site = getEditorSite();
- while (site != null) {
- IEditorActionBarContributor contributor = site
- .getActionBarContributor();
- if (contributor instanceof MultiPageEditorActionBarContributor) {
- ((MultiPageEditorActionBarContributor) contributor)
- .setActivePage(activeEditor);
- }
- if (site instanceof MultiPageEditorSite) {
- site = (IEditorSite) ((MultiPageEditorSite) site)
- .getMultiPageEditor().getSite();
- } else if (site instanceof SashEditorSite) {
- site = (IEditorSite) ((SashEditorSite) site).getSashEditor()
- .getSite();
- } else {
- site = null;
- }
- }
-
- if (activeEditor != null) {
- // Workaround for 1GAUS7C: ITPUI:ALL - Editor not activated when
- // restored from previous session
- // do not need second if once fixed
- ISelectionProvider selectionProvider = activeEditor.getSite()
- .getSelectionProvider();
- if (selectionProvider != null) {
- SelectionChangedEvent event = new SelectionChangedEvent(
- selectionProvider, selectionProvider.getSelection());
- ((SashEditorSelectionProvider) getSite().getSelectionProvider())
- .fireSelectionChanged(event);
- }
- }
- }
-
- /**
- * Disposes the given part and its site.
- *
- * @param part
- * The part to dispose; must not be <code>null</code>.
- */
- private void disposePart(final IWorkbenchPart part) {
- SafeRunner.run(new SafeRunnable() {
- public void run() {
- if (part.getSite() instanceof SashEditorSite) {
- SashEditorSite partSite = (SashEditorSite) part.getSite();
- partSite.dispose();
- }
- part.dispose();
- }
-
- public void handleException(Throwable e) {
- // Exception has already being logged by Core. Do nothing.
- }
- });
- }
-
- /**
- * Sets the currently active page.
- * @param part
- *
- */
- protected void setActiveEditor(IEditorPart part) {
- _activeEditor = part;
- }
-
- /**
- * The <code>MultiPageEditor</code> implementation of this
- * <code>IWorkbenchPart</code> method sets focus on the active nested
- * editor, if there is one.
- * <p>
- * Subclasses may extend or reimplement.
- * </p>
- */
- public void setFocus() {
- setFocus(getActiveEditor());
- }
-
- /**
- * Sets focus to the control for the given page. If the page has an editor,
- * this calls its <code>setFocus()</code> method. Otherwise, this calls
- * <code>setFocus</code> on the control for the page.
- *
- * @param pageIndex
- * the index of the page
- */
- private void setFocus(IEditorPart editor) {
- final IKeyBindingService service = getSite().getKeyBindingService();
-
- if (editor == null) {
- // There is no selected page, so deactivate the active service.
- if (service instanceof INestableKeyBindingService) {
- final INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
- nestableService.activateKeyBindingService(null);
- } else {
- //WorkbenchPlugin
- PDPlugin
- .getLogger(getClass()).error("MultiPageEditorPart.setFocus() Parent key binding service was not an instance of INestableKeyBindingService. It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
- editor.setFocus();
- // There is no selected page, so deactivate the active service.
- if (service instanceof INestableKeyBindingService) {
- final INestableKeyBindingService nestableService = (INestableKeyBindingService) service;
- if (editor != null) {
- nestableService.activateKeyBindingService(editor
- .getEditorSite());
- } else {
- nestableService.activateKeyBindingService(null);
- }
- } else {
- PDPlugin
- .getLogger(getClass()).error("MultiPageEditorPart.setFocus() Parent key binding service was not an instance of INestableKeyBindingService. It was an instance of " + service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public void doSave(IProgressMonitor monitor) {
- if (_activeEditor != null) {
- _activeEditor.doSave(monitor);
- }
- }
-
- public void doSaveAs() {
- if (_activeEditor != null) {
- _activeEditor.doSaveAs();
- }
-
- }
-
- public boolean isSaveAsAllowed() {
- if (_activeEditor != null)
- {
- return _activeEditor.isSaveAsAllowed();
- }
- return false;
- }
-
- /**
- * @param orientation
- */
- public void setOrientation(int orientation) {
- this._orientation = orientation;
- if (_sashForm != null && !_sashForm.isDisposed()) {
- _sashForm.setMaximizedControl(null);
- _sashForm.setOrientation(_orientation);
- }
- }
-
- /**
- * @param part
- */
- public void setMaximizedEditor(IEditorPart part) {
- if (part != null) {
- Composite c = (Composite) _editorToComposite.get(part);
- if (c != null && _sashForm != null && !_sashForm.isDisposed()) {
- _sashForm.setMaximizedControl(c);
- part.setFocus();
- }
- } else {
- if (_sashForm != null && !_sashForm.isDisposed()) {
- _sashForm.setMaximizedControl(null);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSelectionProvider.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSelectionProvider.java
deleted file mode 100644
index 2f47aaa60..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSelectionProvider.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common.sash;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * @author mengbo
- */
-public class SashEditorSelectionProvider implements IPostSelectionProvider {
-
- /**
- * Registered selection changed listeners (element type:
- * <code>ISelectionChangedListener</code>).
- */
- private ListenerList _listeners = new ListenerList(ListenerList.IDENTITY);
-
- private ListenerList _postSelectionChangedListeners = new ListenerList(ListenerList.IDENTITY);
-
- /**
- * The multi-page editor.
- */
- private SashEditorPart _sashEditor;
-
- /**
- * Creates a selection provider for the given multi-page editor.
- *
- * @param sashEditor
- * the multi-page editor
- */
- public SashEditorSelectionProvider(SashEditorPart sashEditor) {
- Assert.isNotNull(sashEditor);
- this._sashEditor = sashEditor;
- }
-
- /*
- * (non-Javadoc) Method declared on <code>ISelectionProvider</code>.
- */
- public void addSelectionChangedListener(ISelectionChangedListener listener) {
- _listeners.add(listener);
- }
-
- /**
- * Notifies all registered selection changed listeners that the editor's
- * selection has changed. Only listeners registered at the time this method
- * is called are notified.
- *
- * @param event
- * the selection changed event
- */
- public void fireSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = this._listeners.getListeners();
- for (int i = 0; i < listeners.length; ++i) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunner.run(new SafeRunnable() {
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-
- /**
- * Returns the sash editor.
- * @return the sash editor part
- */
- public SashEditorPart getSashEditor() {
- return _sashEditor;
- }
-
- /*
- * (non-Javadoc) Method declared on <code>ISelectionProvider</code>.
- */
- public ISelection getSelection() {
- IEditorPart activeEditor = _sashEditor.getActiveEditor();
- if (activeEditor != null) {
- ISelectionProvider selectionProvider = activeEditor.getSite()
- .getSelectionProvider();
- if (selectionProvider != null)
- return selectionProvider.getSelection();
- }
- return null;
- }
-
- /*
- * (non-JavaDoc) Method declaed on <code>ISelectionProvider</code>.
- */
- public void removeSelectionChangedListener(
- ISelectionChangedListener listener) {
- _listeners.remove(listener);
- }
-
- /*
- * (non-Javadoc) Method declared on <code>ISelectionProvider</code>.
- */
- public void setSelection(ISelection selection) {
- IEditorPart activeEditor = _sashEditor.getActiveEditor();
- if (activeEditor != null) {
- ISelectionProvider selectionProvider = activeEditor.getSite()
- .getSelectionProvider();
- if (selectionProvider != null)
- selectionProvider.setSelection(selection);
- }
- }
-
- public void addPostSelectionChangedListener(
- ISelectionChangedListener listener) {
- _postSelectionChangedListeners.add(listener);
- }
-
- public void removePostSelectionChangedListener(
- ISelectionChangedListener listener) {
- _postSelectionChangedListeners.remove(listener);
- }
-
- /**
- * Notifies any post selection listeners that a post selection event has
- * been received. Only listeners registered at the time this method is
- * called are notified.
- *
- * @param event
- * a selection changed event
- *
- * @see #addPostSelectionChangedListener(ISelectionChangedListener)
- */
- public void firePostSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = _postSelectionChangedListeners.getListeners();
- for (int i = 0; i < listeners.length; ++i) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunnable.run(new SafeRunnable() {
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSite.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSite.java
deleted file mode 100644
index 455840415..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSite.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.common.sash;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IKeyBindingService;
-import org.eclipse.ui.INestableKeyBindingService;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-//import org.eclipse.ui.internal.PopupMenuExtender;
-
-/**
- * @author mengbo
- */
-public class SashEditorSite implements IEditorSite {
-
- /**
- * The nested editor.
- */
- private IEditorPart _editor;
-
- /**
- * The multi-page editor.
- */
- private SashEditorPart _sashEditor;
-
- /**
- * The selection provider; <code>null</code> if none.
- *
- * @see SashEditorSite#setSelectionProvider(ISelectionProvider)
- */
- private ISelectionProvider _selectionProvider = null;
-
- /**
- * The selection change listener, initialized lazily; <code>null</code> if
- * not yet created.
- */
- private ISelectionChangedListener _selectionChangedListener = null;
-
- /**
- * The cached copy of the key binding service specific to this sash editor
- * site. This value is <code>null</code> if it is not yet initialized.
- */
- private IKeyBindingService _service = null;
-
- /**
- * The list of popup menu extenders; <code>null</code> if none registered.
- */
- // TODO: dead? private ArrayList _menuExtenders;
-
- /**
- * Creates a site for the given editor nested within the given multi-page
- * editor.
- *
- * @param sashEditor
- * the multi-page editor
- * @param editor
- * the nested editor
- */
- public SashEditorSite(SashEditorPart sashEditor, IEditorPart editor) {
- Assert.isNotNull(sashEditor);
- Assert.isNotNull(editor);
- this._sashEditor = sashEditor;
- this._editor = editor;
- }
-
- /**
- * Dispose the contributions.
- */
- public void dispose() {
-// if (_menuExtenders != null) {
-// for (int i = 0, size = _menuExtenders.size(); i < size; i++) {
-// ((PopupMenuExtender) _menuExtenders.get(i)).dispose();
-// }
-// _menuExtenders = null;
-// }
-
- // Remove myself from the list of nested key binding services.
- if (_service != null) {
- IKeyBindingService parentService = getEditor().getSite()
- .getKeyBindingService();
- if (parentService instanceof INestableKeyBindingService) {
- INestableKeyBindingService nestableParent = (INestableKeyBindingService) parentService;
- nestableParent.removeKeyBindingService(this);
- }
- _service = null;
- }
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IEditorSite</code> method returns <code>null</code>, since
- * nested editors do not have their own action bar contributor.
- *
- * @return <code>null</code>
- */
- public IEditorActionBarContributor getActionBarContributor() {
- return null;
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IEditorSite</code> method forwards to the multi-page editor to
- * return the action bars.
- *
- * @return The action bars from the parent multi-page editor.
- */
- public IActionBars getActionBars() {
- return _sashEditor.getEditorSite().getActionBars();
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor to return the decorator manager.
- *
- * @return The decorator from the workbench window.
- * @deprecated use IWorkbench.getDecoratorManager()
- */
- public ILabelDecorator getDecoratorManager() {
- return getWorkbenchWindow().getWorkbench().getDecoratorManager()
- .getLabelDecorator();
- }
-
- /**
- * Returns the nested editor.
- *
- * @return the nested editor
- */
- public IEditorPart getEditor() {
- return _editor;
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method returns an empty string since
- * the nested editor is not created from the registry.
- *
- * @return An empty string.
- */
- public String getId() {
- return ""; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc) Method declared on IEditorSite.
- */
- public IKeyBindingService getKeyBindingService() {
- if (_service == null) {
- _service = getSashEditor().getEditorSite().getKeyBindingService();
- if (_service instanceof INestableKeyBindingService) {
- INestableKeyBindingService nestableService = (INestableKeyBindingService) _service;
- _service = nestableService.getKeyBindingService(this);
-
- } else {
- /*
- * This is an internal reference, and should not be copied by
- * client code. If you are thinking of copying this, DON'T DO
- * IT.
- */
- PDPlugin
- .getLogger(SashEditorSite.class)
- .info(
- "MultiPageEditorSite.getKeyBindingService() Parent key binding service was not an instance of INestableKeyBindingService. It was an instance of " + _service.getClass().getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- return _service;
- }
-
- /**
- * Returns the sash editor.
- *
- * @return the sash editor
- */
- public SashEditorPart getSashEditor() {
- return _sashEditor;
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor to return the workbench page.
- *
- * @return The workbench page in which this editor site resides.
- */
- public IWorkbenchPage getPage() {
- return getSashEditor().getSite().getPage();
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method returns an empty string since
- * the nested editor is not created from the registry.
- *
- * @return An empty string.
- */
- public String getPluginId() {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method returns an empty string since
- * the nested editor is not created from the registry.
- *
- * @return An empty string.
- */
- public String getRegisteredName() {
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns the selection changed listener which listens to the nested
- * editor's selection changes, and calls <code>handleSelectionChanged</code>.
- *
- * @return the selection changed listener
- */
- private ISelectionChangedListener getSelectionChangedListener() {
- if (_selectionChangedListener == null) {
- _selectionChangedListener = new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- SashEditorSite.this.handleSelectionChanged(event);
- }
- };
- }
- return _selectionChangedListener;
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method returns the selection provider
- * set by <code>setSelectionProvider</code>.
- *
- * @return The current selection provider.
- */
- public ISelectionProvider getSelectionProvider() {
- return _selectionProvider;
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor to return the shell.
- *
- * @return The shell in which this editor site resides.
- */
- public Shell getShell() {
- return getSashEditor().getSite().getShell();
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor to return the workbench window.
- *
- * @return The workbench window in which this editor site resides.
- */
- public IWorkbenchWindow getWorkbenchWindow() {
- return getSashEditor().getSite().getWorkbenchWindow();
- }
-
- /**
- * Handles a selection changed event from the nested editor. The default
- * implementation gets the selection provider from the multi-page editor's
- * site, and calls <code>fireSelectionChanged</code> on it (only if it is
- * an instance of <code>SashSelectionProvider</code>), passing a new
- * event object.
- * <p>
- * Subclasses may extend or reimplement this method.
- * </p>
- *
- * @param event
- * the event
- */
- public void handleSelectionChanged(SelectionChangedEvent event) {
- // we'll only make the parent editor site fire the selection change
- // event
- // when we (the sasheditorsite) is the active editor in the parent site.
- if (getSashEditor().getActiveEditor() == this.getPart()) {
- ISelectionProvider parentProvider = getSashEditor().getSite()
- .getSelectionProvider();
- if (parentProvider instanceof SashEditorSelectionProvider) {
- SelectionChangedEvent newEvent = new SelectionChangedEvent(
- parentProvider, event.getSelection());
- ((SashEditorSelectionProvider) parentProvider)
- .fireSelectionChanged(newEvent);
- }
- }
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor for registration.
- *
- * @param menuID
- * The identifier for the menu.
- * @param menuMgr
- * The menu manager
- * @param selProvider
- * The selection provider.
- */
- public void registerContextMenu(String menuID, MenuManager menuMgr,
- ISelectionProvider selProvider) {
-// if (_menuExtenders == null) {
-// _menuExtenders = new ArrayList(1);
-// }
- // cancel the registration of PopupMenuExtender since the
- // PopupMenuExtender's behavior
- // is different between eclipse 3.0 and eclipse 3.1,and we always have
- // one context
- // menu listener,no need add PopupMenuExtender as the second
- // listener(workaroud for bug 408295-1)
- // _menuExtenders.add(new PopupMenuExtender(menuID, menuMgr,
- // selProvider,
- // _editor));
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method forwards to the multi-page
- * editor for registration.
- *
- * @param menuManager
- * The menu manager
- * @param selProvider
- * The selection provider.
- */
- public void registerContextMenu(MenuManager menuManager,
- ISelectionProvider selProvider) {
- getSashEditor().getSite().registerContextMenu(menuManager, selProvider);
- }
-
- /**
- * The <code>SashEditorSite</code> implementation of this
- * <code>IWorkbenchPartSite</code> method remembers the selection
- * provider, and also hooks a listener on it, which calls
- * <code>handleSelectionChanged</code> when a selection changed event
- * occurs.
- *
- * @param provider
- * The selection provider.
- * @see SashEditorSite#handleSelectionChanged(SelectionChangedEvent)
- */
- public void setSelectionProvider(ISelectionProvider provider) {
- ISelectionProvider oldSelectionProvider = _selectionProvider;
- _selectionProvider = provider;
- if (oldSelectionProvider != null) {
- oldSelectionProvider
- .removeSelectionChangedListener(getSelectionChangedListener());
- }
- if (_selectionProvider != null) {
- _selectionProvider
- .addSelectionChangedListener(getSelectionChangedListener());
- }
- }
-
- /**
- * @param job
- */
- public void progressEnd(Job job) {
- // Do nothing
- }
-
-
- /**
- * @param job
- */
- public void progressStart(Job job) {
- // Do nothing
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.IWorkbenchPartSite#getPart()
- */
- public IWorkbenchPart getPart() {
- return _editor;
- }
-
- public void registerContextMenu(MenuManager menuManager,
- ISelectionProvider selectionProvider, boolean includeEditorInput) {
- // do nothing
- }
-
- public void registerContextMenu(String menuId, MenuManager menuManager,
- ISelectionProvider selectionProvider, boolean includeEditorInput) {
- // do nothing
-
- }
-
- public Object getService(Class api) {
- // return null
- return null;
- }
-
- public boolean hasService(Class api) {
- // no service
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ClasspathResourceButtonDialogField.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ClasspathResourceButtonDialogField.java
deleted file mode 100644
index 61af63163..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ClasspathResourceButtonDialogField.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogfields;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StringButtonDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogs.ResourceOnClasspathDialog;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- */
-public class ClasspathResourceButtonDialogField extends StringButtonDialogField implements IElementContextable
-{
-
- private static final String[] PROPERTIES_FILES_SUFFIXS = new String[] { IFileFolderConstants.EXT_PROPERTIES };
-
- private static class MyStringButtonAdapter implements IStringButtonAdapter
- {
- private IProject _project;
-
- public void changeControlPressed(DialogField field) {
- browseButtonPressed(field);
- }
-
- private void browseButtonPressed(DialogField field)
- {
- if (field instanceof ClasspathResourceButtonDialogField)
- {
- ClasspathResourceButtonDialogField classPathField =
- (ClasspathResourceButtonDialogField) field;
- Shell shell = field.getShell();
- ResourceOnClasspathDialog dialog =
- new ResourceOnClasspathDialog(shell, getJavaProject());
- dialog.setTitle(JSFUICommonPlugin
- .getResourceString("DialogField.ResourceButton.SelectFile"));//$NON-NLS-1$
- dialog.setSuffixs(PROPERTIES_FILES_SUFFIXS);
- if (dialog.open() == Window.OK) {
- String oldValue = classPathField.getText();
-
- String newValue = (String) dialog.getResult()[0];
- if (oldValue != newValue) {
- classPathField.setText(newValue);
- }
- }
- }
- }
-
- private IJavaProject getJavaProject() {
- try {
- if (_project != null && _project.hasNature(JavaCore.NATURE_ID)) {
- return JavaCore.create(_project);
- }
- return null;
- } catch (CoreException e) {
- return null;
- }
- }
- }
-
- /**
-s */
- public ClasspathResourceButtonDialogField() {
- super(new MyStringButtonAdapter());
- }
-
- public void setElementContext(
- org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode ancester,
- IDOMElement element) {
- IProject prj = StructuredModelUtil.getProjectFor(ancester.getModel());
-
- IStringButtonAdapter adapter = getStringButtonAdapter();
-
- if (adapter instanceof MyStringButtonAdapter)
- {
- ((MyStringButtonAdapter)adapter)._project = prj;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ContextableResourceButtonDialogField.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ContextableResourceButtonDialogField.java
deleted file mode 100644
index a9e50ec14..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ContextableResourceButtonDialogField.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogfields;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ResourceButtonDialogField;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.jst.pagedesigner.utils.WebAppUtil;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ContextableResourceButtonDialogField extends
- ResourceButtonDialogField implements IElementContextable {
-
- /**
- * Default constructor
- */
- public ContextableResourceButtonDialogField() {
- super(null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable#setElementContext(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement)
- */
- public void setElementContext(IDOMNode ancester, IDOMElement element) {
- if (ancester == null) {
- setProject(null);
- setReferredFile(null);
- } else {
- IDOMModel model = ancester.getModel();
- IFile file = StructuredModelUtil.getFileFor(model);
- IProject prj = (file == null ? null : file.getProject());
- setProject(prj);
- setReferredFile(file);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ResourceButtonDialogField#browseButtonPressed()
- */
- protected String browseButtonPressed() {
- String url = super.browseButtonPressed();
- url = WebAppUtil.transformJSPURL(url, this.getReferredFile());
- return url;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/DialogFieldWrapper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/DialogFieldWrapper.java
deleted file mode 100644
index 4d1b16bbd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/DialogFieldWrapper.java
+++ /dev/null
@@ -1,480 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogfields;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldChangeListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.meta.IAttributeDescriptor;
-import org.eclipse.jst.pagedesigner.meta.IBindingHandler;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * This is a wrapper to a dialog field, by adding a small image button at the
- * end. The caller is responsible to provide the image and the button click
- * handler.
- *
- * @author mengbo
- * @version 1.5
- * @see org.eclipse.jst.pagedesigner.properties.celleditors.CellEditorWrapper
- */
-// NOTE: currently this class is dedicated to page designer by using the
-// IElementContextable interface.
-// It should be very easy to make it standard alone and reused in other places.
-@SuppressWarnings("deprecation")
-public class DialogFieldWrapper implements DialogField, ISupportTextValue,
- IElementContextable {
- private DialogField _wrapped;
-
- private IDOMNode _ancester;
-
- private IDOMElement _element;
-
- private Button _databindingButton;
-
- private boolean _databindingEnabled;
-
- private Image _image;
-
- private Image _disabledImage;
-
- private IStringButtonAdapter _adapter;
-
- private String _uri;
-
- private String _tagName;
-
- private IAttributeDescriptor _attr;
-
- private IBindingHandler _handler;
-
- private IPropertyPageDescriptor _pdattr;
-
- /**
- * @param field
- * @param image
- * @param disabledImage
- * @param uri
- * @param tagName
- * @param attr
- * @param handler
- *
- */
- public DialogFieldWrapper(DialogField field, Image image,
- Image disabledImage, String uri, String tagName,
- IAttributeDescriptor attr, IBindingHandler handler) {
- super();
- if (!(field instanceof ISupportTextValue)) {
- throw new IllegalArgumentException(
- "Field must be ISupportTextValue"); //$NON-NLS-1$
- }
- _wrapped = field;
- this._image = image;
- this._disabledImage = disabledImage;
- this._uri = uri;
- this._tagName = tagName;
- this._attr = attr;
- this._handler = handler;
-
- setDatabindingPressedHandler(new IStringButtonAdapter() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter#changeControlPressed(org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField)
- */
- public void changeControlPressed(DialogField field1) {
- Shell shell = field1.getLabelControl(null, null).getShell();
- DialogFieldWrapper wrapper = (DialogFieldWrapper) field1;
- String result = _handler
- .handleBinding(shell, wrapper.getAncester(), wrapper
- .getElement(), wrapper.getText());
- if (result != null) {
- wrapper.setText(result);
- }
- }
- });
- }
-
- /**
- * @param field
- * @param image
- * @param disabledImage
- * @param uri
- * @param tagName
- * @param attr
- * @param handler
- *
- */
- public DialogFieldWrapper(DialogField field, Image image,
- Image disabledImage, String uri, String tagName,
- IPropertyPageDescriptor attr, IBindingHandler handler) {
- super();
- if (!(field instanceof ISupportTextValue)) {
- throw new IllegalArgumentException(
- "Field must be ISupportTextValue"); //$NON-NLS-1$
- }
- _wrapped = field;
- this._image = image;
- this._disabledImage = disabledImage;
- this._uri = uri;
- this._tagName = tagName;
- this._pdattr = attr;
- this._handler = handler;
-
- setDatabindingPressedHandler(new IStringButtonAdapter() {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter#changeControlPressed(org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField)
- */
- public void changeControlPressed(DialogField field1) {
- Shell shell = field1.getLabelControl(null, null).getShell();
- DialogFieldWrapper wrapper = (DialogFieldWrapper) field1;
- String result = _handler
- .handleBinding(shell, wrapper.getAncester(), wrapper
- .getElement(), wrapper.getText());
- if (result != null) {
- wrapper.setText(result);
- }
- }
- });
- }
-
- private void setDatabindingPressedHandler(IStringButtonAdapter adapter) {
- this._adapter = adapter;
- this.updateDatabindingControl();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue#setTextWithoutUpdate(java.lang.String)
- */
- public void setTextWithoutUpdate(String value) {
- ((ISupportTextValue) _wrapped).setTextWithoutUpdate(value);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue#getText()
- */
- public String getText() {
- return ((ISupportTextValue) _wrapped).getText();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue#setText(java.lang.String)
- */
- public void setText(String value) {
- ((ISupportTextValue) _wrapped).setText(value);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable#setElementContext(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement)
- */
- public void setElementContext(IDOMNode ancester, IDOMElement element) {
- if (_wrapped instanceof IElementContextable) {
- ((IElementContextable) _wrapped).setElementContext(ancester,
- element);
- }
- this._ancester = ancester;
- this._element = element;
-
- boolean bindingEnabled = false;
-
- if (_attr != null)
- bindingEnabled = _handler.isEnabled(_ancester, _element, _uri,
- _tagName, _attr);
- else if (_pdattr != null)
- bindingEnabled = false;//_handler.isEnabled(_ancester, _element, _pdattr);
-
- this.setDatabindingEnabled(bindingEnabled);
- }
-
- // --------------------------------------------------------------------------------------------
- // wrapped method to add the data binding browse button
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField#doFillIntoGrid(org.eclipse.ui.forms.widgets.FormToolkit,
- * org.eclipse.swt.widgets.Composite, int)
- */
- public Control[] doFillIntoGrid(FormToolkit toolkit, Composite parent,
- int nColumns) {
- Control[] wrappedControls = _wrapped.doFillIntoGrid(toolkit, parent,
- nColumns - 1);
- Control[] result = new Control[wrappedControls.length];
-
- Control button = getDatabingingButton(toolkit, parent);
- button.setLayoutData(gridDataForDatabindingButton(1));
- button.setVisible(false);
-
- System.arraycopy(wrappedControls, 0, result, 0, wrappedControls.length);
- result[result.length - 1] = _databindingButton;
- return result;
- }
-
- /**
- * @param span
- * @return
- */
- private GridData gridDataForDatabindingButton(int span) {
- GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.horizontalSpan = span;
- gd.widthHint = gd.heightHint = 18;
- return gd;
- }
-
- /**
- * @param toolkit
- * @param parent
- * @return
- */
- private Control getDatabingingButton(FormToolkit toolkit, Composite parent) {
- if (_databindingButton == null || _databindingButton.isDisposed()) {
- Assert.isNotNull(parent,
- "uncreated control requested with composite null"); //$NON-NLS-1$
- if (toolkit != null) {
- _databindingButton = toolkit.createButton(parent, "", SWT.PUSH); //$NON-NLS-1$
- _databindingButton.setImage(getImage());
- } else {
- _databindingButton = new Button(parent, SWT.PUSH);
- _databindingButton.setImage(getImage());
- }
- _databindingButton.addPaintListener(new PaintListener() {
- public void paintControl(PaintEvent e) {
- if (!_databindingButton.isEnabled()
- && getDisabledImage() != null) {
- Rectangle buttonBounds = _databindingButton.getBounds();
- Rectangle imageBounds = getDisabledImage().getBounds();
- e.gc.drawImage(getDisabledImage(),
- (buttonBounds.width - imageBounds.width) / 2,
- (buttonBounds.height - imageBounds.height) / 2);
- }
- }
- });
- _databindingButton.setEnabled(isEnabled() && _databindingEnabled);
- _databindingButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- databindingControlPressed();
- }
-
- public void widgetSelected(SelectionEvent e) {
- databindingControlPressed();
- }
- });
-
- }
- return _databindingButton;
- }
-
- /**
- * @return
- */
- private Image getImage() {
- return _image;
- }
-
- private Image getDisabledImage() {
- return _disabledImage;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField#getLabelControl(org.eclipse.ui.forms.widgets.FormToolkit,
- * org.eclipse.swt.widgets.Composite)
- */
- public Control getLabelControl(FormToolkit _formToolkit, Composite parent) {
- return _wrapped.getLabelControl(_formToolkit, parent);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setHyperLink(org.eclipse.ui.forms.events.IHyperlinkListener)
- */
- public void setHyperLink(IHyperlinkListener listener) {
- _wrapped.setHyperLink(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setLabelText(java.lang.String)
- */
- public void setLabelText(String labeltext) {
- _wrapped.setLabelText(labeltext);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setDialogFieldChangeListener(org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldChangeListener)
- */
- public void setDialogFieldChangeListener(IDialogFieldChangeListener listener) {
- _wrapped.setDialogFieldChangeListener(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setDialogFieldApplyListener(org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener)
- */
- public void setDialogFieldApplyListener(IDialogFieldApplyListener listener) {
- _wrapped.setDialogFieldApplyListener(listener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setFocus()
- */
- public boolean setFocus() {
- return _wrapped.setFocus();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#getNumberOfControls()
- */
- public int getNumberOfControls() {
- return _wrapped.getNumberOfControls() + 1;
- }
-
- /**
- * @param enabled
- */
- public void setDatabindingEnabled(boolean enabled) {
- this._databindingEnabled = enabled;
- updateDatabindingControl();
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#setEnabled(boolean)
- */
- public void setEnabled(boolean enabled) {
- _wrapped.setEnabled(enabled);
- updateDatabindingControl();
- }
-
- /**
- *
- */
- private void updateDatabindingControl() {
- if (this._databindingButton != null && !_databindingButton.isDisposed()) {
- this._databindingButton.setEnabled(this.isEnabled()
- && _databindingEnabled && _adapter != null);
- _databindingButton.redraw();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#isEnabled()
- */
- public boolean isEnabled() {
- return _wrapped.isEnabled();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#getAttachedData(java.lang.Object)
- */
- public Object getAttachedData(Object key) {
- return _wrapped.getAttachedData(key);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogField#putAttachedData(java.lang.Object,
- * java.lang.Object)
- */
- public void putAttachedData(Object key, Object value) {
- _wrapped.putAttachedData(key, value);
- }
-
- private void databindingControlPressed() {
- if (_adapter != null) {
- _adapter.changeControlPressed(this);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField#handleGrabHorizontal()
- */
- public void handleGrabHorizontal() {
- _wrapped.handleGrabHorizontal();
- }
-
- private IDOMNode getAncester() {
- return _ancester;
- }
-
- private IDOMElement getElement() {
- return _element;
- }
-
- /**
- * @return the wrapped field
- */
- public DialogField getWrappedDialogField() {
- return _wrapped;
- }
-
- public boolean isRequired() {
- return _wrapped.isRequired();
- }
-
- public void setToolTip(String toolTip) {
- _wrapped.setToolTip(toolTip);
- }
-
- public Shell getShell() {
- return _wrapped.getShell();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ExtendedResourceButtonDialogField.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ExtendedResourceButtonDialogField.java
deleted file mode 100644
index 0c458ecf3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/ExtendedResourceButtonDialogField.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogfields;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ResourceButtonDialogField;
-import org.eclipse.jst.pagedesigner.utils.WebAppUtil;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ExtendedResourceButtonDialogField extends
- ResourceButtonDialogField {
- /**
- * @param project
- */
- public ExtendedResourceButtonDialogField(IProject project) {
- super(project);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.ResourceButtonDialogField#browseButtonPressed()
- */
- protected String browseButtonPressed() {
- String url = super.browseButtonPressed();
- url = WebAppUtil.transformJSPURL(url, this.getReferredFile());
- return url;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/StyleButtonDialogField.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/StyleButtonDialogField.java
deleted file mode 100644
index 0e05a5362..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/StyleButtonDialogField.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogfields;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IStringButtonAdapter;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.StringButtonDialogField;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.jst.pagedesigner.ui.dialogs.DialogsMessages;
-import org.eclipse.jst.pagedesigner.ui.dialogs.StyleDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.css.ElementCSSInlineStyle;
-
-/**
- * @author mengbo
- */
-public class StyleButtonDialogField extends StringButtonDialogField implements
- IElementContextable {
- private IDOMElement _element;
-
- /**
- * Equivalent to StyleButtonDialogField(null)
- */
- public StyleButtonDialogField() {
- this(null);
- }
-
- /**
- * @param element
- */
- public StyleButtonDialogField(IDOMElement element) {
- this(null, element);
- setStringButtonAdapter(new IStringButtonAdapter() {
- public void changeControlPressed(DialogField field) {
- browseButtonPressed();
- }
- });
- setButtonLabel(DialogsMessages.getString("StyleButtonDialogField.Edit"));//$NON-NLS-1$
- }
-
- /**
- * @param adapter
- * @param element
- */
- public StyleButtonDialogField(IStringButtonAdapter adapter,
- IDOMElement element) {
- super(adapter);
- _element = element;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable#setElementContext(org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode,
- * org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement)
- */
- public void setElementContext(IDOMNode ancester, IDOMElement element) {
- this._element = element;
- }
-
- private void browseButtonPressed() {
- if (_element instanceof ElementCSSInlineStyle) {
- ICSSStyleDeclaration styleDeclaration = (ICSSStyleDeclaration) ((ElementCSSInlineStyle) _element)
- .getStyle();
-
- PreferenceManager manager = new PreferenceManager();
- Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
- .getShell();
-
- CSSPropertyContext context = new CSSPropertyContext(
- styleDeclaration);
- StyleDialog dialog = new StyleDialog(shell, manager, _element,
- context);
- if (dialog.open() == Dialog.OK) {
- if (!context.isModified()) {
- return;
- }
- ChangeStyleCommand c = new ChangeStyleCommand(_element, context);
- c.execute();
-
- String style = (_element == null ? null : _element
- .getAttribute(IJSFConstants.ATTR_STYLE));
- setText(style);
- }
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroudPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroudPreferenceNode.java
deleted file mode 100644
index b2ed929ff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroudPreferenceNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BackgroudPreferenceNode implements IPreferenceNode {
- private BackgroundPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public BackgroudPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new BackgroundPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- //TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Background"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("BackgroundPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroundPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroundPreferencePage.java
deleted file mode 100644
index e89f95cbc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BackgroundPreferencePage.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ColorButtonDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Label;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BackgroundPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _backgroundImageCombo, _backgroundRepeatCombo,
- _backgroundAttachmentCombo, _horizontalNumberCombo,
- _horizontalUnitCombo, _verticalNumberCombo, _verticalUnitCombo;
-
- private ColorButtonDialogField _backgroundColorField;
-
- /**
- * @param element
- * @param style
- */
- public BackgroundPreferencePage(IDOMElement element,
- CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("BackgroundPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(3, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- _backgroundColorField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _backgroundColorField.setLabelText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.BackgroundColor")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _backgroundColorField.getLabelControl(null, top).setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- _backgroundColorField.getComboControl(null, top).setLayoutData(data);
-
- data = new GridData();
- _backgroundColorField.getChangeControl(null, top).setLayoutData(data);
- _backgroundColorField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _backgroundColorField.getText();
-
- _style.setBackgroundColor(color);
- }
- });
-
- Label backgroundImageLabel = new Label(top, SWT.NONE);
- backgroundImageLabel.setText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.BackgroundImage")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- backgroundImageLabel.setLayoutData(data);
-
- _backgroundImageCombo = new StyleCombo(top, SWT.NONE);
- _backgroundImageCombo.setItems(IStyleConstants.NONE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _backgroundImageCombo.setLayoutData(data);
- _backgroundImageCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String image = _backgroundImageCombo.getText();
-
- _style.setBackgroundImage(image);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label backgroundRepeatLabel = new Label(top, SWT.NONE);
- backgroundRepeatLabel
- .setText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.BackgroundRepeatLabel")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- backgroundRepeatLabel.setLayoutData(data);
-
- _backgroundRepeatCombo = new StyleCombo(top, SWT.NONE);
- _backgroundRepeatCombo.setItems(IStyleConstants.REPEAT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _backgroundRepeatCombo.setLayoutData(data);
- _backgroundRepeatCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String repeat = _backgroundRepeatCombo.getText();
-
- _style.setBackgroundRepeat(repeat);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label backgroundAttachmentLabel = new Label(top, SWT.NONE);
- backgroundAttachmentLabel
- .setText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.BackgroundAttachmentLabel")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- backgroundAttachmentLabel.setLayoutData(data);
-
- _backgroundAttachmentCombo = new StyleCombo(top, SWT.NONE);
- _backgroundAttachmentCombo.setItems(IStyleConstants.ATTACHMENT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _backgroundAttachmentCombo.setLayoutData(data);
- _backgroundAttachmentCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String attachment = _backgroundAttachmentCombo.getText();
-
- _style.setBackgroundAttachment(attachment);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label backgroundHorizontalLabel = new Label(top, SWT.NONE);
- backgroundHorizontalLabel.setText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.HorizontalLabel")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- backgroundHorizontalLabel.setLayoutData(data);
-
- _horizontalNumberCombo = new StyleCombo(top, SWT.NONE);
- _horizontalNumberCombo.setItems(IStyleConstants.POSITION);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _horizontalNumberCombo.setLayoutData(data);
- _horizontalNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _horizontalUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_horizontalNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _horizontalUnitCombo.setEnabled(false);
- }
-
- String position = _horizontalNumberCombo.getText();
- if (_horizontalUnitCombo.isEnabled()) {
- position += _horizontalUnitCombo.getText();
- }
-
- _style.setBackgroundPositionX(position);
- }
- });
-
- _horizontalUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _horizontalUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL);
- _horizontalUnitCombo.setLayoutData(data);
- _horizontalUnitCombo.select(0);
- _horizontalUnitCombo.setEnabled(false);
- _horizontalUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String position = _horizontalNumberCombo.getText();
- if (_horizontalUnitCombo.isEnabled()) {
- position += _horizontalUnitCombo.getText();
- }
-
- _style.setBackgroundPositionX(position);
-
- }
- });
-
- Label backgroundVerticalLabel = new Label(top, SWT.NONE);
- backgroundVerticalLabel.setText(DialogsMessages
- .getString("BackgroundBoxPreferencePage.VerticalLabel")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- backgroundVerticalLabel.setLayoutData(data);
-
- _verticalNumberCombo = new StyleCombo(top, SWT.NONE);
- _verticalNumberCombo.setItems(IStyleConstants.POSITION);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _verticalNumberCombo.setLayoutData(data);
- _verticalNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _verticalUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_verticalNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _verticalUnitCombo.setEnabled(false);
- }
-
- String position = _verticalNumberCombo.getText();
- if (_verticalUnitCombo.isEnabled()) {
- position += _verticalUnitCombo.getText();
- }
-
- _style.setBackgroundPositionY(position);
- }
- });
-
- _verticalUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _verticalUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL);
- _verticalUnitCombo.setLayoutData(data);
- _verticalUnitCombo.select(0);
- _verticalUnitCombo.setEnabled(false);
- _verticalUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String position = _verticalNumberCombo.getText();
- if (_verticalUnitCombo.isEnabled()) {
- position += _verticalUnitCombo.getText();
- }
-
- _style.setBackgroundPositionY(position);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // background-color
- String color = _style.getBackgroundColor();
- if (!isEmptyString(color)) {
- _backgroundColorField.setTextWithoutUpdate(color);
- }
-
- // background-image
- String image = _style.getBackgroundImage();
- if (!isEmptyString(image)) {
- int index = _backgroundImageCombo.indexOf(image);
- if (index != -1) {
- _backgroundImageCombo.select(index);
- } else {
- _backgroundImageCombo.setText(image);
- }
- }
-
- // background-repeat
- String repeat = _style.getBackgroundRepeat();
- if (!isEmptyString(repeat)) {
- int index = _backgroundRepeatCombo.indexOf(repeat);
- if (index != -1) {
- _backgroundRepeatCombo.select(index);
- } else {
- _backgroundRepeatCombo.setText(repeat);
- }
- }
-
- // background-attachment
- String attachment = _style.getBackgroundAttachment();
- if (!isEmptyString(attachment)) {
- int index = _backgroundAttachmentCombo.indexOf(repeat);
- if (index != -1) {
- _backgroundAttachmentCombo.select(index);
- } else {
- _backgroundAttachmentCombo.setText(attachment);
- }
- }
-
- // background-position
- String position = _style.getBackgroundPositionX();
- if (!isEmptyString(position)) {
- int index = _horizontalNumberCombo.indexOf(position);
- if (index != -1) {
- _horizontalNumberCombo.select(index);
- } else {
- _horizontalNumberCombo.setText(position);
- }
- }
- position = _style.getBackgroundPositionY();
- if (!isEmptyString(position)) {
- int index = _verticalNumberCombo.indexOf(position);
- if (index != -1) {
- _verticalNumberCombo.select(index);
- } else {
- _verticalNumberCombo.setText(position);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferenceNode.java
deleted file mode 100644
index 2f5300985..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferenceNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BlockPreferenceNode implements IPreferenceNode {
- private BlockPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public BlockPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new BlockPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Block"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("BlockPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferencePage.java
deleted file mode 100644
index 786e73815..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BlockPreferencePage.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BlockPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _wordSpacingNumberCombo, _wordSpacingUnitCombo,
- _letterSpacingNumberCombo, _letterSpacingUnitCombo,
- _verticalAlignNumberCombo, _verticalAlignUnitCombo,
- _textAlignCombo, _textIndentUnitCombo, _whiteSpaceCombo,
- _displayCombo;
-
- private Text _textIndentText;
-
- /**
- * @param element
- * @param style
- */
- public BlockPreferencePage(IDOMElement element, CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("BlockPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(3, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Label wordSpacingLabel = new Label(top, SWT.NONE);
- wordSpacingLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.WordSpacing")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- wordSpacingLabel.setLayoutData(data);
-
- _wordSpacingNumberCombo = new StyleCombo(top, SWT.NONE);
- _wordSpacingNumberCombo.setItems(IStyleConstants.NORMAL);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _wordSpacingNumberCombo.setLayoutData(data);
- _wordSpacingNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _wordSpacingUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_wordSpacingNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _wordSpacingUnitCombo.setEnabled(false);
- }
-
- String spacing = _wordSpacingNumberCombo.getText();
- if (_wordSpacingUnitCombo.isEnabled()) {
- spacing += _wordSpacingUnitCombo.getText();
- }
-
- _style.setWordSpacing(spacing);
- }
- });
-
- _wordSpacingUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _wordSpacingUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _wordSpacingUnitCombo.setLayoutData(data);
- _wordSpacingUnitCombo.select(0);
- _wordSpacingUnitCombo.setEnabled(false);
- _wordSpacingUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String spacing = _wordSpacingNumberCombo.getText();
- if (_wordSpacingUnitCombo.isEnabled()) {
- spacing += _wordSpacingUnitCombo.getText();
- }
-
- _style.setWordSpacing(spacing);
-
- }
- });
-
- Label letterSpacingLabel = new Label(top, SWT.NONE);
- letterSpacingLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.LetterSpacing")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- letterSpacingLabel.setLayoutData(data);
-
- _letterSpacingNumberCombo = new StyleCombo(top, SWT.NONE);
- _letterSpacingNumberCombo.setItems(IStyleConstants.NORMAL);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _letterSpacingNumberCombo.setLayoutData(data);
- _letterSpacingNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _letterSpacingUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_letterSpacingNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _letterSpacingUnitCombo.setEnabled(false);
- }
-
- String spacing = _letterSpacingNumberCombo.getText();
- if (_letterSpacingUnitCombo.isEnabled()) {
- spacing += _letterSpacingUnitCombo.getText();
- }
-
- _style.setLetterSpacing(spacing);
- }
- });
-
- _letterSpacingUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _letterSpacingUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _letterSpacingUnitCombo.setLayoutData(data);
- _letterSpacingUnitCombo.select(0);
- _letterSpacingUnitCombo.setEnabled(false);
- _letterSpacingUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String spacing = _letterSpacingNumberCombo.getText();
- if (_letterSpacingUnitCombo.isEnabled()) {
- spacing += _letterSpacingUnitCombo.getText();
- }
-
- _style.setLetterSpacing(spacing);
- }
- });
-
- Label verticalAlignLabel = new Label(top, SWT.NONE);
- verticalAlignLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.VerticalAlign")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- verticalAlignLabel.setLayoutData(data);
-
- _verticalAlignNumberCombo = new StyleCombo(top, SWT.NONE);
- _verticalAlignNumberCombo.setItems(IStyleConstants.VERTICAL_ALIGN);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _verticalAlignNumberCombo.setLayoutData(data);
- _verticalAlignNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _verticalAlignUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_verticalAlignNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _verticalAlignUnitCombo.setEnabled(false);
- }
-
- String align = _verticalAlignNumberCombo.getText();
- if (_verticalAlignUnitCombo.isEnabled()) {
- align += _verticalAlignUnitCombo.getText();
- }
-
- _style.setVerticalAlign(align);
- }
- });
-
- _verticalAlignUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _verticalAlignUnitCombo.setItems(IStyleConstants.PERCENT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _verticalAlignUnitCombo.setLayoutData(data);
- _verticalAlignUnitCombo.select(0);
- _verticalAlignUnitCombo.setEnabled(false);
- _verticalAlignUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String align = _verticalAlignNumberCombo.getText();
- if (_verticalAlignUnitCombo.isEnabled()) {
- align += _verticalAlignUnitCombo.getText();
- }
-
- _style.setVerticalAlign(align);
- }
- });
-
- Label textAlignLabel = new Label(top, SWT.NONE);
- textAlignLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.TextAlign")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- textAlignLabel.setLayoutData(data);
-
- _textAlignCombo = new StyleCombo(top, SWT.NONE);
- _textAlignCombo.setItems(IStyleConstants.TEXT_ALIGN);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _textAlignCombo.setLayoutData(data);
- _textAlignCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String align = _textAlignCombo.getText();
-
- _style.setTextAlign(align);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label textIndentLabel = new Label(top, SWT.NONE);
- textIndentLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.TextIndent")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- textIndentLabel.setLayoutData(data);
-
- _textIndentText = new Text(top, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _textIndentText.setLayoutData(data);
- _textIndentText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _textIndentUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_textIndentText.getText());
- } catch (NumberFormatException ex) {
- _textIndentUnitCombo.setEnabled(false);
- }
-
- String indent = _textIndentText.getText();
- if (_textIndentUnitCombo.isEnabled()) {
- indent += _textIndentUnitCombo.getText();
- }
-
- _style.setTextIndent(indent);
- }
- });
-
- _textIndentUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _textIndentUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _textIndentUnitCombo.setLayoutData(data);
- _textIndentUnitCombo.select(0);
- _textIndentUnitCombo.setEnabled(false);
- _textIndentUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String indent = _textIndentText.getText();
- if (_textIndentUnitCombo.isEnabled()) {
- indent += _textIndentUnitCombo.getText();
- }
-
- _style.setTextIndent(indent);
- }
- });
-
- Label whiteSpaceLabel = new Label(top, SWT.NONE);
- whiteSpaceLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.WhiteSpace")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- whiteSpaceLabel.setLayoutData(data);
-
- _whiteSpaceCombo = new StyleCombo(top, SWT.NONE);
- _whiteSpaceCombo.setItems(IStyleConstants.WHITE_SPACE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _whiteSpaceCombo.setLayoutData(data);
- _whiteSpaceCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String space = _whiteSpaceCombo.getText();
-
- _style.setWhiteSpace(space);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label displayLabel = new Label(top, SWT.NONE);
- displayLabel.setText(DialogsMessages
- .getString("BlockPreferencePage.Display")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- displayLabel.setLayoutData(data);
-
- _displayCombo = new StyleCombo(top, SWT.NONE);
- _displayCombo.setItems(IStyleConstants.DISPLAY);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _displayCombo.setLayoutData(data);
- _displayCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String display = _displayCombo.getText();
-
- _style.setDisplay(display);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // word-spacing
- String spacing = _style.getWordSpacing();
- if (!isEmptyString(spacing)) {
- int index = _wordSpacingNumberCombo.indexOf(spacing);
- if (index != -1) {
- _wordSpacingNumberCombo.select(index);
- } else {
- _wordSpacingNumberCombo.setText(spacing);
- }
- }
-
- // letter-spacing
- spacing = _style.getLetterSpacing();
- if (!isEmptyString(spacing)) {
- int index = _letterSpacingNumberCombo.indexOf(spacing);
- if (index != -1) {
- _letterSpacingNumberCombo.select(index);
- } else {
- _letterSpacingNumberCombo.setText(spacing);
- }
- }
-
- // veritcal-align
- String align = _style.getVerticalAlign();
- if (!isEmptyString(align)) {
- int index = _verticalAlignNumberCombo.indexOf(align);
- if (index != -1) {
- _verticalAlignNumberCombo.select(index);
- } else {
- _verticalAlignNumberCombo.setText(align);
- }
- }
-
- // text-align
- align = _style.getTextAlign();
- if (!isEmptyString(align)) {
- int index = _textAlignCombo.indexOf(align);
- if (index != -1) {
- _textAlignCombo.select(index);
- } else {
- _textAlignCombo.setText(align);
- }
- }
-
- // text-indent
- String indent = _style.getTextIndent();
- if (!isEmptyString(indent)) {
- _textIndentText.setText(indent);
- }
-
- // white-space
- String space = _style.getWhiteSpace();
- if (!isEmptyString(space)) {
- int index = _whiteSpaceCombo.indexOf(space);
- if (index != -1) {
- _whiteSpaceCombo.select(index);
- } else {
- _whiteSpaceCombo.setText(space);
- }
- }
-
- // display
- String display = _style.getDisplay();
- if (!isEmptyString(display)) {
- int index = _displayCombo.indexOf(display);
- if (index != -1) {
- _displayCombo.select(index);
- } else {
- _displayCombo.setText(display);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- // TODO: seeing this method repeated in on other preference pages..
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferenceNode.java
deleted file mode 100644
index 2707d94e5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferenceNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BorderPreferenceNode implements IPreferenceNode {
- private BorderPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public BorderPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new BorderPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO: do nothing?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Border"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("BorderPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferencePage.java
deleted file mode 100644
index 858bf5c17..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BorderPreferencePage.java
+++ /dev/null
@@ -1,538 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ColorButtonDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BorderPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _styleTopCombo, _styleRightCombo, _styleBottomCombo,
- _styleLeftCombo;
-
- private StyleCombo _widthTopNumberCombo, _widthRightNumberCombo,
- _widthBottomNumberCombo, _widthLeftNumberCombo;
-
- private StyleCombo _widthTopUnitCombo, _widthRightUnitCombo,
- _widthBottomUnitCombo, _widthLeftUnitCombo;
-
- private ColorButtonDialogField _colorTopField, _colorRightField,
- _colorBottomField, _colorLeftField;
-
- /**
- * @param element
- * @param style
- */
- public BorderPreferencePage(IDOMElement element, CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("BorderPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(1, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Group styleGroup = new Group(top, SWT.NONE);
- styleGroup.setText(DialogsMessages
- .getString("BorderPreferencePage.Style")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- styleGroup.setLayoutData(data);
- layout = new GridLayout(2, false);
- styleGroup.setLayout(layout);
-
- Label styleTopLabel = new Label(styleGroup, SWT.NONE);
- styleTopLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- styleTopLabel.setLayoutData(data);
-
- _styleTopCombo = new StyleCombo(styleGroup, SWT.NONE);
- _styleTopCombo.setItems(IStyleConstants.BORDER_STYLE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _styleTopCombo.setLayoutData(data);
- _styleTopCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String style = _styleTopCombo.getText();
- _style.setBorderTopStyle(style);
- }
- });
-
- Label styleRightLabel = new Label(styleGroup, SWT.NONE);
- styleRightLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- styleRightLabel.setLayoutData(data);
-
- _styleRightCombo = new StyleCombo(styleGroup, SWT.NONE);
- _styleRightCombo.setItems(IStyleConstants.BORDER_STYLE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _styleRightCombo.setLayoutData(data);
- _styleRightCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String style = _styleRightCombo.getText();
- _style.setBorderRightStyle(style);
- }
- });
-
- Label styleBottomLabel = new Label(styleGroup, SWT.NONE);
- styleBottomLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- styleBottomLabel.setLayoutData(data);
-
- _styleBottomCombo = new StyleCombo(styleGroup, SWT.NONE);
- _styleBottomCombo.setItems(IStyleConstants.BORDER_STYLE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _styleBottomCombo.setLayoutData(data);
- _styleBottomCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String style = _styleBottomCombo.getText();
- _style.setBorderBottomStyle(style);
- }
- });
-
- Label styleLeftLabel = new Label(styleGroup, SWT.NONE);
- styleLeftLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- styleLeftLabel.setLayoutData(data);
-
- _styleLeftCombo = new StyleCombo(styleGroup, SWT.NONE);
- _styleLeftCombo.setItems(IStyleConstants.BORDER_STYLE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _styleLeftCombo.setLayoutData(data);
- _styleLeftCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String style = _styleLeftCombo.getText();
- _style.setBorderLeftStyle(style);
- }
- });
-
- Group colorGroup = new Group(top, SWT.NONE);
- colorGroup.setText(DialogsMessages
- .getString("BorderPreferencePage.Color")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- colorGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- colorGroup.setLayout(layout);
-
- _colorTopField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _colorTopField.setLabelText(DialogsMessages
- .getString("BorderPreferencePage.Top")); //$NON-NLS-1$
-
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _colorTopField.getLabelControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- _colorTopField.getComboControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData();
- _colorTopField.getChangeControl(null, colorGroup).setLayoutData(data);
- _colorTopField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _colorTopField.getText();
- _style.setBorderTopColor(color);
- }
- });
-
- _colorRightField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _colorRightField.setLabelText(DialogsMessages
- .getString("BorderPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _colorRightField.getLabelControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- _colorRightField.getComboControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData();
- _colorRightField.getChangeControl(null, colorGroup).setLayoutData(data);
- _colorRightField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _colorRightField.getText();
- _style.setBorderRightColor(color);
- }
- });
-
- _colorBottomField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _colorBottomField.setLabelText(DialogsMessages
- .getString("BorderPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _colorBottomField.getLabelControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- _colorBottomField.getComboControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData();
- _colorBottomField.getChangeControl(null, colorGroup)
- .setLayoutData(data);
- _colorBottomField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _colorBottomField.getText();
- _style.setBorderBottomColor(color);
- }
- });
-
- _colorLeftField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _colorLeftField.setLabelText(DialogsMessages
- .getString("BorderPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _colorLeftField.getLabelControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData(GridData.FILL_HORIZONTAL);
- _colorLeftField.getComboControl(null, colorGroup).setLayoutData(data);
-
- data = new GridData();
- _colorLeftField.getChangeControl(null, colorGroup).setLayoutData(data);
- _colorLeftField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _colorLeftField.getText();
- _style.setBorderLeftColor(color);
- }
- });
-
- Group widthGroup = new Group(top, SWT.NONE);
- widthGroup.setText(DialogsMessages
- .getString("BorderPreferencePage.Width")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- widthGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- widthGroup.setLayout(layout);
-
- Label widthTopLabel = new Label(widthGroup, SWT.NONE);
- widthTopLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthTopLabel.setLayoutData(data);
-
- _widthTopNumberCombo = new StyleCombo(widthGroup, SWT.NONE);
- _widthTopNumberCombo.setItems(IStyleConstants.BORDER_WIDTH);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthTopNumberCombo.setLayoutData(data);
- _widthTopNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthTopUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthTopNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthTopUnitCombo.setEnabled(false);
- }
-
- String width = _widthTopNumberCombo.getText();
- if (_widthTopUnitCombo.isEnabled()) {
- width += _widthTopUnitCombo.getText();
- }
-
- _style.setBorderTopWidth(width);
- }
- });
-
- _widthTopUnitCombo = new StyleCombo(widthGroup, SWT.READ_ONLY);
- _widthTopUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthTopUnitCombo.setLayoutData(data);
- _widthTopUnitCombo.select(0);
- _widthTopUnitCombo.setEnabled(false);
- _widthTopUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthTopNumberCombo.getText();
- if (_widthTopUnitCombo.isEnabled()) {
- width += _widthTopUnitCombo.getText();
- }
-
- _style.setBorderTopWidth(width);
- }
- });
-
- Label widthRightLabel = new Label(widthGroup, SWT.NONE);
- widthRightLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthRightLabel.setLayoutData(data);
-
- _widthRightNumberCombo = new StyleCombo(widthGroup, SWT.NONE);
- _widthRightNumberCombo.setItems(IStyleConstants.BORDER_WIDTH);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthRightNumberCombo.setLayoutData(data);
- _widthRightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthRightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthRightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthRightUnitCombo.setEnabled(false);
- }
-
- String width = _widthRightNumberCombo.getText();
- if (_widthRightUnitCombo.isEnabled()) {
- width += _widthRightUnitCombo.getText();
- }
-
- _style.setBorderRightWidth(width);
- }
- });
-
- _widthRightUnitCombo = new StyleCombo(widthGroup, SWT.READ_ONLY);
- _widthRightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthRightUnitCombo.setLayoutData(data);
- _widthRightUnitCombo.select(0);
- _widthRightUnitCombo.setEnabled(false);
- _widthRightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthRightNumberCombo.getText();
- if (_widthRightUnitCombo.isEnabled()) {
- width += _widthRightUnitCombo.getText();
- }
-
- _style.setBorderRightWidth(width);
- }
- });
-
- Label widthBottomLabel = new Label(widthGroup, SWT.NONE);
- widthBottomLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthBottomLabel.setLayoutData(data);
-
- _widthBottomNumberCombo = new StyleCombo(widthGroup, SWT.NONE);
- _widthBottomNumberCombo.setItems(IStyleConstants.BORDER_WIDTH);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthBottomNumberCombo.setLayoutData(data);
- _widthBottomNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthBottomUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthBottomNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthBottomUnitCombo.setEnabled(false);
- }
-
- String width = _widthBottomNumberCombo.getText();
- if (_widthBottomUnitCombo.isEnabled()) {
- width += _widthBottomUnitCombo.getText();
- }
-
- _style.setBorderBottomWidth(width);
- }
- });
-
- _widthBottomUnitCombo = new StyleCombo(widthGroup, SWT.READ_ONLY);
- _widthBottomUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthBottomUnitCombo.setLayoutData(data);
- _widthBottomUnitCombo.select(0);
- _widthBottomUnitCombo.setEnabled(false);
- _widthBottomUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthBottomNumberCombo.getText();
- if (_widthBottomUnitCombo.isEnabled()) {
- width += _widthBottomUnitCombo.getText();
- }
-
- _style.setBorderBottomWidth(width);
- }
- });
-
- Label widthLeftLabel = new Label(widthGroup, SWT.NONE);
- widthLeftLabel.setText(DialogsMessages
- .getString("BorderPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthLeftLabel.setLayoutData(data);
-
- _widthLeftNumberCombo = new StyleCombo(widthGroup, SWT.NONE);
- _widthLeftNumberCombo.setItems(IStyleConstants.BORDER_WIDTH);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthLeftNumberCombo.setLayoutData(data);
- _widthLeftNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthLeftUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthLeftNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthLeftUnitCombo.setEnabled(false);
- }
-
- String width = _widthLeftNumberCombo.getText();
- if (_widthLeftUnitCombo.isEnabled()) {
- width += _widthLeftUnitCombo.getText();
- }
-
- _style.setBorderLeftWidth(width);
- }
- });
-
- _widthLeftUnitCombo = new StyleCombo(widthGroup, SWT.READ_ONLY);
- _widthLeftUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthLeftUnitCombo.setLayoutData(data);
- _widthLeftUnitCombo.select(0);
- _widthLeftUnitCombo.setEnabled(false);
- _widthLeftUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthLeftNumberCombo.getText();
- if (_widthLeftUnitCombo.isEnabled()) {
- width += _widthLeftUnitCombo.getText();
- }
-
- _style.setBorderLeftWidth(width);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // border-style
- String style = _style.getBorderTopStyle();
- if (!isEmptyString(style)) {
- int index = _styleTopCombo.indexOf(style);
- if (index != -1) {
- _styleTopCombo.select(index);
- } else {
- _styleTopCombo.setText(style);
- }
- }
- style = _style.getBorderRightStyle();
- if (!isEmptyString(style)) {
- int index = _styleRightCombo.indexOf(style);
- if (index != -1) {
- _styleRightCombo.select(index);
- } else {
- _styleRightCombo.setText(style);
- }
- }
- style = _style.getBorderBottomStyle();
- if (!isEmptyString(style)) {
- int index = _styleBottomCombo.indexOf(style);
- if (index != -1) {
- _styleBottomCombo.select(index);
- } else {
- _styleBottomCombo.setText(style);
- }
- }
- style = _style.getBorderLeftStyle();
- if (!isEmptyString(style)) {
- int index = _styleLeftCombo.indexOf(style);
- if (index != -1) {
- _styleLeftCombo.select(index);
- } else {
- _styleLeftCombo.setText(style);
- }
- }
-
- // border-color
- String color = _style.getBorderTopColor();
- if (!isEmptyString(color)) {
- _colorTopField.setTextWithoutUpdate(color);
- }
- color = _style.getBorderRightColor();
- if (!isEmptyString(color)) {
- _colorRightField.setTextWithoutUpdate(color);
- }
- color = _style.getBorderBottomColor();
- if (!isEmptyString(color)) {
- _colorBottomField.setTextWithoutUpdate(color);
- }
- color = _style.getBorderLeftColor();
- if (!isEmptyString(color)) {
- _colorLeftField.setTextWithoutUpdate(color);
- }
-
- // border-width
- String width = _style.getBorderTopWidth();
- if (!isEmptyString(width)) {
- int index = _widthTopNumberCombo.indexOf(width);
- if (index != -1) {
- _widthTopNumberCombo.select(index);
- } else {
- _widthTopNumberCombo.setText(width);
- }
- }
- width = _style.getBorderRightWidth();
- if (!isEmptyString(width)) {
- int index = _widthRightNumberCombo.indexOf(width);
- if (index != -1) {
- _widthRightNumberCombo.select(index);
- } else {
- _widthRightNumberCombo.setText(width);
- }
- }
- width = _style.getBorderBottomWidth();
- if (!isEmptyString(width)) {
- int index = _widthBottomNumberCombo.indexOf(width);
- if (index != -1) {
- _widthBottomNumberCombo.select(index);
- } else {
- _widthBottomNumberCombo.setText(width);
- }
- }
- width = _style.getBorderLeftWidth();
- if (!isEmptyString(width)) {
- int index = _widthLeftNumberCombo.indexOf(width);
- if (index != -1) {
- _widthLeftNumberCombo.select(index);
- } else {
- _widthLeftNumberCombo.setText(width);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferenceNode.java
deleted file mode 100644
index 0813ac4ef..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferenceNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BoxPreferenceNode implements IPreferenceNode {
- private BoxPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _styles;
-
- /**
- * @param element
- * @param style
- */
- public BoxPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _styles = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO: this pattern is being repeated; perhaps need common super for preference nodes?
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new BoxPreferencePage(_element, _styles);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Box"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("BoxPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferencePage.java
deleted file mode 100644
index ecd70c781..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/BoxPreferencePage.java
+++ /dev/null
@@ -1,673 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class BoxPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _widthNumberCombo, _widthUnitCombo, _heightNumberCombo,
- _heightUnitCombo, _clearCombo;
-
- private Text _paddingTopNumberText, _paddingRightNumberText,
- _paddingBottomNumberText, _paddingLeftNumberText;
-
- private StyleCombo _paddingTopUnitCombo, _paddingRightUnitCombo,
- _paddingBottomUnitCombo, _paddingLeftUnitCombo;
-
- private StyleCombo _marginTopNumberCombo, _marginRightNumberCombo,
- _marginBottomNumberCombo, _marginLeftNumberCombo;
-
- private StyleCombo _marginTopUnitCombo, _marginRightUnitCombo,
- _marginBottomUnitCombo, _marginLeftUnitCombo;
-
- /**
- * @param element
- * @param style
- */
- public BoxPreferencePage(IDOMElement element, CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("BoxPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(6, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Label widthLabel = new Label(top, SWT.NONE);
- widthLabel
- .setText(DialogsMessages.getString("BoxPreferencePage.Width")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthLabel.setLayoutData(data);
-
- _widthNumberCombo = new StyleCombo(top, SWT.NONE);
- _widthNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthNumberCombo.setLayoutData(data);
- _widthNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthUnitCombo.setEnabled(false);
- }
-
- String width = _widthNumberCombo.getText();
- if (_widthUnitCombo.isEnabled()) {
- width += _widthUnitCombo.getText();
- }
-
- _style.setWidth(width);
- }
- });
-
- _widthUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _widthUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthUnitCombo.setLayoutData(data);
- _widthUnitCombo.select(0);
- _widthUnitCombo.setEnabled(false);
- _widthUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthNumberCombo.getText();
- if (_widthUnitCombo.isEnabled()) {
- width += _widthUnitCombo.getText();
- }
-
- _style.setWidth(width);
- }
- });
-
- Label clearLabel = new Label(top, SWT.NONE);
- clearLabel
- .setText(DialogsMessages.getString("BoxPreferencePage.Clear")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- clearLabel.setLayoutData(data);
-
- _clearCombo = new StyleCombo(top, SWT.NONE);
- _clearCombo.setItems(IStyleConstants.CLEAR);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clearCombo.setLayoutData(data);
- _clearCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String clear = _clearCombo.getText();
- _style.setClear(clear);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label heightLabel = new Label(top, SWT.NONE);
- heightLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Height")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- heightLabel.setLayoutData(data);
-
- _heightNumberCombo = new StyleCombo(top, SWT.NONE);
- _heightNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _heightNumberCombo.setLayoutData(data);
- _heightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _heightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_heightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _heightUnitCombo.setEnabled(false);
- }
-
- String height = _heightNumberCombo.getText();
- if (_heightUnitCombo.isEnabled()) {
- height += _heightUnitCombo.getText();
- }
-
- _style.setHeight(height);
- }
- });
-
- _heightUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _heightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _heightUnitCombo.setLayoutData(data);
- _heightUnitCombo.select(0);
- _heightUnitCombo.setEnabled(false);
- _heightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String height = _heightNumberCombo.getText();
- if (_heightUnitCombo.isEnabled()) {
- height += _heightNumberCombo.getText();
- }
-
- _style.setHeight(height);
- }
- });
-
- new Label(top, SWT.NONE);
- new Label(top, SWT.NONE);
- new Label(top, SWT.NONE);
-
- Group paddingGroup = new Group(top, SWT.NONE);
- paddingGroup.setText(DialogsMessages
- .getString("BoxPreferencePage.Padding")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- data.verticalSpan = 4;
- paddingGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- paddingGroup.setLayout(layout);
-
- Label paddingTopLabel = new Label(paddingGroup, SWT.NONE);
- paddingTopLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- paddingTopLabel.setLayoutData(data);
-
- _paddingTopNumberText = new Text(paddingGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingTopNumberText.setLayoutData(data);
- _paddingTopNumberText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _paddingTopUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_paddingTopNumberText.getText());
- } catch (NumberFormatException ex) {
- _paddingTopUnitCombo.setEnabled(false);
- }
-
- String padding = _paddingTopNumberText.getText();
- if (_paddingTopUnitCombo.isEnabled()) {
- padding += _paddingTopUnitCombo.getText();
- }
-
- _style.setPaddingTop(padding);
- }
- });
-
- _paddingTopUnitCombo = new StyleCombo(paddingGroup, SWT.READ_ONLY);
- _paddingTopUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingTopUnitCombo.setLayoutData(data);
- _paddingTopUnitCombo.select(0);
- _paddingTopUnitCombo.setEnabled(false);
- _paddingTopUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String padding = _paddingTopNumberText.getText();
- if (_paddingTopUnitCombo.isEnabled()) {
- padding += _paddingTopUnitCombo.getText();
- }
-
- _style.setPaddingTop(padding);
- }
- });
-
- Label paddingRightLabel = new Label(paddingGroup, SWT.NONE);
- paddingRightLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- paddingRightLabel.setLayoutData(data);
-
- _paddingRightNumberText = new Text(paddingGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingRightNumberText.setLayoutData(data);
- _paddingRightNumberText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _paddingRightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_paddingRightNumberText.getText());
- } catch (NumberFormatException ex) {
- _paddingRightUnitCombo.setEnabled(false);
- }
-
- String padding = _paddingRightNumberText.getText();
- if (_paddingRightUnitCombo.isEnabled()) {
- padding += _paddingRightUnitCombo.getText();
- }
-
- _style.setPaddingRight(padding);
- }
- });
-
- _paddingRightUnitCombo = new StyleCombo(paddingGroup, SWT.READ_ONLY);
- _paddingRightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingRightUnitCombo.setLayoutData(data);
- _paddingRightUnitCombo.select(0);
- _paddingRightUnitCombo.setEnabled(false);
- _paddingRightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String padding = _paddingRightNumberText.getText();
- if (_paddingRightUnitCombo.isEnabled()) {
- padding += _paddingRightUnitCombo.getText();
- }
-
- _style.setPaddingRight(padding);
- }
- });
-
- Label paddingBottomLabel = new Label(paddingGroup, SWT.NONE);
- paddingBottomLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- paddingBottomLabel.setLayoutData(data);
-
- _paddingBottomNumberText = new Text(paddingGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingBottomNumberText.setLayoutData(data);
- _paddingBottomNumberText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _paddingBottomUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_paddingBottomNumberText.getText());
- } catch (NumberFormatException ex) {
- _paddingBottomUnitCombo.setEnabled(false);
- }
-
- String padding = _paddingBottomNumberText.getText();
- if (_paddingBottomUnitCombo.isEnabled()) {
- padding += _paddingBottomUnitCombo.getText();
- }
-
- _style.setPaddingBottom(padding);
- }
- });
-
- _paddingBottomUnitCombo = new StyleCombo(paddingGroup, SWT.READ_ONLY);
- _paddingBottomUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingBottomUnitCombo.setLayoutData(data);
- _paddingBottomUnitCombo.select(0);
- _paddingBottomUnitCombo.setEnabled(false);
- _paddingBottomUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String padding = _paddingBottomNumberText.getText();
- if (_paddingBottomUnitCombo.isEnabled()) {
- padding += _paddingBottomUnitCombo.getText();
- }
-
- _style.setPaddingBottom(padding);
- }
- });
-
- Label paddingLeftLabel = new Label(paddingGroup, SWT.NONE);
- paddingLeftLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- paddingLeftLabel.setLayoutData(data);
-
- _paddingLeftNumberText = new Text(paddingGroup, SWT.BORDER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingLeftNumberText.setLayoutData(data);
- _paddingLeftNumberText.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _paddingLeftUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_paddingLeftNumberText.getText());
- } catch (NumberFormatException ex) {
- _paddingLeftUnitCombo.setEnabled(false);
- }
-
- String top1 = _paddingLeftNumberText.getText();
- if (_paddingLeftUnitCombo.isEnabled()) {
- top1 += _paddingLeftUnitCombo.getText();
- }
-
- _style.setPaddingLeft(top1);
- }
- });
-
- _paddingLeftUnitCombo = new StyleCombo(paddingGroup, SWT.READ_ONLY);
- _paddingLeftUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _paddingLeftUnitCombo.setLayoutData(data);
- _paddingLeftUnitCombo.select(0);
- _paddingLeftUnitCombo.setEnabled(false);
- _paddingLeftUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String top1 = _paddingLeftNumberText.getText();
- if (_paddingLeftUnitCombo.isEnabled()) {
- top1 += _paddingLeftUnitCombo.getText();
- }
-
- _style.setPaddingLeft(top1);
- }
- });
-
- Group marginGroup = new Group(top, SWT.NONE);
- marginGroup.setText(DialogsMessages
- .getString("BoxPreferencePage.Margin")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- data.verticalSpan = 4;
- marginGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- marginGroup.setLayout(layout);
-
- Label marginTopLabel = new Label(marginGroup, SWT.NONE);
- marginTopLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- marginTopLabel.setLayoutData(data);
-
- _marginTopNumberCombo = new StyleCombo(marginGroup, SWT.NONE);
- _marginTopNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginTopNumberCombo.setLayoutData(data);
- _marginTopNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _marginTopUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_marginTopNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _marginTopUnitCombo.setEnabled(false);
- }
-
- String margin = _marginTopNumberCombo.getText();
- if (_marginTopUnitCombo.isEnabled()) {
- margin += _marginTopUnitCombo.getText();
- }
-
- _style.setMarginTop(margin);
- }
- });
-
- _marginTopUnitCombo = new StyleCombo(marginGroup, SWT.READ_ONLY);
- _marginTopUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginTopUnitCombo.setLayoutData(data);
- _marginTopUnitCombo.select(0);
- _marginTopUnitCombo.setEnabled(false);
- _marginTopUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String margin = _marginTopNumberCombo.getText();
- if (_marginTopUnitCombo.isEnabled()) {
- margin += _marginTopUnitCombo.getText();
- }
-
- _style.setMarginTop(margin);
- }
- });
-
- Label marginRightLabel = new Label(marginGroup, SWT.NONE);
- marginRightLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- marginRightLabel.setLayoutData(data);
-
- _marginRightNumberCombo = new StyleCombo(marginGroup, SWT.NONE);
- _marginRightNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginRightNumberCombo.setLayoutData(data);
- _marginRightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _marginRightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_marginRightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _marginRightUnitCombo.setEnabled(false);
- }
-
- String margin = _marginRightNumberCombo.getText();
- if (_marginRightUnitCombo.isEnabled()) {
- margin += _marginRightUnitCombo.getText();
- }
-
- _style.setMarginRight(margin);
- }
- });
-
- _marginRightUnitCombo = new StyleCombo(marginGroup, SWT.READ_ONLY);
- _marginRightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginRightUnitCombo.setLayoutData(data);
- _marginRightUnitCombo.select(0);
- _marginRightUnitCombo.setEnabled(false);
- _marginRightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String margin = _marginRightNumberCombo.getText();
- if (_marginRightUnitCombo.isEnabled()) {
- margin += _marginRightUnitCombo.getText();
- }
-
- _style.setMarginRight(margin);
- }
- });
-
- Label marginBottomLabel = new Label(marginGroup, SWT.NONE);
- marginBottomLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- marginBottomLabel.setLayoutData(data);
-
- _marginBottomNumberCombo = new StyleCombo(marginGroup, SWT.NONE);
- _marginBottomNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginBottomNumberCombo.setLayoutData(data);
- _marginBottomNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _marginBottomUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_marginBottomNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _marginBottomUnitCombo.setEnabled(false);
- }
-
- String margin = _marginBottomNumberCombo.getText();
- if (_marginBottomUnitCombo.isEnabled()) {
- margin += _marginBottomUnitCombo.getText();
- }
-
- _style.setMarginBottom(margin);
- }
- });
-
- _marginBottomUnitCombo = new StyleCombo(marginGroup, SWT.READ_ONLY);
- _marginBottomUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginBottomUnitCombo.setLayoutData(data);
- _marginBottomUnitCombo.select(0);
- _marginBottomUnitCombo.setEnabled(false);
- _marginBottomUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String margin = _marginBottomNumberCombo.getText();
- if (_marginBottomUnitCombo.isEnabled()) {
- margin += _marginBottomUnitCombo.getText();
- }
-
- _style.setMarginBottom(margin);
- }
- });
-
- Label marginLeftLabel = new Label(marginGroup, SWT.NONE);
- marginLeftLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- marginLeftLabel.setLayoutData(data);
-
- _marginLeftNumberCombo = new StyleCombo(marginGroup, SWT.NONE);
- _marginLeftNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginLeftNumberCombo.setLayoutData(data);
- _marginLeftNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _marginLeftUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_marginLeftNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _marginLeftUnitCombo.setEnabled(false);
- }
-
- String top1 = _marginLeftNumberCombo.getText();
- if (_marginLeftUnitCombo.isEnabled()) {
- top1 += _marginLeftUnitCombo.getText();
- }
-
- _style.setMarginLeft(top1);
- }
- });
-
- _marginLeftUnitCombo = new StyleCombo(marginGroup, SWT.READ_ONLY);
- _marginLeftUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _marginLeftUnitCombo.setLayoutData(data);
- _marginLeftUnitCombo.select(0);
- _marginLeftUnitCombo.setEnabled(false);
- _marginLeftUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String top1 = _marginLeftNumberCombo.getText();
- if (_marginLeftUnitCombo.isEnabled()) {
- top1 += _marginLeftUnitCombo.getText();
- }
-
- _style.setMarginLeft(top1);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // width
- String width = _style.getWidth();
- if (!isEmptyString(width)) {
- int index = _widthNumberCombo.indexOf(width);
- if (index != -1) {
- _widthNumberCombo.select(index);
- } else {
- _widthNumberCombo.setText(width);
- }
- }
-
- // height
- String height = _style.getHeight();
- if (!isEmptyString(height)) {
- int index = _heightNumberCombo.indexOf(height);
- if (index != -1) {
- _heightNumberCombo.select(index);
- } else {
- _heightNumberCombo.setText(height);
- }
- }
-
- // clear
- String clear = _style.getClear();
- if (!isEmptyString(clear)) {
- int index = _clearCombo.indexOf(clear);
- if (index != -1) {
- _clearCombo.select(index);
- } else {
- _clearCombo.setText(clear);
- }
- }
-
- // padding
- String padding = _style.getPaddingTop();
- if (!isEmptyString(padding)) {
- _paddingTopNumberText.setText(padding);
- }
- padding = _style.getPaddingRight();
- if (!isEmptyString(padding)) {
- _paddingRightNumberText.setText(padding);
- }
- padding = _style.getPaddingBottom();
- if (!isEmptyString(padding)) {
- _paddingBottomNumberText.setText(padding);
- }
- padding = _style.getPaddingLeft();
- if (!isEmptyString(padding)) {
- _paddingLeftNumberText.setText(padding);
- }
-
- // margin
- String margin = _style.getMarginTop();
- if (!isEmptyString(margin)) {
- int index = _marginTopNumberCombo.indexOf(margin);
- if (index != -1) {
- _marginTopNumberCombo.select(index);
- } else {
- _marginTopNumberCombo.setText(margin);
- }
- }
- margin = _style.getMarginRight();
- if (!isEmptyString(margin)) {
- int index = _marginRightNumberCombo.indexOf(margin);
- if (index != -1) {
- _marginRightNumberCombo.select(index);
- } else {
- _marginRightNumberCombo.setText(margin);
- }
- }
- margin = _style.getMarginBottom();
- if (!isEmptyString(margin)) {
- int index = _marginBottomNumberCombo.indexOf(margin);
- if (index != -1) {
- _marginBottomNumberCombo.select(index);
- } else {
- _marginBottomNumberCombo.setText(margin);
- }
- }
- margin = _style.getMarginLeft();
- if (!isEmptyString(margin)) {
- int index = _marginLeftNumberCombo.indexOf(margin);
- if (index != -1) {
- _marginLeftNumberCombo.select(index);
- } else {
- _marginLeftNumberCombo.setText(margin);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ColorUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ColorUtil.java
deleted file mode 100644
index a8590faf3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ColorUtil.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ColorPalette;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ColorUtil extends ColorPalette {
- private static final Map EXTENDED_COLORS = new HashMap(20);
-
- private static final Map BASIC_COLORS = new HashMap(143);
-
- static {
- BASIC_COLORS.put("Aqua", new Color(null, 0x00, 0xFF, 0xFF)); //$NON-NLS-1$
- BASIC_COLORS.put("Black", new Color(null, 0x00, 0x00, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Blue", new Color(null, 0x00, 0x00, 0xFF)); //$NON-NLS-1$
- BASIC_COLORS.put("Fuchsia", new Color(null, 0xFF, 0x00, 0xFF)); //$NON-NLS-1$
- BASIC_COLORS.put("Gray", new Color(null, 0x80, 0x80, 0x80)); //$NON-NLS-1$
- BASIC_COLORS.put("Green", new Color(null, 0x00, 0x80, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Lime", new Color(null, 0x00, 0xFF, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Maroon", new Color(null, 0x80, 0x00, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Navy", new Color(null, 0x00, 0x00, 0x80)); //$NON-NLS-1$
- BASIC_COLORS.put("Olive", new Color(null, 0x80, 0x80, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Purple", new Color(null, 0x80, 0x00, 0x80)); //$NON-NLS-1$
- BASIC_COLORS.put("Red", new Color(null, 0xFF, 0x00, 0x00)); //$NON-NLS-1$
- BASIC_COLORS.put("Silver", new Color(null, 0xC0, 0xC0, 0xC0)); //$NON-NLS-1$
- BASIC_COLORS.put("Teal", new Color(null, 0x00, 0x80, 0x80)); //$NON-NLS-1$
- BASIC_COLORS.put("White", new Color(null, 0xFF, 0xFF, 0xFF)); //$NON-NLS-1$
- BASIC_COLORS.put("Yellow", new Color(null, 0xFF, 0xFF, 0x00)); //$NON-NLS-1$
- }
-
- static {
- EXTENDED_COLORS.put("AliceBlue", new Color(null, 0xF0, 0xF8, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("AntiqueWhite", new Color(null, 0xFA, 0xEB, 0xD7)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Aqua", new Color(null, 0x00, 0xFF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Aquamarine", new Color(null, 0x7F, 0xFF, 0xD4)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Azure", new Color(null, 0xF0, 0xFF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Beige", new Color(null, 0xF5, 0xF5, 0xDC)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Bisque", new Color(null, 0xFF, 0xE4, 0xC4)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Black", new Color(null, 0x00, 0x00, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("BlanchedAlmond", new Color(null, 0xFF, 0xEB, 0xCD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Blue", new Color(null, 0x00, 0x00, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("BlueViolet", new Color(null, 0x8A, 0x2B, 0xE2)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Brown", new Color(null, 0xA5, 0x2A, 0x2A)); //$NON-NLS-1$
- EXTENDED_COLORS.put("BurlyWood", new Color(null, 0xDE, 0xB8, 0x87)); //$NON-NLS-1$
- EXTENDED_COLORS.put("CadetBlue", new Color(null, 0x5F, 0x9E, 0xA0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Chartreuse", new Color(null, 0x7F, 0xFF, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Chocolate", new Color(null, 0xD2, 0x69, 0x1E)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Coral", new Color(null, 0xFF, 0x7F, 0x50)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("CornflowerBlue", new Color(null, 0x64, 0x95, 0xED)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Cornsilk", new Color(null, 0xFF, 0xF8, 0xDC)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Crimson", new Color(null, 0xDC, 0x14, 0x3C)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Cyan", new Color(null, 0x00, 0xFF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkBlue", new Color(null, 0x00, 0x00, 0x8B)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkCyan", new Color(null, 0x00, 0x8B, 0x8B)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkGoldenRod", new Color(null, 0xB8, 0x86, 0x0B)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkGray", new Color(null, 0xA9, 0xA9, 0xA9)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkGreen", new Color(null, 0x00, 0x64, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkKhaki", new Color(null, 0xBD, 0xB7, 0x6B)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkMagenta", new Color(null, 0x8B, 0x00, 0x8B)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("DarkOliveGreen", new Color(null, 0x55, 0x6B, 0x2F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Darkorange", new Color(null, 0xFF, 0x8C, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkOrchid", new Color(null, 0x99, 0x32, 0xCC)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkRed", new Color(null, 0x8B, 0x00, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkSalmon", new Color(null, 0xE9, 0x96, 0x7A)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkSeaGreen", new Color(null, 0x8F, 0xBC, 0x8F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkSlateBlue", new Color(null, 0x48, 0x3D, 0x8B)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkSlateGray", new Color(null, 0x2F, 0x4F, 0x4F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkTurquoise", new Color(null, 0x00, 0xCE, 0xD1)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DarkViolet", new Color(null, 0x94, 0x00, 0xD3)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DeepPink", new Color(null, 0xFF, 0x14, 0x93)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DeepSkyBlue", new Color(null, 0x00, 0xBF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DimGray", new Color(null, 0x69, 0x69, 0x69)); //$NON-NLS-1$
- EXTENDED_COLORS.put("DodgerBlue", new Color(null, 0x1E, 0x90, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Feldspar", new Color(null, 0xD1, 0x92, 0x75)); //$NON-NLS-1$
- EXTENDED_COLORS.put("FireBrick", new Color(null, 0xB2, 0x22, 0x22)); //$NON-NLS-1$
- EXTENDED_COLORS.put("FloralWhite", new Color(null, 0xFF, 0xFA, 0xF0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("ForestGreen", new Color(null, 0x22, 0x8B, 0x22)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Fuchsia", new Color(null, 0xFF, 0x00, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Gainsboro", new Color(null, 0xDC, 0xDC, 0xDC)); //$NON-NLS-1$
- EXTENDED_COLORS.put("GhostWhite", new Color(null, 0xF8, 0xF8, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Gold", new Color(null, 0xFF, 0xD7, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("GoldenRod", new Color(null, 0xDA, 0xA5, 0x20)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Gray", new Color(null, 0x80, 0x80, 0x80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Green", new Color(null, 0x00, 0x80, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("GreenYellow", new Color(null, 0xAD, 0xFF, 0x2F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("HoneyDew", new Color(null, 0xF0, 0xFF, 0xF0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("HotPink", new Color(null, 0xFF, 0x69, 0xB4)); //$NON-NLS-1$
- EXTENDED_COLORS.put("IndianRed", new Color(null, 0xCD, 0x5C, 0x5C)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Indigo", new Color(null, 0x4B, 0x00, 0x82)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Ivory", new Color(null, 0xFF, 0xFF, 0xF0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Khaki", new Color(null, 0xF0, 0xE6, 0x8C)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Lavender", new Color(null, 0xE6, 0xE6, 0xFA)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LavenderBlush", new Color(null, 0xFF, 0xF0, 0xF5)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LawnGreen", new Color(null, 0x7C, 0xFC, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LemonChiffon", new Color(null, 0xFF, 0xFA, 0xCD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightBlue", new Color(null, 0xAD, 0xD8, 0xE6)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightCoral", new Color(null, 0xF0, 0x80, 0x80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightCyan", new Color(null, 0xE0, 0xFF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightGoldenRodYellow", new Color(null, 0xFA, 0xFA, //$NON-NLS-1$
- 0xD2));
- EXTENDED_COLORS.put("LightGrey", new Color(null, 0xD3, 0xD3, 0xD3)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightGreen", new Color(null, 0x90, 0xEE, 0x90)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightPink", new Color(null, 0xFF, 0xB6, 0xC1)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightSalmon", new Color(null, 0xFF, 0xA0, 0x7A)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightSeaGreen", new Color(null, 0x20, 0xB2, 0xAA)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightSkyBlue", new Color(null, 0x87, 0xCE, 0xFA)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("LightSlateBlue", new Color(null, 0x84, 0x70, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("LightSlateGray", new Color(null, 0x77, 0x88, 0x99)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("LightSteelBlue", new Color(null, 0xB0, 0xC4, 0xDE)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LightYellow", new Color(null, 0xFF, 0xFF, 0xE0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Lime", new Color(null, 0x00, 0xFF, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("LimeGreen", new Color(null, 0x32, 0xCD, 0x32)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Linen", new Color(null, 0xFA, 0xF0, 0xE6)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Magenta", new Color(null, 0xFF, 0x00, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Maroon", new Color(null, 0x80, 0x00, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MediumAquaMarine", new Color(null, 0x66, 0xCD, //$NON-NLS-1$
- 0xAA));
- EXTENDED_COLORS.put("MediumBlue", new Color(null, 0x00, 0x00, 0xCD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MediumOrchid", new Color(null, 0xBA, 0x55, 0xD3)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MediumPurple", new Color(null, 0x93, 0x70, 0xD8)); //$NON-NLS-1$
- EXTENDED_COLORS
- .put("MediumSeaGreen", new Color(null, 0x3C, 0xB3, 0x71)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MediumSlateBlue", //$NON-NLS-1$
- new Color(null, 0x7B, 0x68, 0xEE));
- EXTENDED_COLORS.put("MediumSpringGreen", new Color(null, 0x00, 0xFA, //$NON-NLS-1$
- 0x9A));
- EXTENDED_COLORS.put("MediumTurquoise", //$NON-NLS-1$
- new Color(null, 0x48, 0xD1, 0xCC));
- EXTENDED_COLORS.put("MediumVioletRed", //$NON-NLS-1$
- new Color(null, 0xC7, 0x15, 0x85));
- EXTENDED_COLORS.put("MidnightBlue", new Color(null, 0x19, 0x19, 0x70)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MintCream", new Color(null, 0xF5, 0xFF, 0xFA)); //$NON-NLS-1$
- EXTENDED_COLORS.put("MistyRose", new Color(null, 0xFF, 0xE4, 0xE1)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Moccasin", new Color(null, 0xFF, 0xE4, 0xB5)); //$NON-NLS-1$
- EXTENDED_COLORS.put("NavajoWhite", new Color(null, 0xFF, 0xDE, 0xAD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Navy", new Color(null, 0x00, 0x00, 0x80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("OldLace", new Color(null, 0xFD, 0xF5, 0xE6)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Olive", new Color(null, 0x80, 0x80, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("OliveDrab", new Color(null, 0x6B, 0x8E, 0x23)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Orange", new Color(null, 0xFF, 0xA5, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("OrangeRed", new Color(null, 0xFF, 0x45, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Orchid", new Color(null, 0xDA, 0x70, 0xD6)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PaleGoldenRod", new Color(null, 0xEE, 0xE8, 0xAA)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PaleGreen", new Color(null, 0x98, 0xFB, 0x98)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PaleTurquoise", new Color(null, 0xAF, 0xEE, 0xEE)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PaleVioletRed", new Color(null, 0xD8, 0x70, 0x93)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PapayaWhip", new Color(null, 0xFF, 0xEF, 0xD5)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PeachPuff", new Color(null, 0xFF, 0xDA, 0xB9)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Peru", new Color(null, 0xCD, 0x85, 0x3F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Pink", new Color(null, 0xFF, 0xC0, 0xCB)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Plum", new Color(null, 0xDD, 0xA0, 0xDD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("PowderBlue", new Color(null, 0xB0, 0xE0, 0xE6)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Purple", new Color(null, 0x80, 0x00, 0x80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Red", new Color(null, 0xFF, 0x00, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("RosyBrown", new Color(null, 0xBC, 0x8F, 0x8F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("RoyalBlue", new Color(null, 0x41, 0x69, 0xE1)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SaddleBrown", new Color(null, 0x8B, 0x45, 0x13)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Salmon", new Color(null, 0xFA, 0x80, 0x72)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SandyBrown", new Color(null, 0xF4, 0xA4, 0x60)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SeaGreen", new Color(null, 0x2E, 0x8B, 0x57)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SeaShell", new Color(null, 0xFF, 0xF5, 0xEE)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Sienna", new Color(null, 0xA0, 0x52, 0x2D)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Silver", new Color(null, 0xC0, 0xC0, 0xC0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SkyBlue", new Color(null, 0x87, 0xCE, 0xEB)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SlateBlue", new Color(null, 0x6A, 0x5A, 0xCD)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SlateGray", new Color(null, 0x70, 0x80, 0x90)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Snow", new Color(null, 0xFF, 0xFA, 0xFA)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SpringGreen", new Color(null, 0x00, 0xFF, 0x7F)); //$NON-NLS-1$
- EXTENDED_COLORS.put("SteelBlue", new Color(null, 0x46, 0x82, 0xB4)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Tan", new Color(null, 0xD2, 0xB4, 0x8C)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Teal", new Color(null, 0x00, 0x80, 0x80)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Thistle", new Color(null, 0xD8, 0xBF, 0xD8)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Tomato", new Color(null, 0xFF, 0x63, 0x47)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Turquoise", new Color(null, 0x40, 0xE0, 0xD0)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Violet", new Color(null, 0xEE, 0x82, 0xEE)); //$NON-NLS-1$
- EXTENDED_COLORS.put("VioletRed", new Color(null, 0xD0, 0x20, 0x90)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Wheat", new Color(null, 0xF5, 0xDE, 0xB3)); //$NON-NLS-1$
- EXTENDED_COLORS.put("White", new Color(null, 0xFF, 0xFF, 0xFF)); //$NON-NLS-1$
- EXTENDED_COLORS.put("WhiteSmoke", new Color(null, 0xF5, 0xF5, 0xF5)); //$NON-NLS-1$
- EXTENDED_COLORS.put("Yellow", new Color(null, 0xFF, 0xFF, 0x00)); //$NON-NLS-1$
- EXTENDED_COLORS.put("YellowGreen", new Color(null, 0x9A, 0xCD, 0x32)); //$NON-NLS-1$
- }
-
- public final Map getBasicColorMap() {
- return Collections.unmodifiableMap(BASIC_COLORS);
- }
-
- public final Map getExtendedColorMap() {
- return Collections.unmodifiableMap(EXTENDED_COLORS);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.java
deleted file mode 100644
index 612d976df..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class DialogsMessages {
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.ui.dialogs.DialogsMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private DialogsMessages() {
- // no external instantiation
- }
-
- /**
- * @param key
- * @return the value for key or !!key!! if none
- */
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.properties
deleted file mode 100644
index 6a49cd01a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/DialogsMessages.properties
+++ /dev/null
@@ -1,99 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2007 Oracle Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Oracle Corporation - initial API and implementation
-###############################################################################
-StyleButtonDialogField.Edit=Edit...
-StyleDialog.Title=CSS Style Definition
-
-TextPreferenceNode.LabelText=Text
-TextPreferencePage.Title=Text
-TextPreferencePage.Font=Font:
-TextPreferencePage.Size=Size:
-TextPreferencePage.Weight=Weight:
-TextPreferencePage.Style=Style:
-TextPreferencePage.Variant=Variant:
-TextPreferencePage.LineHeight=Line Height:
-TextPreferencePage.Case=Case:
-TextPreferencePage.Decoration=Decoration:
-TextPreferencePage.Color=Color:
-
-BackgroundPreferenceNode.LabelText=Background
-BackgroundPreferencePage.Title=Background
-BackgroundBoxPreferencePage.BackgroundColor=Background color:
-BackgroundBoxPreferencePage.BackgroundImage=Background image:
-BackgroundBoxPreferencePage.BackgroundRepeatLabel=Repeat:
-BackgroundBoxPreferencePage.BackgroundAttachmentLabel=Attachment:
-BackgroundBoxPreferencePage.HorizontalLabel=Horizontal position:
-BackgroundBoxPreferencePage.VerticalLabel=Vertical position:
-
-BlockPreferenceNode.LabelText=Block
-BlockPreferencePage.Title=Block
-BlockPreferencePage.WordSpacing=Word spacing:
-BlockPreferencePage.LetterSpacing=Letter spacing:
-BlockPreferencePage.VerticalAlign=Vertical align:
-BlockPreferencePage.TextAlign=Text align:
-BlockPreferencePage.TextIndent=Text indent:
-BlockPreferencePage.WhiteSpace=White space:
-BlockPreferencePage.Display=Display:
-
-BoxPreferenceNode.LabelText=Box
-BoxPreferencePage.Title=Box
-BoxPreferencePage.Width=Width:
-BoxPreferencePage.Clear=Clear:
-BoxPreferencePage.Height=Height:
-BoxPreferencePage.Padding=Padding
-BoxPreferencePage.Margin=Margin
-BoxPreferencePage.Top=Top:
-BoxPreferencePage.Right=Right:
-BoxPreferencePage.Bottom=Bottom:
-BoxPreferencePage.Left=Left:
-
-BorderPreferenceNode.LabelText=Border
-BorderPreferencePage.Title=Border
-BorderPreferencePage.Style=Style
-BorderPreferencePage.Width=Width
-BorderPreferencePage.Color=Color
-BorderPreferencePage.Top=Top:
-BorderPreferencePage.Right=Right:
-BorderPreferencePage.Bottom=Bottom:
-BorderPreferencePage.Left=Left:
-
-ListPreferenceNode.LabelText=List
-ListPreferencePage.Title=List
-ListPreferencePage.Type=Type:
-ListPreferencePage.Image=Bullet image:
-ListPreferencePage.Position=Position:
-
-PositioningPreferenceNode.LabelText=Positioning
-PositioningPreferencePage.Title=Positioning
-PositioningPreferencePage.Type=Type:
-PositioningPreferencePage.Visibility=Visibility:
-PositioningPreferencePage.Width=Width:
-PositioningPreferencePage.ZIndex=Z-Index:
-PositioningPreferencePage.Height=Height:
-PositioningPreferencePage.Overflow=Overflow:
-PositioningPreferencePage.Placement=Placement
-PositioningPreferencePage.Clip=Clip
-PositioningPreferencePage.Right=Right:
-PositioningPreferencePage.Bottom=Bottom:
-PositioningPreferencePage.Left=Left:
-
-ExtensionsPreferenceNode.LabelText=Extensions
-ExtensionsPreferencePage.Title=Extensions
-ExtensionsPreferencePage.PageBreak=Page break
-ExtensionsPreferencePage.Before=Before:
-ExtensionsPreferencePage.After=After:
-ExtensionsPreferencePage.VisualEffect=Visual effect
-ExtensionsPreferencePage.Cursor=Cursor:
-
-WPEPropertyPage.Description=Select a tag library to see associated skins and set a current skin.
-WPEPropertyPage.TagLibs.Label=&Tag libraries:
-WPEPropertyPage.Skins.Label=Associated &skins:
-WPEPropertyPage.Current.Button=&Current
-WPEPropertyPage.Skins.Item.Current=(current) \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferenceNode.java
deleted file mode 100644
index 4eab2d25d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferenceNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ExtensionsPreferenceNode implements IPreferenceNode {
- private ExtensionsPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public ExtensionsPreferenceNode(IDOMElement element,
- CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new ExtensionsPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Extensions"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("ExtensionsPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferencePage.java
deleted file mode 100644
index 7f9f42d81..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ExtensionsPreferencePage.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ExtensionsPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _beforeCombo, _afterCombo, _cursorCombo;
-
- /**
- * Creates an instance.
- *
- * @param element IDOMElement instance.
- * @param style CSSPropertyContext instance.
- */
- public ExtensionsPreferencePage(IDOMElement element,
- CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("ExtensionsPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(1, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Group pageGroup = new Group(top, SWT.NONE);
- pageGroup.setText(DialogsMessages
- .getString("ExtensionsPreferencePage.PageBreak")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- pageGroup.setLayoutData(data);
- layout = new GridLayout(2, false);
- pageGroup.setLayout(layout);
-
- Label beforeLabel = new Label(pageGroup, SWT.NONE);
- beforeLabel.setText(DialogsMessages
- .getString("ExtensionsPreferencePage.Before")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- beforeLabel.setLayoutData(data);
-
- _beforeCombo = new StyleCombo(pageGroup, SWT.NONE);
- _beforeCombo.setItems(IStyleConstants.PAGE_BREAK);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _beforeCombo.setLayoutData(data);
- _beforeCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String page = _beforeCombo.getText();
- _style.setPageBreakBefore(page);
- }
- });
-
- Label afterLabel = new Label(pageGroup, SWT.NONE);
- afterLabel.setText(DialogsMessages
- .getString("ExtensionsPreferencePage.After")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- afterLabel.setLayoutData(data);
-
- _afterCombo = new StyleCombo(pageGroup, SWT.NONE);
- _afterCombo.setItems(IStyleConstants.PAGE_BREAK);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _afterCombo.setLayoutData(data);
- _afterCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String page = _afterCombo.getText();
- _style.setPageBreakAfter(page);
- }
- });
-
- Group visualGroup = new Group(top, SWT.NONE);
- visualGroup.setText(DialogsMessages
- .getString("ExtensionsPreferencePage.VisualEffect")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- visualGroup.setLayoutData(data);
- layout = new GridLayout(2, false);
- visualGroup.setLayout(layout);
-
- Label cursorLabel = new Label(visualGroup, SWT.NONE);
- cursorLabel.setText(DialogsMessages
- .getString("ExtensionsPreferencePage.Cursor")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- cursorLabel.setLayoutData(data);
-
- _cursorCombo = new StyleCombo(visualGroup, SWT.NONE);
- _cursorCombo.setItems(IStyleConstants.CURSOR);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _cursorCombo.setLayoutData(data);
- _cursorCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String cursor = _cursorCombo.getText();
- _style.setCursor(cursor);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // page-break-before
- String page = _style.getPageBreakBefore();
- if (!isEmptyString(page)) {
- int index = _beforeCombo.indexOf(page);
- if (index != -1) {
- _beforeCombo.select(index);
- } else {
- _beforeCombo.setText(page);
- }
- }
-
- // page-break-after
- page = _style.getPageBreakAfter();
- if (!isEmptyString(page)) {
- int index = _afterCombo.indexOf(page);
- if (index != -1) {
- _afterCombo.select(index);
- } else {
- _afterCombo.setText(page);
- }
- }
-
- // cursor
- String cursor = _style.getCursor();
- if (!isEmptyString(cursor)) {
- int index = _cursorCombo.indexOf(cursor);
- if (index != -1) {
- _cursorCombo.select(index);
- } else {
- _cursorCombo.setText(cursor);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/IStyleConstants.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/IStyleConstants.java
deleted file mode 100644
index 3ca24c80a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/IStyleConstants.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public interface IStyleConstants {
- /**
- * attachment constants
- */
- final public static String[] ATTACHMENT = { "fixed", "scroll" }; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * auto constants
- */
- final public static String[] AUTO = { "auto" }; //$NON-NLS-1$
-
- /**
- * border style constants
- */
- final public static String[] BORDER_STYLE = { "none", "dotted", "dashed", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "solid", "double", "groove", "ridge", "inset", "outset" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-
- /**
- * border width constants
- */
- final public static String[] BORDER_WIDTH = { "thin", "medium", "thick" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * clear constants
- */
- final public static String[] CLEAR = { "left", "right", "both", "none" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- /**
- * color constants
- */
- final public static String[] COLOR = { "black", "blue", "gray", "green", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "orange", "red", "white", "yellow", "aqua", "fuchsia", "lime", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
- "maroon", "navy", "olive", "purple", "silver", "teal" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-
- /**
- * display constants
- */
- final public static String[] DISPLAY = { "none", "inline", "block", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "list-item", "run-in", "compact", "marker", "table", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "inline-table", "table-row-group", "table-header-group", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "table-footer-group", "table-row", "table-column-group", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "table-column", "table-cell", "table-caption" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * float constants
- */
- final public static String[] FLOAT = { "left", "right", "none" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * font family constants
- */
- final public static String[] FONT_FAMILY = { "Verdana, Arial, Sans-Serif", //$NON-NLS-1$
- "Tahoma, Verdana, Arial, Sans-Serif", "\"Times New Roman\", Serif", //$NON-NLS-1$ //$NON-NLS-2$
- "Georgia, \"Times New Roman\", Serif", //$NON-NLS-1$
- "\"Book Antiqua\", \"Times New Roman\", Serif", //$NON-NLS-1$
- "\"Comic Sans MS\", Sans-Serif", "\"Courier New\", Courier", //$NON-NLS-1$ //$NON-NLS-2$
- "\"Trebuchet MS\", Sans-Serif" }; //$NON-NLS-1$
-
- /**
- * font size constants
- */
- final public static String[] FONT_SIZE_NUMBER = { "9", "10", "12", "14", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "16", "18", "24", "36", "xx-small", "x-small", "small", "medium", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "large", "x-large", "xx-large", "smaller", "larger" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
- /**
- * font style constants
- */
- final public static String[] FONT_STYLE = { "normal", "italic", "oblique" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * font transform constants
- */
- final public static String[] FONT_TEXTTRANSFORM = { "capitalize", //$NON-NLS-1$
- "uppercase", "lowercase", "none" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * font variant constants
- */
- final public static String[] FONT_VARIANT = { "normal", "small-caps" }; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * font weight constants
- */
- final public static String[] FONT_WEIGHT = { "normal", "bold", "bolder", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "lighter", "100", "200", "300", "400", "500", "600", "700", "800", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
- "900" }; //$NON-NLS-1$
-
- /**
- * list position constants
- */
- final public static String[] LIST_POSITION = { "inside", "outside" }; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * list type constants
- */
- final public static String[] LIST_TYPE = { "disc", "circle", "sqaure", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "decimal", "lower-roman", "upper-roman", "lower-alpha", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "upper-alpah", "none" }; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * none
- */
- final public static String[] NONE = { "none" }; //$NON-NLS-1$
-
- /**
- * normal
- */
- final public static String[] NORMAL = { "normal" }; //$NON-NLS-1$
-
- /**
- * percent
- */
- final public static String[] PERCENT = { "%" }; //$NON-NLS-1$
-
- /**
- * position constants
- */
- final public static String[] POSITION = { "left", "center", "right" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * positioning type constants
- */
- final public static String[] POSITIONING_TYPE = { "absolute", "relative", //$NON-NLS-1$ //$NON-NLS-2$
- "static" }; //$NON-NLS-1$
-
- /**
- * repeat constants
- */
- final public static String[] REPEAT = { "no-repeat", "repeat", "repeat-x", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "repeat-y" }; //$NON-NLS-1$
-
- /**
- * unit of size constants
- */
- final public static String[] SIZE_UNIT = { "px", "pt", "in", "cm", "mm", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "pc", "em", "ex", "%" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- /**
- * text align constants
- */
- final public static String[] TEXT_ALIGN = { "left", "right", "center", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "justify" }; //$NON-NLS-1$
-
- /**
- * text decoration constants
- */
- final public static String[] TEXT_DECORATION = { "underline", "overline", //$NON-NLS-1$ //$NON-NLS-2$
- "line-through", "blink", "none" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * veritical align constants
- */
- final public static String[] VERTICAL_ALIGN = { "baseline", "sub", "super", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "top", "text-top", "middle", "bottom", "text-bottom" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
- /**
- * white space constants
- */
- final public static String[] WHITE_SPACE = { "normal", "pre", "nowrap" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * visibility constants
- */
- final public static String[] VISIBILITY = { "inherit", "visible", "hidden" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- /**
- * overflow constants
- */
- final public static String[] OVERFLOW = { "visible", "hidden", "scroll", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "auto" }; //$NON-NLS-1$
-
- /**
- * page break constants
- */
- final public static String[] PAGE_BREAK = { "auto", "always", "left", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "right" }; //$NON-NLS-1$
-
- /**
- * cursor constants
- */
- final public static String[] CURSOR = { "hand", "crosshair", "text", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "wait", "default", "help", "e-resize", "ne-resize", "n-resize", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- "nw-resize", "w-resize", "sw-resize", "s-resize", "se-resize", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- "auto" }; //$NON-NLS-1$
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferenceNode.java
deleted file mode 100644
index 8964d7b31..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferenceNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ListPreferenceNode implements IPreferenceNode {
- private ListPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public ListPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new ListPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "List"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("ListPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferencePage.java
deleted file mode 100644
index eda6fa590..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/ListPreferencePage.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.Label;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ListPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _typeCombo, _imageCombo, _positionCombo;
-
- /**
- * @param element
- * @param style
- */
- public ListPreferencePage(IDOMElement element, CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("ListPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(2, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Label typeLabel = new Label(top, SWT.NONE);
- typeLabel.setText(DialogsMessages.getString("ListPreferencePage.Type")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- typeLabel.setLayoutData(data);
-
- _typeCombo = new StyleCombo(top, SWT.NONE);
- _typeCombo.setItems(IStyleConstants.LIST_TYPE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _typeCombo.setLayoutData(data);
- _typeCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String type = _typeCombo.getText();
- _style.setListStyleType(type);
- }
- });
-
- Label imageLabel = new Label(top, SWT.NONE);
- imageLabel.setText(DialogsMessages
- .getString("ListPreferencePage.Image")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- imageLabel.setLayoutData(data);
-
- _imageCombo = new StyleCombo(top, SWT.NONE);
- _imageCombo.setItems(IStyleConstants.NONE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _imageCombo.setLayoutData(data);
- _imageCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String image = _imageCombo.getText();
- _style.setListStyleImage(image);
- }
- });
-
- Label positionLabel = new Label(top, SWT.NONE);
- positionLabel.setText(DialogsMessages
- .getString("ListPreferencePage.Position")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- positionLabel.setLayoutData(data);
-
- _positionCombo = new StyleCombo(top, SWT.NONE);
- _positionCombo.setItems(IStyleConstants.LIST_POSITION);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _positionCombo.setLayoutData(data);
- _positionCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String position = _positionCombo.getText();
- _style.setListStylePosition(position);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // list-style-tyle
- String type = _style.getListStyleType();
- if (!isEmptyString(type)) {
- int index = _typeCombo.indexOf(type);
- if (index != -1) {
- _typeCombo.select(index);
- } else {
- _typeCombo.setText(type);
- }
- }
-
- // list-style-image
- String image = _style.getListStyleImage();
- if (!isEmptyString(image)) {
- int index = _imageCombo.indexOf(image);
- if (index != -1) {
- _imageCombo.select(index);
- } else {
- _imageCombo.setText(image);
- }
- }
-
- // list-style-position
- String position = _style.getListStylePosition();
- if (!isEmptyString(position)) {
- int index = _positionCombo.indexOf(position);
- if (index != -1) {
- _positionCombo.select(index);
- } else {
- _positionCombo.setText(position);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferenceNode.java
deleted file mode 100644
index fec81924e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferenceNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PositioningPreferenceNode implements IPreferenceNode {
- private PositioningPreferencePage _page;
-
- private IDOMElement _element;
-
- private CSSPropertyContext _style;
-
- /**
- * @param element
- * @param style
- */
- public PositioningPreferenceNode(IDOMElement element,
- CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new PositioningPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Positioning"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("PositioningPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferencePage.java
deleted file mode 100644
index 026769b6f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/PositioningPreferencePage.java
+++ /dev/null
@@ -1,782 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-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.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class PositioningPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private Combo _typeCombo, _visibilityCombo, _widthNumberCombo,
- _widthUnitCombo, _zIndexCombo, _heightNumberCombo,
- _heightUnitCombo, _overflowCombo;
-
- private Combo _placementTopNumberCombo, _placementRightNumberCombo,
- _placementBottomNumberCombo, _placementLeftNumberCombo;
-
- private Combo _placementTopUnitCombo, _placementRightUnitCombo,
- _placementBottomUnitCombo, _placementLeftUnitCombo;
-
- private Combo _clipTopNumberCombo, _clipRightNumberCombo,
- _clipBottomNumberCombo, _clipLeftNumberCombo;
-
- private Combo _clipTopUnitCombo, _clipRightUnitCombo, _clipBottomUnitCombo,
- _clipLeftUnitCombo;
-
- /**
- * @param element
- * @param style
- */
- public PositioningPreferencePage(IDOMElement element,
- CSSPropertyContext style) {
- super();
- _style = style;
-
- setTitle(DialogsMessages.getString("PositioningPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(6, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Label typeLabel = new Label(top, SWT.NONE);
- typeLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Type")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- typeLabel.setLayoutData(data);
-
- _typeCombo = new Combo(top, SWT.NONE);
- _typeCombo.setItems(IStyleConstants.POSITIONING_TYPE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 2;
- _typeCombo.setLayoutData(data);
- _typeCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String type = _typeCombo.getText();
- _style.setPosition(type);
- }
- });
-
- Label visibilityLabel = new Label(top, SWT.NONE);
- visibilityLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Visibility")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- visibilityLabel.setLayoutData(data);
-
- _visibilityCombo = new Combo(top, SWT.NONE);
- _visibilityCombo.setItems(IStyleConstants.VISIBILITY);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _visibilityCombo.setLayoutData(data);
- _visibilityCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String visibility = _visibilityCombo.getText();
- _style.setVisibility(visibility);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label widthLabel = new Label(top, SWT.NONE);
- widthLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Width")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- widthLabel.setLayoutData(data);
-
- _widthNumberCombo = new Combo(top, SWT.NONE);
- _widthNumberCombo.setItems(IStyleConstants.LIST_POSITION);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthNumberCombo.setLayoutData(data);
- _widthNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _widthUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_widthNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _widthUnitCombo.setEnabled(false);
- }
-
- String width = _widthNumberCombo.getText();
- if (_widthUnitCombo.isEnabled()) {
- width += _widthUnitCombo.getText();
- }
-
- _style.setWidth(width);
- }
- });
-
- _widthUnitCombo = new Combo(top, SWT.READ_ONLY);
- _widthUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _widthUnitCombo.setLayoutData(data);
- _widthUnitCombo.select(0);
- _widthUnitCombo.setEnabled(false);
- _widthUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String width = _widthNumberCombo.getText();
- if (_widthUnitCombo.isEnabled()) {
- width += _widthUnitCombo.getText();
- }
-
- _style.setWidth(width);
- }
- });
-
- Label zIndexLabel = new Label(top, SWT.NONE);
- zIndexLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.ZIndex")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- zIndexLabel.setLayoutData(data);
-
- _zIndexCombo = new Combo(top, SWT.NONE);
- _zIndexCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _zIndexCombo.setLayoutData(data);
- _zIndexCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String index = _zIndexCombo.getText();
- _style.setZIndex(index);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label heightLabel = new Label(top, SWT.NONE);
- heightLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Height")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- heightLabel.setLayoutData(data);
-
- _heightNumberCombo = new Combo(top, SWT.NONE);
- _heightNumberCombo.setItems(IStyleConstants.LIST_POSITION);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _heightNumberCombo.setLayoutData(data);
- _heightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _heightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_heightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _heightUnitCombo.setEnabled(false);
- }
-
- String height = _heightNumberCombo.getText();
- if (_heightUnitCombo.isEnabled()) {
- height += _heightUnitCombo.getText();
- }
-
- _style.setHeight(height);
- }
- });
-
- _heightUnitCombo = new Combo(top, SWT.READ_ONLY);
- _heightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _heightUnitCombo.setLayoutData(data);
- _heightUnitCombo.select(0);
- _heightUnitCombo.setEnabled(false);
- _heightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String height = _heightNumberCombo.getText();
- if (_heightUnitCombo.isEnabled()) {
- height += _heightUnitCombo.getText();
- }
-
- _style.setHeight(height);
- }
- });
-
- Label overflowLabel = new Label(top, SWT.NONE);
- overflowLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Overflow")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- overflowLabel.setLayoutData(data);
-
- _overflowCombo = new Combo(top, SWT.NONE);
- _overflowCombo.setItems(IStyleConstants.OVERFLOW);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _overflowCombo.setLayoutData(data);
- _overflowCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String overflow = _overflowCombo.getText();
- _style.setOverflow(overflow);
- }
- });
-
- Group placementGroup = new Group(top, SWT.NONE);
- placementGroup.setText(DialogsMessages
- .getString("PositioningPreferencePage.Placement")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- data.verticalSpan = 4;
- placementGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- placementGroup.setLayout(layout);
-
- Label placementTopLabel = new Label(placementGroup, SWT.NONE);
- placementTopLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- placementTopLabel.setLayoutData(data);
-
- _placementTopNumberCombo = new Combo(placementGroup, SWT.NONE);
- _placementTopNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementTopNumberCombo.setLayoutData(data);
- _placementTopNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _placementTopUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_placementTopNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _placementTopUnitCombo.setEnabled(false);
- }
-
- String placement = _placementTopNumberCombo.getText();
- if (_placementTopUnitCombo.isEnabled()) {
- placement += _placementTopUnitCombo.getText();
- }
-
- _style.setTop(placement);
- }
- });
-
- _placementTopUnitCombo = new Combo(placementGroup, SWT.READ_ONLY);
- _placementTopUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementTopUnitCombo.setLayoutData(data);
- _placementTopUnitCombo.select(0);
- _placementTopUnitCombo.setEnabled(false);
- _placementTopUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String placement = _placementTopNumberCombo.getText();
- if (_placementTopUnitCombo.isEnabled()) {
- placement += _placementTopUnitCombo.getText();
- }
-
- _style.setTop(placement);
- }
- });
-
- Label placementRightLabel = new Label(placementGroup, SWT.NONE);
- placementRightLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- placementRightLabel.setLayoutData(data);
-
- _placementRightNumberCombo = new Combo(placementGroup, SWT.NONE);
- _placementRightNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementRightNumberCombo.setLayoutData(data);
- _placementRightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _placementRightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_placementRightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _placementRightUnitCombo.setEnabled(false);
- }
-
- String placement = _placementRightNumberCombo.getText();
- if (_placementRightUnitCombo.isEnabled()) {
- placement += _placementRightUnitCombo.getText();
- }
-
- _style.setRight(placement);
- }
- });
-
- _placementRightUnitCombo = new Combo(placementGroup, SWT.READ_ONLY);
- _placementRightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementRightUnitCombo.setLayoutData(data);
- _placementRightUnitCombo.select(0);
- _placementRightUnitCombo.setEnabled(false);
- _placementRightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String placement = _placementRightNumberCombo.getText();
- if (_placementRightUnitCombo.isEnabled()) {
- placement += _placementRightUnitCombo.getText();
- }
-
- _style.setRight(placement);
- }
- });
-
- Label placementBottomLabel = new Label(placementGroup, SWT.NONE);
- placementBottomLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- placementBottomLabel.setLayoutData(data);
-
- _placementBottomNumberCombo = new Combo(placementGroup, SWT.NONE);
- _placementBottomNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementBottomNumberCombo.setLayoutData(data);
- _placementBottomNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _placementBottomUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_placementBottomNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _placementBottomUnitCombo.setEnabled(false);
- }
-
- String placement = _placementBottomNumberCombo.getText();
- if (_placementBottomUnitCombo.isEnabled()) {
- placement += _placementBottomUnitCombo.getText();
- }
-
- _style.setBottom(placement);
- }
- });
-
- _placementBottomUnitCombo = new Combo(placementGroup, SWT.READ_ONLY);
- _placementBottomUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementBottomUnitCombo.setLayoutData(data);
- _placementBottomUnitCombo.select(0);
- _placementBottomUnitCombo.setEnabled(false);
- _placementBottomUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String placement = _placementBottomNumberCombo.getText();
- if (_placementBottomUnitCombo.isEnabled()) {
- placement += _placementBottomUnitCombo.getText();
- }
-
- _style.setBottom(placement);
- }
- });
-
- Label placementLeftLabel = new Label(placementGroup, SWT.NONE);
- placementLeftLabel.setText(DialogsMessages
- .getString("BoxPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- placementLeftLabel.setLayoutData(data);
-
- _placementLeftNumberCombo = new Combo(placementGroup, SWT.NONE);
- _placementLeftNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementLeftNumberCombo.setLayoutData(data);
- _placementLeftNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _placementLeftUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_placementLeftNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _placementLeftUnitCombo.setEnabled(false);
- }
-
- String top1 = _placementLeftNumberCombo.getText();
- if (_placementLeftUnitCombo.isEnabled()) {
- top1 += _placementLeftUnitCombo.getText();
- }
-
- _style.setLeft(top1);
- }
- });
-
- _placementLeftUnitCombo = new Combo(placementGroup, SWT.READ_ONLY);
- _placementLeftUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _placementLeftUnitCombo.setLayoutData(data);
- _placementLeftUnitCombo.select(0);
- _placementLeftUnitCombo.setEnabled(false);
- _placementLeftUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String top1 = _placementLeftNumberCombo.getText();
- if (_placementLeftUnitCombo.isEnabled()) {
- top1 += _placementLeftUnitCombo.getText();
- }
-
- _style.setLeft(top1);
- }
- });
-
- Group clipGroup = new Group(top, SWT.NONE);
- clipGroup.setText(DialogsMessages
- .getString("PositioningPreferencePage.Clip")); //$NON-NLS-1$
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 3;
- data.verticalSpan = 4;
- clipGroup.setLayoutData(data);
- layout = new GridLayout(3, false);
- clipGroup.setLayout(layout);
-
- Label clipTopLabel = new Label(clipGroup, SWT.NONE);
- clipTopLabel
- .setText(DialogsMessages.getString("BoxPreferencePage.Top")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- clipTopLabel.setLayoutData(data);
-
- _clipTopNumberCombo = new Combo(clipGroup, SWT.NONE);
- _clipTopNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipTopNumberCombo.setLayoutData(data);
- _clipTopNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _clipTopUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_clipTopNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _clipTopUnitCombo.setEnabled(false);
- }
-
- String clip = _clipTopNumberCombo.getText();
- if (_clipTopUnitCombo.isEnabled()) {
- clip += _clipTopUnitCombo.getText();
- }
-
- _style.setClipTop(clip);
- }
- });
-
- _clipTopUnitCombo = new Combo(clipGroup, SWT.READ_ONLY);
- _clipTopUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipTopUnitCombo.setLayoutData(data);
- _clipTopUnitCombo.select(0);
- _clipTopUnitCombo.setEnabled(false);
- _clipTopUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String clip = _clipTopNumberCombo.getText();
- if (_clipTopUnitCombo.isEnabled()) {
- clip += _clipTopUnitCombo.getText();
- }
-
- _style.setClipTop(clip);
- }
- });
-
- Label clipRightLabel = new Label(clipGroup, SWT.NONE);
- clipRightLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Right")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- clipRightLabel.setLayoutData(data);
-
- _clipRightNumberCombo = new Combo(clipGroup, SWT.NONE);
- _clipRightNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipRightNumberCombo.setLayoutData(data);
- _clipRightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _clipRightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_clipRightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _clipRightUnitCombo.setEnabled(false);
- }
-
- String clip = _clipRightNumberCombo.getText();
- if (_clipRightUnitCombo.isEnabled()) {
- clip += _clipRightUnitCombo.getText();
- }
-
- _style.setClipRight(clip);
- }
- });
-
- _clipRightUnitCombo = new Combo(clipGroup, SWT.READ_ONLY);
- _clipRightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipRightUnitCombo.setLayoutData(data);
- _clipRightUnitCombo.select(0);
- _clipRightUnitCombo.setEnabled(false);
- _clipRightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String clip = _clipRightNumberCombo.getText();
- if (_clipRightUnitCombo.isEnabled()) {
- clip += _clipRightUnitCombo.getText();
- }
-
- _style.setClipRight(clip);
- }
- });
-
- Label clipBottomLabel = new Label(clipGroup, SWT.NONE);
- clipBottomLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Bottom")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- clipBottomLabel.setLayoutData(data);
-
- _clipBottomNumberCombo = new Combo(clipGroup, SWT.NONE);
- _clipBottomNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipBottomNumberCombo.setLayoutData(data);
- _clipBottomNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _clipBottomUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_clipBottomNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _clipBottomUnitCombo.setEnabled(false);
- }
-
- String clip = _clipBottomNumberCombo.getText();
- if (_clipBottomUnitCombo.isEnabled()) {
- clip += _clipBottomUnitCombo.getText();
- }
-
- _style.setClipBottom(clip);
- }
- });
-
- _clipBottomUnitCombo = new Combo(clipGroup, SWT.READ_ONLY);
- _clipBottomUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipBottomUnitCombo.setLayoutData(data);
- _clipBottomUnitCombo.select(0);
- _clipBottomUnitCombo.setEnabled(false);
- _clipBottomUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String clip = _clipBottomNumberCombo.getText();
- if (_clipBottomUnitCombo.isEnabled()) {
- clip += _clipBottomUnitCombo.getText();
- }
-
- _style.setClipBottom(clip);
- }
- });
-
- Label clipLeftLabel = new Label(clipGroup, SWT.NONE);
- clipLeftLabel.setText(DialogsMessages
- .getString("PositioningPreferencePage.Left")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- clipLeftLabel.setLayoutData(data);
-
- _clipLeftNumberCombo = new Combo(clipGroup, SWT.NONE);
- _clipLeftNumberCombo.setItems(IStyleConstants.AUTO);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipLeftNumberCombo.setLayoutData(data);
- _clipLeftNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _clipLeftUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_clipLeftNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _clipLeftUnitCombo.setEnabled(false);
- }
-
- String top1 = _clipLeftNumberCombo.getText();
- if (_clipLeftUnitCombo.isEnabled()) {
- top1 += _clipLeftUnitCombo.getText();
- }
-
- _style.setClipLeft(top1);
- }
- });
-
- _clipLeftUnitCombo = new Combo(clipGroup, SWT.READ_ONLY);
- _clipLeftUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _clipLeftUnitCombo.setLayoutData(data);
- _clipLeftUnitCombo.select(0);
- _clipLeftUnitCombo.setEnabled(false);
- _clipLeftUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String top1 = _clipLeftNumberCombo.getText();
- if (_clipLeftUnitCombo.isEnabled()) {
- top1 += _clipLeftUnitCombo.getText();
- }
-
- _style.setClipLeft(top1);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // position
- String position = _style.getPosition();
- if (!isEmptyString(position)) {
- int index = _typeCombo.indexOf(position);
- if (index != -1) {
- _typeCombo.select(index);
- } else {
- _typeCombo.setText(position);
- }
- }
-
- // visibility
- String visibility = _style.getVisibility();
- if (!isEmptyString(visibility)) {
- int index = _visibilityCombo.indexOf(visibility);
- if (index != -1) {
- _visibilityCombo.select(index);
- } else {
- _visibilityCombo.setText(visibility);
- }
- }
-
- // width
- String width = _style.getWidth();
- if (!isEmptyString(width)) {
- int index = _widthNumberCombo.indexOf(width);
- if (index != -1) {
- _widthNumberCombo.select(index);
- } else {
- _widthNumberCombo.setText(width);
- }
- }
-
- // z-index
- String zindex = _style.getZIndex();
- if (!isEmptyString(zindex)) {
- int index = _zIndexCombo.indexOf(zindex);
- if (index != -1) {
- _zIndexCombo.select(index);
- } else {
- _zIndexCombo.setText(zindex);
- }
- }
-
- // height
- String height = _style.getHeight();
- if (!isEmptyString(height)) {
- int index = _heightNumberCombo.indexOf(height);
- if (index != -1) {
- _heightNumberCombo.select(index);
- } else {
- _heightNumberCombo.setText(height);
- }
- }
-
- // overflow
- String overflow = _style.getOverflow();
- if (!isEmptyString(overflow)) {
- int index = _overflowCombo.indexOf(overflow);
- if (index != -1) {
- _overflowCombo.select(index);
- } else {
- _overflowCombo.setText(overflow);
- }
- }
-
- // placement
- String placement = _style.getTop();
- if (!isEmptyString(placement)) {
- int index = _placementTopNumberCombo.indexOf(placement);
- if (index != -1) {
- _placementTopNumberCombo.select(index);
- } else {
- _placementTopNumberCombo.setText(placement);
- }
- }
- placement = _style.getRight();
- if (!isEmptyString(placement)) {
- int index = _placementRightNumberCombo.indexOf(placement);
- if (index != -1) {
- _placementRightNumberCombo.select(index);
- } else {
- _placementRightNumberCombo.setText(placement);
- }
- }
- placement = _style.getBottom();
- if (!isEmptyString(placement)) {
- int index = _placementBottomNumberCombo.indexOf(placement);
- if (index != -1) {
- _placementBottomNumberCombo.select(index);
- } else {
- _placementBottomNumberCombo.setText(placement);
- }
- }
- placement = _style.getLeft();
- if (!isEmptyString(placement)) {
- int index = _placementLeftNumberCombo.indexOf(placement);
- if (index != -1) {
- _placementLeftNumberCombo.select(index);
- } else {
- _placementLeftNumberCombo.setText(placement);
- }
- }
-
- // clip
- String clip = _style.getClipTop();
- if (!isEmptyString(clip)) {
- int index = _clipTopNumberCombo.indexOf(clip);
- if (index != -1) {
- _clipTopNumberCombo.select(index);
- } else {
- _clipTopNumberCombo.setText(clip);
- }
- }
- clip = _style.getClipRight();
- if (!isEmptyString(clip)) {
- int index = _clipRightNumberCombo.indexOf(clip);
- if (index != -1) {
- _clipRightNumberCombo.select(index);
- } else {
- _clipRightNumberCombo.setText(clip);
- }
- }
- clip = _style.getClipBottom();
- if (!isEmptyString(clip)) {
- int index = _clipBottomNumberCombo.indexOf(clip);
- if (index != -1) {
- _clipBottomNumberCombo.select(index);
- } else {
- _clipBottomNumberCombo.setText(clip);
- }
- }
- clip = _style.getClipLeft();
- if (!isEmptyString(clip)) {
- int index = _clipLeftNumberCombo.indexOf(clip);
- if (index != -1) {
- _clipLeftNumberCombo.select(index);
- } else {
- _clipLeftNumberCombo.setText(clip);
- }
- }
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleCombo.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleCombo.java
deleted file mode 100644
index e50a885cf..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleCombo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class StyleCombo extends Combo {
-
- /**
- * @param parent
- * @param style
- */
- public StyleCombo(Composite parent, int style) {
- super(parent, style);
- this.addControlListener(new ControlAdapter() {
- public void controlResized(ControlEvent e) {
- Combo combo = (Combo) e.widget;
- combo.setSelection(new Point(0, 0));
- }
- });
- }
-
- protected void checkSubclass() {
- // override subclass validation, otherwise Widget.isValidSubclass
- // will throw an error
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleDialog.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleDialog.java
deleted file mode 100644
index 7c36d32dd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/StyleDialog.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class StyleDialog extends PreferenceDialog {
- /**
- * @param parentShell
- * @param manager
- * @param element
- * @param style
- */
- public StyleDialog(Shell parentShell, PreferenceManager manager,
- IDOMElement element, CSSPropertyContext style) {
- super(parentShell, manager);
- manager.addToRoot(new TextPreferenceNode(element, style));
- manager.addToRoot(new BackgroudPreferenceNode(element, style));
- manager.addToRoot(new BlockPreferenceNode(element, style));
- manager.addToRoot(new BoxPreferenceNode(element, style));
- manager.addToRoot(new BorderPreferenceNode(element, style));
- manager.addToRoot(new ListPreferenceNode(element, style));
- manager.addToRoot(new PositioningPreferenceNode(element, style));
- manager.addToRoot(new ExtensionsPreferenceNode(element, style));
- }
-
- protected Control createDialogArea(Composite parent) {
- Control control = super.createDialogArea(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(control,
- PDPlugin.getResourceString("StyleDialog.help.id")); //$NON-NLS-1$
- PlatformUI.getWorkbench().getHelpSystem().setHelp(
- getTreeViewer().getControl(),
- PDPlugin.getResourceString("StyleDialog.help.id")); //$NON-NLS-1$
- return control;
- }
-
- protected void update() {
- super.update();
- getShell().setText(DialogsMessages.getString("StyleDialog.Title")); //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferenceNode.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferenceNode.java
deleted file mode 100644
index f88c0df66..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferenceNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TextPreferenceNode implements IPreferenceNode {
- private TextPreferencePage _page;
-
- private CSSPropertyContext _style;
-
- private IDOMElement _element;
-
- /**
- * @param element
- * @param style
- */
- public TextPreferenceNode(IDOMElement element, CSSPropertyContext style) {
- super();
- _element = element;
- _style = style;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#add(org.eclipse.jface.preference.IPreferenceNode)
- */
- public void add(IPreferenceNode node) {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#createPage()
- */
- public void createPage() {
- _page = new TextPreferencePage(_element, _style);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#disposeResources()
- */
- public void disposeResources() {
- // TODO:
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#findSubNode(java.lang.String)
- */
- public IPreferenceNode findSubNode(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getId()
- */
- public String getId() {
- return "Text"; //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelImage()
- */
- public Image getLabelImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getLabelText()
- */
- public String getLabelText() {
- return DialogsMessages.getString("TextPreferenceNode.LabelText"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getPage()
- */
- public IPreferencePage getPage() {
- return _page;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#getSubNodes()
- */
- public IPreferenceNode[] getSubNodes() {
- return new IPreferenceNode[0];
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(java.lang.String)
- */
- public IPreferenceNode remove(String id) {
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.preference.IPreferenceNode#remove(org.eclipse.jface.preference.IPreferenceNode)
- */
- public boolean remove(IPreferenceNode node) {
- return false;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferencePage.java
deleted file mode 100644
index b83070824..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/TextPreferencePage.java
+++ /dev/null
@@ -1,525 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ColorButtonDialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.wst.css.core.internal.util.declaration.CSSPropertyContext;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class TextPreferencePage extends PreferencePage {
- private CSSPropertyContext _style;
-
- private StyleCombo _fontFamilyCombo, _fontSizeNumberCombo,
- _fontSizeUnitCombo, _fontWeightCombo, _fontStyleCombo,
- _fontVariantCombo, _fontLineHeightNumberCombo,
- _fontLineHeightUnitCombo, _textTransformCombo;
-
- private ColorButtonDialogField _colorField;
-
- private Button _textDecorationUnderlineButton,
- _textDecorationOverlineButton, _textDecorationLineThroughButton,
- _textDecorationBlinkButton, _textDecorationNoneButton;
-
- /**
- * @param element
- * @param style
- */
- public TextPreferencePage(IDOMElement element, CSSPropertyContext style) {
- super();
- _style = style;
-
- // Set the preference store for the preference page.
- // IPreferenceStore store =
- // JMTIntegrationPlugin.getDefault().getPreferenceStore();
- // setPreferenceStore(store);
- setTitle(DialogsMessages.getString("TextPreferencePage.Title")); //$NON-NLS-1$
- }
-
- /**
- * @see org.eclipse.jface.preference.
- * PreferencePage#createContents(Composite)
- */
- protected Control createContents(Composite parent) {
- GridLayout layout;
- GridData data;
-
- Composite top = new Composite(parent, SWT.NONE);
- layout = new GridLayout(5, false);
- data = new GridData(GridData.FILL_BOTH);
- top.setLayout(layout);
- top.setLayoutData(data);
-
- Label fontLabel = new Label(top, SWT.NONE);
- fontLabel.setText(DialogsMessages.getString("TextPreferencePage.Font")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- fontLabel.setLayoutData(data);
-
- _fontFamilyCombo = new StyleCombo(top, SWT.NONE);
- _fontFamilyCombo.setItems(IStyleConstants.FONT_FAMILY);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- _fontFamilyCombo.setLayoutData(data);
- _fontFamilyCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _style.setFontFamily(_fontFamilyCombo.getText());
- }
- });
-
- Label sizeLabel = new Label(top, SWT.NONE);
- sizeLabel.setText(DialogsMessages.getString("TextPreferencePage.Size")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- sizeLabel.setLayoutData(data);
-
- _fontSizeNumberCombo = new StyleCombo(top, SWT.NONE);
- _fontSizeNumberCombo.setItems(IStyleConstants.FONT_SIZE_NUMBER);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontSizeNumberCombo.setLayoutData(data);
- _fontSizeNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _fontSizeUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_fontSizeNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _fontSizeUnitCombo.setEnabled(false);
- }
-
- String size = _fontSizeNumberCombo.getText();
- if (_fontSizeUnitCombo.isEnabled()) {
- size += _fontSizeUnitCombo.getText();
- }
-
- _style.setFontSize(size);
- }
- });
-
- _fontSizeUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _fontSizeUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontSizeUnitCombo.setLayoutData(data);
- _fontSizeUnitCombo.select(0);
- _fontSizeUnitCombo.setEnabled(false);
- _fontSizeUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String size = _fontSizeNumberCombo.getText();
- if (_fontSizeUnitCombo.isEnabled()) {
- size += _fontSizeUnitCombo.getText();
- }
-
- _style.setFontSize(size);
- }
- });
-
- Label weightLabel = new Label(top, SWT.NONE);
- weightLabel.setText(DialogsMessages
- .getString("TextPreferencePage.Weight")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- weightLabel.setLayoutData(data);
-
- _fontWeightCombo = new StyleCombo(top, SWT.NONE);
- _fontWeightCombo.setItems(IStyleConstants.FONT_WEIGHT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontWeightCombo.setLayoutData(data);
- _fontWeightCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String weight = _fontWeightCombo.getText();
- _style.setFontWeight(weight);
- }
- });
-
- Label stylesLabel = new Label(top, SWT.NONE);
- stylesLabel.setText(DialogsMessages
- .getString("TextPreferencePage.Style")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- stylesLabel.setLayoutData(data);
-
- _fontStyleCombo = new StyleCombo(top, SWT.NONE);
- _fontStyleCombo.setItems(IStyleConstants.FONT_STYLE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontStyleCombo.setLayoutData(data);
- _fontStyleCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String style = _fontStyleCombo.getText();
- _style.setFontStyle(style);
- }
- });
-
- new Label(top, SWT.NONE);
-
- Label variantLabel = new Label(top, SWT.NONE);
- variantLabel.setText(DialogsMessages
- .getString("TextPreferencePage.Variant")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- variantLabel.setLayoutData(data);
-
- _fontVariantCombo = new StyleCombo(top, SWT.NONE);
- _fontVariantCombo.setItems(IStyleConstants.FONT_VARIANT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontVariantCombo.setLayoutData(data);
- _fontVariantCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String variant = _fontVariantCombo.getText();
- _style.setFontVariant(variant);
- }
- });
-
- Label lineHeightLabel = new Label(top, SWT.NONE);
- lineHeightLabel.setText(DialogsMessages
- .getString("TextPreferencePage.LineHeight")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- lineHeightLabel.setLayoutData(data);
-
- _fontLineHeightNumberCombo = new StyleCombo(top, SWT.NONE);
- _fontLineHeightNumberCombo.setItems(IStyleConstants.NORMAL);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontLineHeightNumberCombo.setLayoutData(data);
- _fontLineHeightNumberCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- _fontLineHeightUnitCombo.setEnabled(true);
- try {
- Integer.valueOf(_fontLineHeightNumberCombo.getText());
- } catch (NumberFormatException ex) {
- _fontLineHeightUnitCombo.setEnabled(false);
- }
-
- String height = _fontLineHeightNumberCombo.getText();
- if (_fontLineHeightUnitCombo.isEnabled()) {
- height += _fontLineHeightUnitCombo.getText();
- }
-
- _style.setLineHeight(height);
- }
- });
-
- _fontLineHeightUnitCombo = new StyleCombo(top, SWT.READ_ONLY);
- _fontLineHeightUnitCombo.setItems(IStyleConstants.SIZE_UNIT);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _fontLineHeightUnitCombo.setLayoutData(data);
- _fontLineHeightUnitCombo.select(0);
- _fontLineHeightUnitCombo.setEnabled(false);
- _fontLineHeightUnitCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String height = _fontLineHeightNumberCombo.getText();
- if (_fontLineHeightUnitCombo.isEnabled()) {
- height += _fontLineHeightUnitCombo.getText();
- }
-
- _style.setLineHeight(height);
- }
- });
-
- Label caseLabel = new Label(top, SWT.NONE);
- caseLabel.setText(DialogsMessages.getString("TextPreferencePage.Case")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- caseLabel.setLayoutData(data);
-
- _textTransformCombo = new StyleCombo(top, SWT.NONE);
- _textTransformCombo.setItems(IStyleConstants.FONT_TEXTTRANSFORM);
- data = new GridData(GridData.FILL_HORIZONTAL);
- _textTransformCombo.setLayoutData(data);
- _textTransformCombo.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- String textTransform = _textTransformCombo.getText();
- _style.setTextTransform(textTransform);
- }
- });
-
- Label decorationLabel = new Label(top, SWT.NONE);
- decorationLabel.setText(DialogsMessages
- .getString("TextPreferencePage.Decoration")); //$NON-NLS-1$
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- decorationLabel.setLayoutData(data);
-
- Composite decorationComposite = new Composite(top, SWT.NONE);
- data = new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan = 4;
- decorationComposite.setLayoutData(data);
- layout = new GridLayout(5, true);
- layout.marginWidth = 0;
- decorationComposite.setLayout(layout);
-
- _textDecorationUnderlineButton = new Button(decorationComposite,
- SWT.CHECK);
- _textDecorationUnderlineButton
- .setText(IStyleConstants.TEXT_DECORATION[0]);
- _textDecorationUnderlineButton
- .addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- if (_textDecorationUnderlineButton.getSelection()) {
- _textDecorationNoneButton.setSelection(false);
- }
- _style.setTextDecoration(getTextDecoration());
- }
- });
-
- _textDecorationOverlineButton = new Button(decorationComposite,
- SWT.CHECK);
- _textDecorationOverlineButton
- .setText(IStyleConstants.TEXT_DECORATION[1]);
- _textDecorationOverlineButton
- .addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- if (_textDecorationOverlineButton.getSelection()) {
- _textDecorationNoneButton.setSelection(false);
- }
- _style.setTextDecoration(getTextDecoration());
- }
- });
-
- _textDecorationLineThroughButton = new Button(decorationComposite,
- SWT.CHECK);
- _textDecorationLineThroughButton
- .setText(IStyleConstants.TEXT_DECORATION[2]);
- _textDecorationLineThroughButton
- .addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- if (_textDecorationLineThroughButton.getSelection()) {
- _textDecorationNoneButton.setSelection(false);
- }
- _style.setTextDecoration(getTextDecoration());
- }
- });
-
- _textDecorationBlinkButton = new Button(decorationComposite, SWT.CHECK);
- _textDecorationBlinkButton.setText(IStyleConstants.TEXT_DECORATION[3]);
- _textDecorationBlinkButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- if (_textDecorationBlinkButton.getSelection()) {
- _textDecorationNoneButton.setSelection(false);
- }
- _style.setTextDecoration(getTextDecoration());
- }
- });
-
- _textDecorationNoneButton = new Button(decorationComposite, SWT.CHECK);
- _textDecorationNoneButton.setText(IStyleConstants.TEXT_DECORATION[4]);
- _textDecorationNoneButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- if (_textDecorationNoneButton.getSelection()) {
- _textDecorationUnderlineButton.setSelection(false);
- _textDecorationOverlineButton.setSelection(false);
- _textDecorationLineThroughButton.setSelection(false);
- _textDecorationBlinkButton.setSelection(false);
- }
- _style.setTextDecoration(getTextDecoration());
- }
- });
-
- _colorField = new ColorButtonDialogField(SWT.BORDER, new ColorUtil());
- _colorField.setLabelText(DialogsMessages
- .getString("TextPreferencePage.Color")); //$NON-NLS-1$
-
- data = new GridData(GridData.HORIZONTAL_ALIGN_END);
- _colorField.getLabelControl(null, top).setLayoutData(data);
-
- data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.grabExcessHorizontalSpace = false;
- _colorField.getComboControl(null, top).setLayoutData(data);
-
- data = new GridData();
- _colorField.getChangeControl(null, top).setLayoutData(data);
- _colorField
- .setDialogFieldApplyListener(new IDialogFieldApplyListener() {
- public void dialogFieldApplied(DialogField field) {
- String color = _colorField.getText();
- _style.setColor(color);
- }
- });
-
- initializeControls();
-
- return top;
- }
-
- private void initializeControls() {
- // font-family
- String fontFamily = _style.getFontFamily();
- if (!isEmptyString(fontFamily)) {
- int index = _fontFamilyCombo.indexOf(fontFamily);
- if (index != -1) {
- _fontFamilyCombo.select(index);
- } else {
- _fontFamilyCombo.setText(fontFamily);
- }
- }
-
- // font-size
- String fontSize = _style.getFontSize();
- if (!isEmptyString(fontSize)) {
- int index = _fontSizeNumberCombo.indexOf(fontSize);
- if (index != -1) {
- _fontSizeNumberCombo.select(index);
- } else {
- _fontSizeNumberCombo.setText(fontSize);
- }
- }
-
- // font-weight
- String fontWeight = _style.getFontWeight();
- if (!isEmptyString(fontWeight)) {
- int index = _fontWeightCombo.indexOf(fontWeight);
- if (index != -1) {
- _fontWeightCombo.select(index);
- } else {
- _fontWeightCombo.setText(fontWeight);
- }
- }
-
- // font-style
- String fontStyle = _style.getFontStyle();
- if (!isEmptyString(fontStyle)) {
- int index = _fontStyleCombo.indexOf(fontStyle);
- if (index != -1) {
- _fontStyleCombo.select(index);
- } else {
- _fontStyleCombo.setText(fontStyle);
- }
- }
-
- // font-variant
- String fontVariant = _style.getFontVariant();
- if (!isEmptyString(fontVariant)) {
- int index = _fontVariantCombo.indexOf(fontVariant);
- if (index != -1) {
- _fontVariantCombo.select(index);
- } else {
- _fontVariantCombo.setText(fontVariant);
- }
- }
-
- // line-height
- String lineHeight = _style.getLineHeight();
- if (!isEmptyString(lineHeight)) {
- int index = _fontLineHeightNumberCombo.indexOf(lineHeight);
- if (index != -1) {
- _fontLineHeightNumberCombo.select(index);
- } else {
- _fontLineHeightNumberCombo.setText(lineHeight);
- }
- }
-
- // text-transform
- String textTransform = _style.getTextTransform();
- if (!isEmptyString(textTransform)) {
- int index = _textTransformCombo.indexOf(textTransform);
- if (index != -1) {
- _textTransformCombo.select(index);
- } else {
- _textTransformCombo.setText(textTransform);
- }
- }
-
- // text-decoration
- String textDecoration = _style.getTextDecoration();
- if (!isEmptyString(textDecoration)) {
- int index = textDecoration
- .indexOf(IStyleConstants.TEXT_DECORATION[0]);
- if (index != -1) {
- _textDecorationUnderlineButton.setSelection(true);
- } else {
- _textDecorationUnderlineButton.setSelection(false);
- }
-
- index = textDecoration.indexOf(IStyleConstants.TEXT_DECORATION[1]);
- if (index != -1) {
- _textDecorationOverlineButton.setSelection(true);
- } else {
- _textDecorationOverlineButton.setSelection(false);
- }
-
- index = textDecoration.indexOf(IStyleConstants.TEXT_DECORATION[2]);
- if (index != -1) {
- _textDecorationLineThroughButton.setSelection(true);
- } else {
- _textDecorationLineThroughButton.setSelection(false);
- }
-
- index = textDecoration.indexOf(IStyleConstants.TEXT_DECORATION[3]);
- if (index != -1) {
- _textDecorationBlinkButton.setSelection(true);
- } else {
- _textDecorationBlinkButton.setSelection(false);
- }
-
- index = textDecoration.indexOf(IStyleConstants.TEXT_DECORATION[4]);
- if (index != -1) {
- _textDecorationNoneButton.setSelection(true);
- } else {
- _textDecorationNoneButton.setSelection(false);
- }
- }
-
- // color
- String color = _style.getColor();
- if (!isEmptyString(color)) {
- _colorField.setTextWithoutUpdate(color);
- }
- }
-
- private String getTextDecoration() {
- StringBuffer textDecoration = new StringBuffer();
- if (_textDecorationUnderlineButton.getSelection()) {
- textDecoration.append(_textDecorationUnderlineButton.getText())
- .append(' ');
- }
- if (_textDecorationOverlineButton.getSelection()) {
- textDecoration.append(_textDecorationOverlineButton.getText())
- .append(' ');
- }
- if (_textDecorationLineThroughButton.getSelection()) {
- textDecoration.append(_textDecorationLineThroughButton.getText())
- .append(' ');
- }
- if (_textDecorationBlinkButton.getSelection()) {
- textDecoration.append(_textDecorationBlinkButton.getText()).append(
- ' ');
- }
- if (_textDecorationNoneButton.getSelection()) {
- textDecoration.append(_textDecorationNoneButton.getText()).append(
- ' ');
- }
-
- return textDecoration.toString().trim();
- }
-
- public void setVisible(boolean visible) {
- super.setVisible(visible);
-
- getApplyButton().setVisible(false);
- getDefaultsButton().setVisible(false);
- }
-
- private boolean isEmptyString(String str) {
- if (str == null || str.length() == 0) {
- return true;
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java
deleted file mode 100644
index 3ee953060..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Ian Trimble - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTResourceProviderFactory;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.DTSkinManager;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTResourceProvider;
-import org.eclipse.jst.pagedesigner.dtresourceprovider.IDTSkin;
-import org.eclipse.jst.pagedesigner.utils.EditorUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-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.ui.dialogs.PropertyPage;
-
-/**
- * Property page for the Web Page Editor.
- *
- * @author Ian Trimble - Oracle
- */
-public class WPEPropertyPage extends PropertyPage {
-
- private IProject project;
- private TableViewer taglibTable;
- private TableViewer skinsTable;
- private Button currentButton;
- private Map<String, IDTSkin> localCurrentSkinMap = new HashMap<String, IDTSkin>();
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.dialogs.DialogPage#getDescription()
- */
- @Override
- public String getDescription() {
- return DialogsMessages.getString("WPEPropertyPage.Description"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
- */
- @Override
- protected Control createContents(Composite parent) {
- Composite top = new Composite(parent, SWT.NONE);
- GridLayout topLayout = new GridLayout(2, false);
- topLayout.marginWidth = 0;
- top.setLayout(topLayout);
- top.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- //taglibs label
- Label taglibLabel = new Label(top, SWT.NONE);
- taglibLabel.setText(DialogsMessages.getString("WPEPropertyPage.TagLibs.Label")); //$NON-NLS-1$
- taglibLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- //empty cell
- new Label(top, SWT.NONE).setVisible(false);
-
- //taglibs list
- taglibTable = new TableViewer(top, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- taglibTable.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- taglibTable.getTable().addSelectionListener(new TaglibSelectionListener());
- taglibTable.setContentProvider(new TaglibContentProvider());
- taglibTable.setLabelProvider(new TaglibLabelProvider());
- taglibTable.setInput(project);
-
- //empty cell
- new Label(top, SWT.NONE).setVisible(false);
-
- //skins label
- Label skinsLabel = new Label(top, SWT.NONE);
- skinsLabel.setText(DialogsMessages.getString("WPEPropertyPage.Skins.Label")); //$NON-NLS-1$
- skinsLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-
- //empty cell
- new Label(top, SWT.NONE).setVisible(false);
-
- //skins list
- skinsTable = new TableViewer(top, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- skinsTable.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- skinsTable.getTable().addSelectionListener(new SkinSelectionListener());
- skinsTable.setContentProvider(new SkinContentProvider());
- skinsTable.setLabelProvider(new SkinLabelProvider());
-
- //buttons
- Composite buttons = new Composite(top, SWT.NONE);
- GridLayout buttonsLayout = new GridLayout(1, true);
- buttonsLayout.marginWidth = 0;
- buttons.setLayout(buttonsLayout);
- buttons.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
- currentButton = new Button(buttons, SWT.NONE);
- currentButton.setText(DialogsMessages.getString("WPEPropertyPage.Current.Button")); //$NON-NLS-1$
- currentButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- String nsURI = getCurrentNSURI();
- IStructuredSelection selection = (IStructuredSelection)skinsTable.getSelection();
- IDTSkin dtSkin = (IDTSkin)selection.getFirstElement();
- if (dtSkin != null) {
- localCurrentSkinMap.put(nsURI, dtSkin);
- skinsTable.refresh();
- updateButtons();
- }
- }
- });
- updateButtons();
-
- return top;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.dialogs.PropertyPage#setElement(org.eclipse.core.runtime.IAdaptable)
- */
- @Override
- public void setElement(IAdaptable element) {
- Object objElement = element.getAdapter(IProject.class);
- if (objElement != null) {
- project = (IProject)objElement;
- if (taglibTable != null) {
- taglibTable.setInput(objElement);
- }
- }
- super.setElement(element);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
- @Override
- protected void performDefaults() {
- List<TaglibData> taglibDataList = getTaglibDataList();
- for (TaglibData taglibData: taglibDataList) {
- String nsURI = taglibData.getNSURI();
- IDTSkin defaultDTSkin = DTSkinManager.getInstance(project).getDefaultSkin(nsURI);
- localCurrentSkinMap.put(nsURI, defaultDTSkin);
- }
- skinsTable.refresh();
- updateButtons();
- super.performDefaults();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performOk()
- */
- @Override
- public boolean performOk() {
- Set keys = localCurrentSkinMap.keySet();
- for (Object key: keys) {
- String nsURI = (String)key;
- IDTSkin dtSkin = localCurrentSkinMap.get(nsURI);
- DTSkinManager.getInstance(project).setCurrentSkin(nsURI, dtSkin);
- }
- EditorUtil.refreshAllWPEDesignViewers();
- return super.performOk();
- }
-
- private IDTSkin getLocalCurrentSkin() {
- IDTSkin localCurrentSkin = null;
- String nsURI = getCurrentNSURI();
- localCurrentSkin = localCurrentSkinMap.get(nsURI);
- if (localCurrentSkin == null) {
- localCurrentSkin = DTSkinManager.getInstance(project).getCurrentSkin(nsURI);
- }
- return localCurrentSkin;
- }
-
- private String getCurrentNSURI() {
- String nsURI = null;
- if (skinsTable != null) {
- Object objInput = skinsTable.getInput();
- if (objInput instanceof TaglibData) {
- nsURI = ((TaglibData)objInput).getNSURI();
- }
- }
- return nsURI;
- }
-
- private List<TaglibData> getTaglibDataList() {
- List<TaglibData> taglibDataList = new ArrayList<TaglibData>();
- List<IDTResourceProvider> resourceProviders =
- DTResourceProviderFactory.getInstance().getActiveDTResourceProviders(project);
- for (IDTResourceProvider resourceProvider: resourceProviders) {
- TaglibData taglibData = new TaglibData(resourceProvider.getId());
- if (!taglibDataList.contains(taglibData)) {
- taglibDataList.add(taglibData);
- }
- }
- return taglibDataList;
- }
-
- private void updateButtons() {
- boolean currentButtonEnabled = false;
- if (skinsTable != null) {
- IStructuredSelection selection = (IStructuredSelection)skinsTable.getSelection();
- if (selection != null) {
- Object selectedObject = selection.getFirstElement();
- if (selectedObject instanceof IDTSkin) {
- IDTSkin localCurrentSkin = getLocalCurrentSkin();
- if ((IDTSkin)selectedObject != localCurrentSkin) {
- currentButtonEnabled = true;
- }
- }
- }
- }
- currentButton.setEnabled(currentButtonEnabled);
- }
-
-
-
- /**
- * Content provider for taglib table viewer.
- */
- private class TaglibContentProvider implements IStructuredContentProvider {
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement) {
- return getTaglibDataList().toArray();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- viewer.refresh();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose() {
- //nothing to dispose
- }
- }
-
-
-
- /**
- * Label provider for taglib table viewer.
- */
- private class TaglibLabelProvider extends LabelProvider {
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element) {
- Image image = null;
- if (element instanceof TaglibData) {
- image = PDPlugin.getDefault().getImage("library_obj.gif"); //$NON-NLS-1$
- }
- return image;
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element) {
- String text = null;
- if (element instanceof TaglibData) {
- TaglibData taglibData = ((TaglibData)element);
- if (taglibData.getName() != null) {
- text = taglibData.getName();
- } else {
- text = taglibData.getNSURI();
- }
- }
- return text;
- }
- }
-
-
-
- private class TaglibSelectionListener implements SelectionListener {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent event) {
- Object obj = event.item.getData();
- if (obj instanceof TaglibData) {
- skinsTable.setInput(obj);
- }
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent event) {
- widgetSelected(event);
- }
- }
-
-
-
- /**
- * Used to hold and pass taglib-related data.
- */
- private class TaglibData {
- private String nsURI;
- private String name;
- public TaglibData(String nsURI) {
- this.nsURI = nsURI;
- ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, nsURI);
- Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- Trait trait = TaglibDomainMetaDataQueryHelper.getTrait(model, "display-label"); //$NON-NLS-1$
- this.name = TraitValueHelper.getValueAsString(trait);
- }
- public String getNSURI() {
- return nsURI;
- }
- public String getName() {
- return name;
- }
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- int nsURIHashCode = 0;
- if (nsURI != null) {
- nsURIHashCode = nsURI.hashCode();
- }
- int nameHashCode = 0;
- if (name != null) {
- nameHashCode = name.hashCode();
- }
- return nameHashCode | nsURIHashCode ;
- }
- }
-
-
-
- /**
- * Content provider for skin table viewer.
- */
- private class SkinContentProvider implements IStructuredContentProvider {
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object inputElement) {
- List<IDTSkin> skinList;
- if (inputElement instanceof TaglibData) {
- skinList = DTSkinManager.getInstance(project).getSkins(((TaglibData)inputElement).getNSURI());
- } else {
- skinList = Collections.EMPTY_LIST;
- }
- return skinList.toArray();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- viewer.refresh();
- updateButtons();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose() {
- //nothing to dispose
- }
- }
-
-
-
- /**
- * Label provider for skin table viewer.
- */
- private class SkinLabelProvider extends LabelProvider {
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
- */
- public Image getImage(Object element) {
- Image image = null;
- if (element instanceof IDTSkin) {
- image = PDPlugin.getDefault().getImage("skin.png"); //$NON-NLS-1$
- }
- return image;
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
- */
- public String getText(Object element) {
- String text = null;
- if (element instanceof IDTSkin) {
- IDTSkin dtSkin = (IDTSkin)element;
- text = dtSkin.getName();
- if (dtSkin == getLocalCurrentSkin()) {
- text += " " + DialogsMessages.getString("WPEPropertyPage.Skins.Item.Current"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- return text;
- }
- }
-
-
-
- private class SkinSelectionListener implements SelectionListener {
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent event) {
- updateButtons();
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetDefaultSelected(SelectionEvent event) {
- widgetSelected(event);
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferencePage.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferencePage.java
deleted file mode 100644
index 1be27be38..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferencePage.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.utils.EditorUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * This class represents a preference page that is contributed to the
- * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage </samp>,
- * we can use the field support built into JFace that allows us to create a page
- * that is small and knows how to save, restore and apply itself.
- * <p>
- * This page is used to modify preferences only. They are stored in the
- * preference store that belongs to the main plug-in class. That way,
- * preferences can be accessed directly via the preference store.
- *
- * C.B: Copied from the GEMPreferences in the Faces Config Editor.
- */
-
-public final class PDPreferencePage extends FieldEditorPreferencePage implements
- IWorkbenchPreferencePage
-{
-
- // appearance
-
- private Group _cssLayoutGroup;
-
- // private BooleanField _enableAbsolute;
- //
- // private IntegerFieldEditor _artificialCellpadding;
-
- private class BooleanField extends BooleanFieldEditor
- {
- // private Composite parent;
-
- /**
- * @param name
- * @param label
- * @param parent
- */
- public BooleanField(String name, String label, Composite parent)
- {
- super(name, label, parent);
- // this.parent = parent;
- }
-
- // /**
- // * @return the change control button
- // */
- // public Button getButton() {
- // return getChangeControl(parent);
- // }
- }
-
- /**
- * Constructor
- */
- public PDPreferencePage()
- {
- super(GRID);
- setPreferenceStore(PDPlugin.getDefault().getPreferenceStore());
- setDescription(PreferenceMessages.PDPreferences_description);
- }
-
- /**
- * Creates the field editors. Field editors are abstractions of the common
- * GUI blocks needed to manipulate various types of preferences. Each field
- * editor knows how to save and restore itself.
- */
- public void createFieldEditors()
- {
- _cssLayoutGroup = new Group(getFieldEditorParent(), SWT.NULL);
-
- // note, we aren't saving the reference. It's assumed that parent
- // worries about destruction, persistence etc.
- /* _enableAbsolute = */addBooleanField(
- PDPreferences.CSS_ENABLE_ABSOLUTE_POSITIONING,
- PreferenceMessages.EditorPreferences_LABEL_CSSEnableAbsolutePositioning,
- _cssLayoutGroup);
- /* _artificialCellpadding = */addIntegerField(
- PDPreferences.CSS_USE_ARTIFICAL_CELL_PADDING,
- PreferenceMessages.EditorPreferences_LABEL_CSSArtificalCellPadding,
- _cssLayoutGroup);
- }
-
-
- @Override
- public boolean performOk()
- {
- final boolean succeeded = super.performOk();
- if (succeeded)
- {
- EditorUtil.refreshAllWPEDesignViewers();
- }
- return succeeded;
- }
-
-
- protected void initialize()
- {
- // Color use: Default canvas colors should pick up system defaults
- // enable or disable all of the color and font selection controls in the
- // preference dialog
- // depending on whether the "Use System Colors" checkbox is selected.
- super.initialize();
-
- ((GridLayout) getFieldEditorParent().getLayout()).numColumns = 1;
- _cssLayoutGroup.setLayout(new GridLayout(2, false));
- _cssLayoutGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL
- | GridData.VERTICAL_ALIGN_BEGINNING));
- }
-
- public void init(IWorkbench workbench)
- {
- // no initialization
- }
-
- private IntegerFieldEditor addIntegerField(String name, String labelText,
- Composite parent)
- {
- IntegerFieldEditor f = new IntegerFieldEditor(name, labelText, parent);
- addField(f);
- return f;
- }
-
- private BooleanField addBooleanField(String name, String labelText,
- Composite parent)
- {
- BooleanField f = new BooleanField(name, labelText, parent);
- addField(f);
- return f;
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferences.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferences.java
deleted file mode 100644
index b2dda7a85..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PDPreferences.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.ui.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-
-/**
- * Utility class for handling preferences related to the Web Page Editor plug-in.
- * <br>
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class PDPreferences extends AbstractPreferenceInitializer {
-
- /**
- * Preference used to set modes for the page designer when displayed in a
- * sash editor.
- */
- public static final String SASH_EDITOR_MODE_PREF = PDPreferences.class
- .getName()
- + ".sash_editor_mode"; //$NON-NLS-1$
- /**
- * The number of pixels of artificial cell padding to use Default = 0
- */
- public final static String CSS_USE_ARTIFICAL_CELL_PADDING = PDPreferences.class
- .getName()
- + ".CSSArtificalCellPadding"; //$NON-NLS-1$
- /**
- * Whether or not to enable absolute positioning Default = false
- */
- public final static String CSS_ENABLE_ABSOLUTE_POSITIONING = PDPreferences.class
- .getName()
- + ".CSSEnableAbsolutePositioning"; //$NON-NLS-1$
- /**
- * The default value for absolute positioning enablement
- */
- public static final boolean DEFAULT_CSS_ENABLE_ABSOLUTE_POSITIONING = false;
- /**
- * The default value for artificial cell padding.
- */
- public static final int DEFAULT_CSS_USE_ARTIFICIAL_CELL_PADDING = 4;
-
- private static IPreferenceStore getPreferenceStore()
- {
- return PDPlugin.getDefault().getPreferenceStore();
- }
-
- /**
- * @return the css absolute positioning enablement flag.
- */
- public boolean isCssAbsolutePositioningEnabled()
- {
- final IPreferenceStore store = getPreferenceStore();
- return store.getBoolean(CSS_ENABLE_ABSOLUTE_POSITIONING);
- }
-
- /**
- * @return the css artificial cell padding preference
- */
- public int getCssArtificialCellPadding()
- {
- final IPreferenceStore store = getPreferenceStore();
- return store.getInt(CSS_USE_ARTIFICAL_CELL_PADDING);
- }
-
- @Override
- public void initializeDefaultPreferences()
- {
- // Set default HTML editor split vertical (i.e. with top and bottom
- // pane)
- IPreferenceStore store = getPreferenceStore();
- store.setDefault(SASH_EDITOR_MODE_PREF, HTMLEditor.MODE_SASH_VERTICAL);
- store.setDefault(CSS_USE_ARTIFICAL_CELL_PADDING,
- DEFAULT_CSS_USE_ARTIFICIAL_CELL_PADDING);
- store.setDefault(CSS_ENABLE_ABSOLUTE_POSITIONING,
- DEFAULT_CSS_ENABLE_ABSOLUTE_POSITIONING);
- }
-} \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.java
deleted file mode 100644
index 0caaeeecb..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jst.pagedesigner.ui.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-/*package*/ class PreferenceMessages extends NLS
-{
- private static final String BUNDLE_NAME = "org.eclipse.jst.pagedesigner.ui.preferences.PreferenceMessages"; //$NON-NLS-1$
- /**
- * See PreferenceMessages.properties
- */
- public static String PDPreferences_description;
- /**
- * See PreferenceMessages.properties
- */
- public static String EditorPreferences_LABEL_CSSArtificalCellPadding;
- /**
- * See PreferenceMessages.properties
- */
- public static String EditorPreferences_LABEL_CSSEnableAbsolutePositioning;
-
- private PreferenceMessages() {
- // Do not instantiate
- }
-
- static {
- NLS.initializeMessages(BUNDLE_NAME, PreferenceMessages.class);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.properties
deleted file mode 100644
index c7c72051b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/preferences/PreferenceMessages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-PDPreferences_description=Preferences for the design page of Web Page Editor.
-EditorPreferences_LABEL_CSSArtificalCellPadding=Add Artificial Padding Around Containers:
-EditorPreferences_LABEL_CSSEnableAbsolutePositioning=Enable Absolute CSS Position \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/BodyHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/BodyHelper.java
deleted file mode 100644
index 725bcad7e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/BodyHelper.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.adapters.IBodyInfo;
-import org.eclipse.jst.pagedesigner.adapters.internal.BodyInfo;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition2;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * This class helps location insertion position to inside correct body or doc
- * prefix. NOTE: this class only doing limited support on doc level position
- * validation. Element specific position validation will be done in other
- * places.
- *
- * @author mengbo
- */
-public class BodyHelper {
- // bit flags used for child skipping.
- /**
- * Bit flag for empty text node
- */
- public static final int EMPTY_TEXT = 1;
-
- /**
- * Bit flag for comment node
- */
- public static final int COMMENT = 2;
-
- /**
- * Bit flag for HEAD node
- */
- public static final int HEADER = 3;
-
- /**
- *
- * @param child
- * @return boolean
- */
- private static boolean isSkippableChild(Node parent, Node child, int flag) {
- if ((flag & COMMENT) != 0 && child.getNodeType() == Node.COMMENT_NODE)
- return true;
- if ((flag & EMPTY_TEXT) != 0 && child instanceof IDOMText
- && ((IDOMText) child).isElementContentWhitespace())
- return true;
-
- if ((flag & HEADER) != 0 && child.getNodeType() == Node.ELEMENT_NODE) {
- String uri = CMUtil.getElementNamespaceURI((Element) child);
- IBodyInfo parentInfo = getBodyInfo((IDOMNode) parent);
- if (parentInfo != null
- && parentInfo.isBodyHeader((IDOMNode) parent, uri,
- ((Element) child).getLocalName()))
- return true;
- }
- return false;
- }
-
- /**
- * check whether uri/tag should be header of any body container that is
- * ancester of the start node.
- *
- * @param start
- * @param uri
- * @param tag
- * @return IDOMNode
- */
- public static IDOMNode findHeaderContainer(IDOMNode start, String uri,
- String tag) {
- while (start != null) {
- IBodyInfo designInfo = getBodyInfo(start);
- if (designInfo != null && designInfo.isBodyContainer(start)) {
- if (designInfo.isBodyHeader(start, uri, tag))
- return start;
- }
- start = (IDOMNode) start.getParentNode();
- }
- return null;
- }
-
- /**
- * find the closest body insertion point, to make it as deep as possible.
- * (Move into as more body as possible)
- * @param position
- * @return IDOMPosition
- */
- public static IDOMPosition findBodyInsertLocation(IDOMPosition position) {
- // forward first.
- Node reference = position.getNextSiblingNode();
- Node container = position.getContainerNode();
- while (reference != null) {
- IBodyInfo info = getBodyInfo((IDOMNode) reference);
- if (info != null && info.isBodyContainer((IDOMNode) reference)) {
- // good, we find a body!
- position = new DOMPosition(reference, 0);
- return findBodyInsertLocation(position);
- }
- if (isSkippableChild(container, reference, EMPTY_TEXT | COMMENT
- | HEADER)) {
- reference = reference.getNextSibling();
- continue;
- }
- break;
- }
-
- // backward
- reference = position.getPreviousSiblingNode();
- while (reference != null) {
- IBodyInfo info = getBodyInfo((IDOMNode) reference);
- if (info != null && info.isBodyContainer((IDOMNode) reference)) {
- // good, we find a body!
- position = new DOMPosition(reference, reference.getChildNodes()
- .getLength());
- return findBodyInsertLocation(position);
- }
- // XXX: not skip header here. So if there is some header with wrong
- // location, we will respect user.
- if (isSkippableChild(container, reference, EMPTY_TEXT | COMMENT)) {
- reference = reference.getPreviousSibling();
- continue;
- }
- break;
- }
-
- // not find any body at same level as the insertion point.
- return position;
- }
-
- /**
- * The element type identified by "uri" and "tag" is going to be inserted
- * into the document. This method is used to adjust the insert position so
- * it can be put into correct body or header section.
- * @param uri
- * @param tag
- * @param position
- * @return IDOMPosition
- *
- */
- public static IDOMPosition adjustInsertPosition(String uri, String tag,
- IDOMPosition position) {
- IDOMNode parent = (IDOMNode) position.getContainerNode();
- IBodyInfo designInfo = getBodyInfo(parent);
- if (designInfo == null) {
- return position; // should not happen.
- }
-
- IDOMNode headerContainer = findHeaderContainer(parent, uri, tag);
-
- if (headerContainer == null) {
- // the new node is not header.
- if (shouldIgnoreAdjust(uri, tag)) {
- return position;
- }
-
- // new node is not body header. So should place inside the inner most
- // body.
- if (!designInfo.isBodyContainer(parent)) {
- return position; // it's parent is not body, so we suggest
- // it's parent already correctly located, and respect user's
- // choice.
- }
-
- // ok, we are inside some body, but we don't know whether we are in
- // the inner most body.
- // try to find a body container at same level and see whether we can
- // move into that body.
- return findBodyInsertLocation(position);
- }
- // good, we find a body container and the new node should be header
- // of it.
- Node child = headerContainer.getFirstChild();
-
- // if parent is different from headerContainer, then
- // child!=referenceHolder[0] will always be true
- while (child != null) // && child != refNode)
- {
- Comparator comp = NodeLocationComparator.getInstance();
- // Currently the comparator deels with tags like taglib and
- // loadbundle particularly, comparasion result 0
- // means it didn't compare the tags.
- if (comp.compare(child, tag) < 0
- || (comp.compare(child, tag) == 0 && isSkippableChild(
- headerContainer, child, COMMENT | EMPTY_TEXT
- | HEADER))) {
- child = child.getNextSibling();
- } else {
- break;
- }
- }
- if (child != null) {
- return new DOMRefPosition(child, false);
- }
- return new DOMPosition(parent, parent.getChildNodes()
- .getLength());
- }
-
- /**
- * Find the position to insert a header element into the specified parent.
- *
- * @param uri
- * @param tag
- * @param parent
- * @param ref
- */
- public static void findHeaderInsertPosition(String uri, String tag,
- Node parent, Node[] ref) {
- Node child = parent.getFirstChild();
- while (child != null) {
- Comparator comp = NodeLocationComparator.getInstance();
- if (comp.compare(child, tag) < 0
- || (comp.compare(child, tag) == 0 && isSkippableChild(
- parent, child, COMMENT | EMPTY_TEXT | HEADER))) {
- child = child.getNextSibling();
- } else {
- break;
- }
- }
- ref[0] = child;
- return;
- }
-
- /**
- * @param position
- * @param body
- * @param defaultPrefix
- * @return the new dom position based on the insert. May return null if
- * insert fails.
- */
- public static IDOMPosition insertBody(IDOMPosition position, QName body,
- String defaultPrefix) {
- IBodyInfo bodyInfo = getBodyInfo((IDOMNode) position.getContainerNode());
-
- Node node = position.getContainerNode();
- final Node originalContainer = node;
- final Node nextSibling = position.getNextSiblingNode();
-
- // create the body element first.
- Document ownerDoc;
- if (node instanceof Document) {
- ownerDoc = (Document) node;
- } else {
- ownerDoc = node.getOwnerDocument();
- }
- if (ownerDoc == null) {
- return null; // should not happen
- }
-
- final String prefix = JSPUtil.getOrCreatePrefix(((IDOMNode) node).getModel(),
- body.getNamespaceURI(), defaultPrefix);
- final Element ele = ownerDoc.createElement((prefix == null ? "" //$NON-NLS-1$
- : (prefix + ":")) //$NON-NLS-1$
- + body.getLocalPart());
-
- // need to find out the insertion point
- while (node instanceof IDOMNode) {
- if (bodyInfo.isBodyContainer((IDOMNode) node)) {
- // ok, node is a body container.
- // we could create the new node as child of node and move all
- // node's none header children
- // as children of the new node.
-
- NodeList nl = node.getChildNodes();
- ArrayList list = new ArrayList();
- for (int i = 0; i < nl.getLength(); i++) {
- Node child = nl.item(i);
- if (isSkippableChild(node, child, HEADER | COMMENT
- | EMPTY_TEXT)) {
- continue;
- }
- list.add(nl.item(i));
- }
- for (int i = 0; i < list.size(); i++) {
- ele.appendChild((Node) list.get(i));
- }
- node.appendChild(ele);
-
- if (node == originalContainer) {
- if (nextSibling == null) {
- return new DOMRefPosition2(ele, true);
- } else if (nextSibling.getParentNode() == ele) {
- // next sibling is not in header part
- return new DOMRefPosition(nextSibling, false);
- } else {
- return new DOMPosition(ele, 0);
- }
- }
- return position;
- }
- node = node.getParentNode();
- }
- // should not happen, because document and documentfragment node will
- // always be body node
- // so if reach here, means the position is not in document.
- return null;
- }
-
- /**
- * For certain special tags, do not following the "header"/"body" separation
- * and can't fit into the relocation process.
- *
- * @param uri
- * @param tag
- * @return true if tag is an element that should be moved in response to
- * body insert.
- */
- public static boolean shouldIgnoreAdjust(String uri, String tag) {
- // FIXME:
- return (ITLDConstants.URI_HTML.equalsIgnoreCase(uri) && "script" //$NON-NLS-1$
- .equalsIgnoreCase(tag))
- || (ITLDConstants.URI_JSP.equals(uri));
- }
-
- /**
- * @param node
- * @return the body info corresponding to node (should we use a node adapter?)
- */
- public static IBodyInfo getBodyInfo(IDOMNode node) {
- // TODO: in the future, when bodyinfo is no longer singleton, we'll use
- // adapter mechanism.
- return BodyInfo.getInstance();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java
deleted file mode 100644
index 548328177..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CacheManager.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-/**
- * This is a cache manager. It will use the ICacheEntryCreator interface to
- * manage creating new item and dispose old item.
- *
- * @author mengbo
- * @version 1.5
- */
-public class CacheManager {
- ICacheEntryCreator _creator;
-
- int _maxSize;
-
- // key --> value
- Map _map = new HashMap();
-
- // keep track of LRU
- LinkedList _keys = new LinkedList();
-
- /**
- * @param creator
- * @param maxSize
- */
- public CacheManager(ICacheEntryCreator creator, int maxSize) {
- _creator = creator;
- _maxSize = maxSize;
- if (_maxSize <= 0) {
- _maxSize = 10;
- }
- }
-
- /**
- * @param key
- * @return the cache entry for key
- */
- public Object getEntry(Object key) {
- Object result = _map.get(key);
- if (result == null) {
- // not existed yet.
- if (_map.size() >= _maxSize) {
- // we need to remove the oldest one.
- Object keyRemove = _keys.removeFirst();
- Object objToRemove = _map.remove(keyRemove);
- _creator.dispose(keyRemove, objToRemove);
- }
- result = _creator.createEntry(key);
- _keys.addLast(key);
- _map.put(key, result);
- return result;
- }
- _keys.remove(key);
- _keys.addLast(key);
- return result;
- }
-
- /**
- * Dispose the cache
- */
- public void disposeAll() {
- _keys.clear();
- for (Iterator iter = _map.keySet().iterator(); iter.hasNext();) {
- Object key = iter.next();
- Object entry = _map.get(key);
- _creator.dispose(key, entry);
- }
- _map.clear();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java
deleted file mode 100644
index 281f04580..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.editors.palette.IDropSourceData;
-import org.eclipse.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.jst.pagedesigner.itemcreation.CreationData;
-import org.eclipse.jst.pagedesigner.itemcreation.ITagCreator;
-import org.eclipse.jst.pagedesigner.itemcreation.internal.TagCreationFactory;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CommandUtil
-{
- private static final Logger _log = PDPlugin.getLogger(CommandUtil.class);
-
- /**
- * @param dropSourceData
- * @param model
- * @param domPosition
- * @param customizationData
- * @return the element inserted or null if failed
- */
- public static Element executeInsertion(
- final IDropSourceData dropSourceData, final IDOMModel model,
- final IDOMPosition domPosition, final IAdaptable customizationData)
- {
- try
- {
- final ITaglibDomainMetaDataModelContext modelContext = getMetadataContext(
- dropSourceData.getNamespace(), model);
-
- ITagDropSourceData tagDropSourceData = null;
-
- if (dropSourceData instanceof ITagDropSourceData)
- {
- tagDropSourceData = (ITagDropSourceData) dropSourceData;
- } else if (customizationData != null)
- {
- tagDropSourceData = (ITagDropSourceData) customizationData
- .getAdapter(ITagDropSourceData.class);
- }
-
- if (tagDropSourceData == null)
- {
- PDPlugin
- .log(
- "Could not down cast dropSourceData to tagDropSourceData", new Exception("for stack trace only")); //$NON-NLS-1$//$NON-NLS-2$
- }
-
- // TODO: note that the constructor currently causes the prefix defn
- // to be added to the target doc. This should be moved into
- // an ensure method in the AbstractTagCreator
- final CreationData creationData = new CreationData(
- tagDropSourceData, model, domPosition, modelContext,
- customizationData);
-
- final ITagCreator tagCreator = TagCreationFactory.getInstance()
- .createTagCreator(creationData.getTagId());
-
- if (tagCreator == null)
- {
- return null;// should never get here!
- }
-
- return tagCreator.createTag(creationData);
- } catch (Exception e)
- {
- _log
- .error(
- "Problem creating tag " + dropSourceData.getId() + " at:" + domPosition + "\n", e); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- return null;
- }
-
- /**
- * @param uri
- * @param model
- * @return the metadata context for uri in the DOM model or null if none.
- */
- public static ITaglibDomainMetaDataModelContext getMetadataContext(
- final String uri, final IDOMModel model)
- {
- final IStructuredDocument doc = model.getDocument()
- .getStructuredDocument();
-
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE
- .getContext(doc, -1);
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE
- .getWorkspaceContextResolver(context);
-
- final IProject project = resolver.getProject();
-
- final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
- .createMetaDataModelContext(project, uri);
- return modelContext;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/DOMUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/DOMUtil.java
deleted file mode 100644
index 196a87c7e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/DOMUtil.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.xml.core.internal.document.ElementImpl;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DOMUtil {
- /**
- * @param parent
- * @param tag
- * @return the list of child elements of parent that are Elements
- * and that have name 'tag' ignoring case
- */
- public static List getChildElementsByTagIgnoreCase(Element parent,
- String tag) {
- List ret = new ArrayList();
- NodeList nodeList = parent.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- String t = node.getNodeName();
- if (tag.equalsIgnoreCase(t)) {
- ret.add(node);
- }
- }
- }
- return ret;
- }
-
- /**
- * @param ele
- * @return the element value of the TEXT_NODE children of element
- * concat'd together
- */
- public static String getTextElementValue(Element ele) {
- StringBuffer buffer = new StringBuffer();
- Node node = ele.getFirstChild();
- while (node != null) {
- if (node.getNodeType() == Node.TEXT_NODE) {
- buffer.append(node.getNodeValue());
- } else if (node.getNodeType() == Node.CDATA_SECTION_NODE) {
- buffer.append(node.getNodeValue());
- }
- node = node.getNextSibling();
- }
- return buffer.toString();
- }
-
- /**
- * @param element
- * @param string
- * @return the attribute named string on element ignoring case in the comparison
- * or null if not found
- */
- public static String getAttributeIgnoreCase(Element element, String string) {
- NamedNodeMap map = element.getAttributes();
- for (int i = 0; i < map.getLength(); i++) {
- Node attr = map.item(i);
- if (string.equalsIgnoreCase(attr.getNodeName())) {
- return attr.getNodeValue();
- }
- }
- return null;
- }
-
- /**
- * @param parent
- * @param tags
- * @return the list of children of parent with name in tags ignoring case
- */
- public static List getChildrenByTagsIgnoreCase(Element parent, String[] tags) {
- List result = new ArrayList();
- NodeList nodeList = parent.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- String t = node.getNodeName();
- for (int k = 0; k < tags.length; k++) {
- if (tags[k].equalsIgnoreCase(t)) {
- result.add(node);
- break;
- }
- }
- }
- }
- return result;
- }
-
- /**
- * @param ele
- */
- public static void removeAllChildren(Element ele) {
- ((ElementImpl) ele).removeChildNodes();
- }
-
- /**
- * @param ele
- * @param value
- */
- public static void setTextElementValue(Element ele, String value) {
- removeAllChildren(ele);
- Text txt = ele.getOwnerDocument().createTextNode(value);
- ele.appendChild(txt);
- }
-
- /**
- * @param ele
- * @param attr
- * @param defaultvalue
- * @return the integer attribute of ele called attr. Default value
- * is returned if the attribute is not found.
- */
- public static int getIntAttributeIgnoreCase(Element ele, String attr,
- int defaultvalue) {
- if (ele == null) {
- return defaultvalue;
- }
- String attrvalue = getAttributeIgnoreCase(ele, attr);
- if (attrvalue == null) {
- return defaultvalue;
- }
- try {
- return Integer.parseInt(attrvalue);
- } catch (NumberFormatException ex) {
- return defaultvalue;
- }
- }
-
- /**
- * get all child elements
- *
- * @param ele
- * @return the list of element children of type ELEMENT_NODE
- */
- public static List getElementChildren(Element ele) {
- List ret = new ArrayList();
- NodeList nodeList = ele.getChildNodes();
- for (int i = 0, size = nodeList.getLength(); i < size; i++) {
- Node node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- ret.add(node);
- }
- }
- return ret;
- }
-
- /**
- * judge whether element has an attribute named attrName
- *
- * @param ele
- * @param attrName
- * @return true if element has attribute called attrName ignoring
- * case in the comparison.
- */
- public static boolean hasAttribute(Element ele, String attrName) {
- NamedNodeMap map = ele.getAttributes();
- for (int i = 0; i < map.getLength(); i++) {
- Node attr = map.item(i);
- if (attr.getNodeName().equalsIgnoreCase(attrName)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param node
- * @param sb
- */
- public static void nodeToString(Node node, StringBuffer sb) {
- int type = node.getNodeType();
- switch (type) {
- case Node.DOCUMENT_NODE:
- sb.append("<?xml version=\"1.0\" ?>"); //$NON-NLS-1$
- nodeToString(((Document) node).getDocumentElement(), sb);
- break;
-
- case Node.ELEMENT_NODE:
- sb.append("<"); //$NON-NLS-1$
- sb.append(node.getNodeName());
- NamedNodeMap attrs = node.getAttributes();
- for (int i = 0; i < attrs.getLength(); i++) {
- Node attr = attrs.item(i);
- sb.append(" " + attr.getNodeName() + "=\"" //$NON-NLS-1$ //$NON-NLS-2$
- + attr.getNodeValue() + "\""); //$NON-NLS-1$
- }
-
- NodeList children = node.getChildNodes();
- if (children != null) {
- int len = children.getLength();
- if (len != 0) {
- sb.append(">"); //$NON-NLS-1$
- }
- for (int i = 0; i < len; i++) {
- nodeToString(children.item(i), sb);
- }
- }
- break;
-
- case Node.ENTITY_REFERENCE_NODE:
- sb.append("&"); //$NON-NLS-1$
- sb.append(node.getNodeName());
- sb.append(";"); //$NON-NLS-1$
- break;
-
- case Node.CDATA_SECTION_NODE:
- sb.append("<![CDATA["); //$NON-NLS-1$
- sb.append(node.getNodeValue());
- sb.append("]]>"); //$NON-NLS-1$
- break;
-
- case Node.TEXT_NODE:
- sb.append(node.getNodeValue());
- break;
-
- case Node.PROCESSING_INSTRUCTION_NODE:
- sb.append("<?"); //$NON-NLS-1$
- sb.append(node.getNodeName());
- String data = node.getNodeValue();
- {
- sb.append(" "); //$NON-NLS-1$
- sb.append(data);
- }
- sb.append("?>"); //$NON-NLS-1$
- break;
- }
-
- if (type == Node.ELEMENT_NODE) {
- if (node.getFirstChild() != null) {
- sb.append("</"); //$NON-NLS-1$
- sb.append(node.getNodeName());
- sb.append(">"); //$NON-NLS-1$
- } else {
- sb.append("/>"); //$NON-NLS-1$
- }
-
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EditorUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EditorUtil.java
deleted file mode 100644
index bfffd3cef..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EditorUtil.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * Utility class for Editor related information.
- * <br>
- * <p><b>Provisional API - subject to change</b></p>
- */
-public class EditorUtil {
-
- private static final String PROPERTY_QUALIFIER = "org.eclipse.jst.pagedesigner"; //$NON-NLS-1$
- private static final String PERSIST_PROPERTY_NAME_DESIGNER_MODE = "DesignMode"; //$NON-NLS-1$
- private static final QualifiedName PERSIST_PROPERTY_KEY_DESIGNER_MODE =
- new QualifiedName(PROPERTY_QUALIFIER, PERSIST_PROPERTY_NAME_DESIGNER_MODE);
-
- /**
- * Find the design mode property for the file resource of the
- * editor input. If found, then return the property value,
- * otherwise return null.
- *
- * @param editorInput
- * @return user selected design mode for the editor input file
- */
- public static String getEditorInputDesignModeProperty(IEditorInput editorInput) {
- String dmProperty = null;
- if (editorInput != null) {
- IResource res = ResourceUtil.getResource(editorInput);
- if (res != null) {
- try {
- dmProperty = res.getPersistentProperty(PERSIST_PROPERTY_KEY_DESIGNER_MODE);
- } catch (CoreException e) {
- // do nothing;
- }
- }
- }
-
- return dmProperty;
- }
-
- /**
- * Save the design mode property for the file resource of the
- * editor input. If the supplied mode is <code>null</code>,
- * the persistent property is removed from this resource.
- *
- * @param editorInput
- * @param mode user selected design mode to be saved
- */
- public static void setEditorInputDesignModeProperty(IEditorInput editorInput, String mode) {
- if (editorInput != null) {
- IResource res = ResourceUtil.getResource(editorInput);
- if (res != null) {
- try {
- res.setPersistentProperty(PERSIST_PROPERTY_KEY_DESIGNER_MODE, mode);
- } catch (CoreException e) {
- // do nothing;
- }
- }
- }
- }
-
- /**
- * Calls <code>refreshDesignViewer()</code> on all open HTMLEditor
- * (Web Page Editor) instances.
- */
- public static void refreshAllWPEDesignViewers() {
- IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow();
- if (window != null) {
- IWorkbenchPage page = window.getActivePage();
- if (page != null) {
- IEditorReference[] editorRefs = page.getEditorReferences();
- for (IEditorReference editorRef: editorRefs) {
- IEditorPart editorPart = editorRef.getEditor(false);
- if (editorPart instanceof HTMLEditor) {
- ((HTMLEditor)editorPart).refreshDesignViewer();
- }
- }
- }
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EntityMap.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EntityMap.java
deleted file mode 100644
index 0b68bad6d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/EntityMap.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- */
-public class EntityMap {
- private static Logger _log = PDPlugin.getLogger(EntityMap.class);
-
- /**
- * @param s
- * @return s translated for HTML entities.
- */
- public static String translate(String s) {
- char[] array = s.toCharArray();
- StringBuffer buffer = new StringBuffer();
- int posi = 0;
- int len = array.length;
- while (posi < len) {
- if (array[posi] != '&') {
- buffer.append(replaceBadEntity(array[posi++]));
- continue;
- }
-
- // now array[posi] == '&'
- int lastPosi = posi;
- posi++;
- if (posi < len && array[posi] == '#') {
- posi++;
- }
- while (posi < len) {
- if (!Character.isLetterOrDigit(array[posi]))
- {
- break;
- }
- posi++;
- }
- // now posi>=array.length or array[posi] is non letter or digit
- String str = new String(array, lastPosi, posi - lastPosi);
- if (translateEntity(str, buffer)) {
- // translated, skip the ';'
- if (posi < len && array[posi] == ';') {
- posi++;
- }
- }
-
- if (posi == len) {
- return buffer.toString();
- }
- }
- return buffer.toString();
- }
-
- /**
- * Translate entity maps and compact whitespace. For heading and training
- * space, will not trim, only compact (making multiple whitespace to become
- * a single ' ' char).
- * @param s
- * @return the result string.
- */
- public static String translateAndCompact(String s) {
- char[] array = s.toCharArray();
- StringBuffer buffer = new StringBuffer();
- int posi = 0;
- int len = array.length;
- while (posi < len) {
- if (HTMLUtil.isHTMLWhitespace(array[posi])) {
- while (++posi < len && HTMLUtil.isHTMLWhitespace(array[posi]))
- {
- // no body
- // loop until we have find non-whitepspace or endof array
- }
-
- buffer.append(' ');
- continue;
- }
- if (array[posi] != '&') {
- buffer.append(replaceBadEntity(array[posi++]));
- continue;
- }
-
- // now array[posi] == '&'
- int lastPosi = posi;
- posi++;
- if (posi < len && array[posi] == '#') {
- posi++;
- }
- while (posi < len) {
- if (!Character.isLetterOrDigit(array[posi])) {
- break;
- }
- posi++;
- }
- // now posi>=array.length or array[posi] is non letter or digit
- String str = new String(array, lastPosi, posi - lastPosi);
-
- if (translateEntity(str, buffer)) {
- // translated, skip the ';'
- if (posi < len && array[posi] == ';') {
- posi++;
- }
- }
-
- if (posi == len) {
- return buffer.toString();
- }
- }
- return buffer.toString();
- }
-
- /**
- * if can translate will return true and append the result string if can't
- * translate will return false and append original string
- *
- * @param s
- * the form &#number or &letterordigit without the trailing ";"
- * @param strBuf
- * @return true the translation can be done
- */
- public static boolean translateEntity(String s, StringBuffer strBuf) {
- int i = HTMLSpecialCharHelper.getSpecial(s); // HTMLSpecialCharHelper
- // support without
- // traning ';'
- if (i != -1) {
- strBuf.append((char) i);
- return true;
- }
- if (s.length() > 2 && s.charAt(1) == '#') {
- String number;
- number = s.substring(2);
- try {
- int n;
- if (number.length() > 0
- && (number.charAt(0) == 'x' || number.charAt(0) == 'X')) {
- n = Integer.parseInt(number.substring(1), 16);
- } else {
- n = Integer.parseInt(number);
- }
- strBuf.append(replaceBadEntity((char) n));
- return true;
- } catch (Exception ex) {
- // Error in integer formating
- _log.info("Error occurred in integer formatting", ex); //$NON-NLS-1$
- strBuf.append(s);
- return false;
- }
- }
- strBuf.append(s);
- return false;
- }
-
- /**
- * In HTML &#149; is sometimes used (mostly based on CP 1252), but is
- * illegal, because it does not exist in Unicode
- *
- * @param n
- * @return
- * see http://www.w3.org/Talks/1999/0830-tutorial-unicode-mjd/slide27-0.html
- */
- private static char replaceBadEntity(char n) {
- if (n < 132 || n > 156)
- return n;
- switch (n) {
- case 132:
- return (char) 8222;
- case 133:
- return (char) 8230;
- case 134:
- return (char) 8224;
- case 135:
- return (char) 8225;
- case 139:
- return (char) 8249;
- case 140:
- return (char) 338;
- case 145:
- return (char) 8216;
- case 146:
- return (char) 8217;
- case 147:
- return (char) 8220;
- case 148:
- return (char) 8221;
- case 149:
- return (char) 8226;
- case 151:
- return (char) 8212;
- case 153:
- return (char) 8482;
- case 155:
- return (char) 8250;
- case 156:
- return (char) 339;
- default:
- return n;
- }
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLSpecialCharHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLSpecialCharHelper.java
deleted file mode 100644
index d30fcd2ed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLSpecialCharHelper.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * entity map support.
- *
- * @author mengbo
- */
-public class HTMLSpecialCharHelper {
- private static Logger _log = PDPlugin
- .getLogger(HTMLSpecialCharHelper.class);
-
- private static Hashtable _table;
-
- private static Hashtable _reverse;
- static {
- _table = new Hashtable(256);
-
- _table.put(Integer.valueOf(34), "&quot;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(38), "&amp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(60), "&lt;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(62), "&gt;"); //$NON-NLS-1$
-
- _table.put(Integer.valueOf(160), "&nbsp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(161), "&iexcl;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(162), "&cent;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(163), "&pound;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(164), "&curren;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(165), "&yen;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(166), "&brvbar;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(167), "&sect;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(168), "&uml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(169), "&copy;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(170), "&ordf;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(171), "&laquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(172), "&not;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(173), "&shy;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(174), "&reg;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(175), "&macr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(176), "&deg;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(177), "&plusmn;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(178), "&sup2;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(179), "&sup3;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(180), "&acute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(181), "&micro;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(182), "&para;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(183), "&middot;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(184), "&cedil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(185), "&sup1;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(186), "&ordm;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(187), "&raquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(188), "&frac14;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(189), "&frac12;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(190), "&frac34;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(191), "&iquest;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(192), "&Agrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(193), "&Aacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(194), "&Acirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(195), "&Atilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(196), "&Auml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(197), "&Aring;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(198), "&AElig;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(199), "&Ccedil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(200), "&Egrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(201), "&Eacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(202), "&Ecirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(203), "&Euml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(204), "&Igrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(205), "&Iacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(206), "&Icirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(207), "&Iuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(208), "&ETH;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(209), "&Ntilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(210), "&Ograve;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(211), "&Oacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(212), "&Ocirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(213), "&Otilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(214), "&Ouml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(215), "&times;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(216), "&Oslash;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(217), "&Ugrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(218), "&Uacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(219), "&Ucirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(220), "&Uuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(221), "&Yacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(222), "&THORN;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(223), "&szlig;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(224), "&agrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(225), "&aacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(226), "&acirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(227), "&atilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(228), "&auml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(229), "&aring;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(230), "&aelig;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(231), "&ccedil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(232), "&egrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(233), "&eacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(234), "&ecirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(235), "&euml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(236), "&igrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(237), "&iacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(238), "&icirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(239), "&iuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(240), "&eth;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(241), "&ntilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(242), "&ograve;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(243), "&oacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(244), "&ocirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(245), "&otilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(246), "&ouml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(247), "&divide;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(248), "&oslash;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(249), "&ugrave;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(250), "&uacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(251), "&ucirc;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(252), "&uuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(253), "&yacute;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(254), "&thorn;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(255), "&yuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(402), "&fnof;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(913), "&Alpha;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(914), "&Beta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(915), "&Gamma;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(916), "&Delta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(917), "&Epsilon;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(918), "&Zeta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(919), "&Eta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(920), "&Theta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(921), "&Iota;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(922), "&Kappa;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(923), "&Lambda;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(924), "&Mu;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(925), "&Nu;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(926), "&Xi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(927), "&Omicron;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(928), "&Pi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(929), "&Rho;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(931), "&Sigma;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(932), "&Tau;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(933), "&Upsilon;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(934), "&Phi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(935), "&Chi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(936), "&Psi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(937), "&Omega;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(945), "&alpha;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(946), "&beta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(947), "&gamma;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(948), "&delta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(949), "&epsilon;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(950), "&zeta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(951), "&eta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(952), "&theta;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(953), "&iota;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(954), "&kappa;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(955), "&lambda;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(956), "&mu;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(957), "&nu;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(958), "&xi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(959), "&omicron;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(960), "&pi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(961), "&rho;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(962), "&sigmaf;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(963), "&sigma;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(964), "&tau;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(965), "&upsilon;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(966), "&phi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(967), "&chi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(968), "&psi;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(969), "&omega;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(977), "&thetasym;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(978), "&upsih;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(982), "&piv;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8226), "&bull;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8230), "&hellip;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8242), "&prime;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8243), "&Prime;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8254), "&oline;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8260), "&frasl;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8472), "&weierp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8465), "&image;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8476), "&real;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8482), "&trade;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8501), "&alefsym;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8592), "&larr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8593), "&uarr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8594), "&rarr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8595), "&darr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8596), "&harr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8629), "&crarr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8656), "&lArr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8657), "&uArr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8658), "&rArr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8659), "&dArr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8660), "&hArr;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8704), "&forall;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8706), "&part;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8707), "&exist;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8709), "&empty;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8711), "&nabla;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8712), "&isin;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8713), "&notin;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8715), "&ni;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8719), "&prod;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8722), "&sum;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8722), "&minus;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8727), "&lowast;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8730), "&radic;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8733), "&prop;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8734), "&infin;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8736), "&ang;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8869), "&and;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8870), "&or;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8745), "&cap;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8746), "&cup;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8747), "&int;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8756), "&there4;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8764), "&sim;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8773), "&cong;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8773), "&asymp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8800), "&ne;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8801), "&equiv;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8804), "&le;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8805), "&ge;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8834), "&sub;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8835), "&sup;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8836), "&nsub;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8838), "&sube;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8839), "&supe;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8853), "&oplus;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8855), "&otimes;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8869), "&perp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8901), "&sdot;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8968), "&lceil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8969), "&rceil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8970), "&lfloor;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8971), "&rfloor;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9001), "&lang;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9002), "&rang;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9674), "&loz;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9824), "&spades;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9827), "&clubs;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9829), "&hearts;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(9830), "&diams;"); //$NON-NLS-1$
-
- _table.put(Integer.valueOf(338), "&OElig;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(339), "&oelig;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(352), "&Scaron;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(353), "&scaron;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(376), "&Yuml;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(710), "&circ;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(732), "&tilde;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8194), "&ensp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8195), "&emsp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8201), "&thinsp;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8204), "&zwnj;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8205), "&zwj;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8206), "&lrm;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8207), "&rlm;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8211), "&ndash;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(151), "&mdash;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8216), "&lsquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8217), "&rsquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8218), "&sbquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8220), "&ldquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8221), "&rdquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8222), "&bdquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8224), "&dagger;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8225), "&Dagger;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8240), "&permil;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8249), "&lsaquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8250), "&rsaquo;"); //$NON-NLS-1$
- _table.put(Integer.valueOf(8364), "&euro;"); //$NON-NLS-1$
-
- _reverse = new Hashtable(256);
- for (Enumeration e = _table.keys(); e.hasMoreElements();) {
- Object key = e.nextElement();
- String value = (String) _table.get(key);
- _reverse.put(value, key);
- // also support without the training ';'
- _reverse.put(value.substring(0, value.length() - 1), key);
- }
- }
-
- /**
- * @param ch
- * @return if not in the special list
- */
- public static String getSpecial(int ch) {
- return (String) _table.get(Integer.valueOf(ch));
- }
-
- /**
- * @param str
- * @return the code value corresponding to the string or null
- * if string is unknown
- */
- public static int getSpecial(String str) {
- Integer result = (Integer) _reverse.get(str);
- if (result == null) {
- return -1;
- }
- return result.intValue();
- }
-
- /**
- * @param str
- * @param start
- * @param end
- * @param writer
- * @throws IOException
- */
- public static void encode(String str, int start, int end, Writer writer)
- throws IOException {
- for (int i = start; i < end; i++) {
- char ch = str.charAt(i);
- String special = getSpecial(ch);
- if (special != null) {
- writer.write(special);
- } else {
- if ((ch & 0xff) != 0) {
- writer.write("&#"); //$NON-NLS-1$
- writer.write(Integer.toString(ch));
- writer.write(";"); //$NON-NLS-1$
- } else {
- writer.write(ch);
- }
- }
- }
- }
-
- /**
- * @param str
- * @param result
- * @return the encoded string buffer
- */
- public static StringBuffer encode(String str, StringBuffer result) {
- return encode(str, 0, str.length(), result);
- }
-
- /**
- * @param str
- * @param start
- * @param end
- * @param result
- * @return the encoded string buffer
- */
- public static StringBuffer encode(String str, int start, int end,
- StringBuffer result) {
- for (int i = start; i < end; i++) {
- char ch = str.charAt(i);
- String special = getSpecial(ch);
- if (special != null) {
- result.append(special);
- } else {
- if ((ch & 0xff00) != 0) {
- result.append("&#"); //$NON-NLS-1$
- result.append(Integer.toString(ch));
- result.append(";"); //$NON-NLS-1$
- } else {
- result.append(ch);
- }
- }
- }
- return result;
- }
-
- /**
- * @param str
- * @param buffer
- * @return the decoded string buffer
- * @throws RuntimeException
- */
- public static StringBuffer decode(String str, StringBuffer buffer)
- throws RuntimeException {
- return decode(str, 0, str.length(), buffer);
- }
-
- /**
- * @param str
- * @param start
- * @param end
- * @param buffer
- * @return the decoded string buffer
- * @throws RuntimeException
- */
- public static StringBuffer decode(String str, int start, int end,
- StringBuffer buffer) throws RuntimeException {
- int pos = start;
- do {
- char ch = str.charAt(pos);
- if (ch == '&') {
- int stop = str.indexOf(';', pos + 1);
- if (stop < 0 || stop >= end) {
- _log.error("HTMLSpecialCharHelper.3"); //$NON-NLS-1$
- throw new RuntimeException("HTMLSpecialCharHelper.2"); //$NON-NLS-1$
- }
- String sp = str.substring(pos, stop + 1);
- int special = getSpecial(sp);
- if (special != -1) {
- buffer.append((char) special);
- } else {
- ch = sp.charAt(1);
- if (ch != '#')
- throw new RuntimeException("HTMLSpecialCharHelper.1"); //$NON-NLS-1$
- try {
- buffer.append((char) Integer.parseInt(sp.substring(2,
- sp.length() - 1)));
- } catch (NumberFormatException ex) {
- _log.info("HTMLSpecialCharHelper.0", ex); //$NON-NLS-1$
- throw new RuntimeException("illegal: " + sp); //$NON-NLS-1$
- }
- }
- pos = stop + 1;
- } else {
- buffer.append(ch);
- pos++;
- }
- } while (pos < end);
- return buffer;
- }
-
- /**
- * @param entityRef
- * @return the code for the decoded entity reference
- */
- public static int decodeEntity(String entityRef) {
- Integer result = (Integer) _reverse.get(entityRef);
- if (result != null) {
- return result.intValue();
- }
- if (entityRef.length() >= 2 && entityRef.charAt(1) == '#') {
- String s = entityRef.substring(2);
- if (s.endsWith(";")) { //$NON-NLS-1$
- s = s.substring(0, s.length() - 1);
- }
- try {
- return Integer.parseInt(s);
- } catch (Exception ex) {
- // ignore
- }
- }
- return -1;
- }
-}
-
-// FIXME: will it better to use Character instead of Integer ? (yang)
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLUtil.java
deleted file mode 100644
index a4400d21c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLUtil.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.Arrays;
-
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class HTMLUtil {
- /**
- * check whether a char is a HTML whitespace.
- *
- * @param ch
- * @return true if ch is considered to be HTML whitespace
- * @see <a href="http://www.w3.org/TR/html4/struct/text.html#h-9.1">white
- * space </a>
- */
- public static boolean isHTMLWhitespace(char ch) {
- return ch == ' ' || ch == 0x09 || ch == 0x0c || ch == 0x0d
- || ch == 0x0a || ch == 0x200b;
- }
-
- /**
- * @param text
- * @return true if the entire string is considered to be HTML whitespace
- */
- public static boolean isHTMLWhitespaceString(String text) {
- for (int i = 0, size = text.length(); i < size; i++) {
- if (!isHTMLWhitespace(text.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * the HTML tags considered to be hidden
- */
- static final String[] HiddenTags = new String[] {
- IHTMLConstants.TAG_APPLET, IHTMLConstants.TAG_AREA,
- IHTMLConstants.TAG_BASE, IHTMLConstants.TAG_BASEFONT,
- IHTMLConstants.TAG_HEAD, IHTMLConstants.TAG_IFRAME,
- IHTMLConstants.TAG_ISINDEX, IHTMLConstants.TAG_META,
- IHTMLConstants.TAG_NOEMBED, IHTMLConstants.TAG_NOFRAMES,
- IHTMLConstants.TAG_NOSCRIPT, IHTMLConstants.TAG_SCRIPT,
- IHTMLConstants.TAG_STYLE, IHTMLConstants.TAG_TITLE,
- IHTMLConstants.TAG_PARAM };
-
- /**
- * @param tag
- * @return true if the tag name is not in the list of hidden tags
- */
- public static boolean isVisualHtmlElement(String tag) {
- return !Arrays.asList(HiddenTags).contains(tag.toLowerCase());
- }
-
- /**
- * Handling white space. Basically, for leading and trailing whitespace,
- * will handle according whether the text is just after tag start or before
- * tag close.
- * <p>
- * For consequent whitespace, will compact them.
- * @param textNode
- * @param s
- * @return the compacted string
- * see http://www.w3.org/TR/html4/struct/text.html#h-9.1
- */
- // XXX: currently, the whitespace handling is in this class, in the future
- // may consider move it
- // into lower layer (display/CSS layer)
- public static String compactWhitespaces(Text textNode, String s) {
- char[] array = s.toCharArray();
- StringBuffer buffer = new StringBuffer(array.length);
- int posi = 0;
- int len = array.length;
-
- while (posi < len) {
- if (HTMLUtil.isHTMLWhitespace(array[posi])) {
- while (++posi < len && HTMLUtil.isHTMLWhitespace(array[posi]))
- {
- // no body
- // loop until we have find non-whitepspace or endof array
- }
-
- buffer.append(' ');
- continue;
- }
- buffer.append(array[posi++]);
- continue;
- }
- return buffer.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ICacheEntryCreator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ICacheEntryCreator.java
deleted file mode 100644
index a63faee26..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ICacheEntryCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-/**
- * Identifies a factory/dispose advisor for cache entries
- * @param <KEY>
- * @param <ENTRY>
- */
-public interface ICacheEntryCreator<KEY,ENTRY> {
- /**
- * @param key
- * @return the created entry
- */
- public ENTRY createEntry(KEY key);
-
- /**
- * @param key
- * @param entry
- */
- public void dispose(KEY key, ENTRY entry);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java
deleted file mode 100644
index 1fd867299..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ImageResolver.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class ImageResolver {
- /**
- *
- * @param element
- * @param attrName
- * @return
- */
- static String getResolvedURL(Element element, String attrName) {
- URIResolver resolver = null;
- if (element instanceof IDOMNode) {
- resolver = ((IDOMNode) element).getModel().getResolver();
- }
- if (null == resolver) {
- return null;
- }
- String src = DOMUtil.getAttributeIgnoreCase(element, attrName);
- if (src != null && src.length() > 0) {
- return resolver.getLocationByURI(src);
- }
- return null;
- }
-
- /**
- * given the element and an attribute name identifying the src of the image,
- * create a image.
- *
- * @param element
- * @param attrName
- * @return the new image
- */
- public static Image initializeImage(Element element, String attrName) {
- String url = getResolvedURL(element, attrName);
- if (url == null) {
- return null;
- }
- //Bug 307801 - [WPE] WPE does not render Images with URL encoding in their path in the preview pane
- try {
- url = URLDecoder.decode(url, "UTF-8"); //$NON-NLS-1$
- } catch(UnsupportedEncodingException uee) {
- //we tried to decode using recommended encoding, we failed
- } catch(IllegalArgumentException iae) {
- //we tried to decode using recommended encoding, we failed
- }
- Image img = null;
- int colonIndex = url.indexOf(":"); //$NON-NLS-1$
- int slashIndex = url.indexOf("/"); //$NON-NLS-1$
- if (colonIndex != -1 && (slashIndex != -1 && colonIndex < slashIndex)) {
- //the url seems to have a protocol, so try to load it as a URL
- try {
- URL urlObj = new URL(url);
- ImageDescriptor imgDesc = ImageDescriptor.createFromURL(urlObj);
- img = imgDesc.createImage(false);
- } catch(MalformedURLException mfe) {
- //attempt to load as a file
- try {
- img = new Image(null, url);
- } catch(SWTException se) {
- //img remains null on return
- }
- } catch(SWTException se) {
- //img remains null on return
- }
- } else {
- //no protocol, so load it as a file
- try {
- img = new Image(null, url);
- } catch(SWTException se) {
- //img remains null on return
- }
- }
- return img;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IntFlexArray.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IntFlexArray.java
deleted file mode 100644
index 4c50dcfa7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IntFlexArray.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-/**
- * Flexible int array. You can set/get of any index value. The array size will
- * be automatically adjusted.
- *
- * @author mengbo
- */
-public class IntFlexArray {
- int[] array;
-
- int size = 0;
-
- /**
- * Create a new flex array with default capacity
- */
- public IntFlexArray() {
- this(10);
- }
-
- /**
- * @param initCapacity
- */
- public IntFlexArray(int initCapacity) {
- if (initCapacity <= 0)
- initCapacity = 10;
- array = new int[initCapacity];
- }
-
- /**
- * @param idx
- * @param obj
- */
- public void setAt(int idx, int obj) {
- ensureCapacity(idx + 1);
- array[idx] = obj;
- if (idx + 1 > size)
- size = idx + 1;
- }
-
- /**
- * @param idx
- * @return the value at idx or 0 if idx is out of bounds
- */
- public int getAt(int idx) {
- if (idx < array.length)
- return array[idx];
- return 0;
- }
-
- /**
- * @return the current size of the array
- */
- public int getSize() {
- return size;
- }
-
- private void ensureCapacity(int size1) {
- if (size1 <= array.length)
- return;
- int[] temp = array;
- array = new int[2 * temp.length];
- System.arraycopy(temp, 0, array, 0, temp.length);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java
deleted file mode 100644
index 0b7f58738..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IWorkspaceContextResolver;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TaglibTracker;
-import org.eclipse.jst.jsp.core.internal.contentmodel.tld.provisional.TLDDocument;
-import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.jsp.core.IJSPCoreConstants;
-import org.eclipse.wst.html.core.internal.format.HTMLFormatProcessorImpl;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-/**
- * utility class for JSP related information.
- *
- * @author mengbo
- */
-public class JSPUtil {
-
- /**
- * JSP source contenttype
- */
- public static final IContentType JSP_CONTENTTYPE = Platform.getContentTypeManager().getContentType("org.eclipse.jst.jsp.core.jspsource"); //$NON-NLS-1$
- /**
- * find out whether the specified taglib has been defined in the IDOMModel.
- * If found, then return the prefix. If can't find, then will try to add a
- * taglib declaration into the model, and try to use the specified default
- * prefix
- *
- * @param model
- * @param uri
- * @param defaultPrefix
- * @return prefix
- */
- public static String getOrCreatePrefix(IDOMModel model, String uri,
- String defaultPrefix) {
- return getOrCreatePrefix(model, uri, defaultPrefix, null);
- }
-
- /**
- *
- * @param model
- * @param uri
- * @param defaultPrefix
- * @param nodes
- * if a taglib node is created, then the created tag lib node is
- * returned in this. In the case of xml format, it is the attribute node on
- * jsp:root
- * @return prefix
- */
- public static String getOrCreatePrefix(IDOMModel model, String uri,
- String defaultPrefix, Node[] nodes) {
-
- String prefix = getPrefix(model, uri);
- if (prefix != null) {
- return prefix;
- }
-
- prefix = findUnusedPrefix(model, defaultPrefix);
-
- //need proper API to determine xml type... this may need to change in future
- if (! model.getDocument().isXMLType()){
- // TODO: should create the taglib inside the IDOMModel
- //this is virtually the same as createTaglibDeclaration... fix me
- Node[] ref = new Node[1];
- BodyHelper.findHeaderInsertPosition(ITLDConstants.URI_JSP, "taglib", //$NON-NLS-1$
- model.getDocument(), ref);
-
- Element ele = model.getDocument().createElement("jsp:directive.taglib"); //$NON-NLS-1$
- ((IDOMElement) ele).setJSPTag(true);
- if (isTagDir(uri, model)) {
- ele.setAttribute(IJSPCoreConstants.ATTR_TAGDIR, uri);
- }
- else {
- ele.setAttribute(IJSPCoreConstants.ATTR_URI, uri);
- }
- ele.setAttribute(ICSSPropertyID.ATTR_PREFIX, prefix);
- if (nodes != null && nodes.length > 0) {
- nodes[0] = ele;
- }
- model.getDocument().insertBefore(ele, ref[0]);
- new HTMLFormatProcessorImpl().formatNode(ele);
- }
- else {//xml format
- //find root element
- boolean tldRefExists = false;
- Element root = getRootElement(model);
- if (root != null){
- NamedNodeMap attrs = root.getAttributes();
- for (int i=0;i<attrs.getLength();i++){
- Attr a = (Attr)attrs.item(i);
- //is the taglib uri already declared?
- if (a.getValue().equals(uri)){
- tldRefExists = true;
- break;
- }
- }
- if (!tldRefExists){
- //create attribute
- Attr a = model.getDocument().createAttribute("xmlns:"+prefix); //$NON-NLS-1$
- a.setValue(uri);
- root.setAttributeNode(a);
- new HTMLFormatProcessorImpl().formatNode(root);
-
- //duplicating what non-xml case does... no callerd making use of this currently
- if (nodes != null && nodes.length > 0) {
- nodes[0] = a;
- }
- }
- }
- }
- return prefix;
- }
-
- private static boolean isTagDir(String uri, IDOMModel model) {
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), 0);
- if (context != null) {
- IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- if (resolver != null) {
- ITaglibDomainMetaDataModelContext tldContext = TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(resolver.getProject(), uri);
- Trait t = TaglibDomainMetaDataQueryHelper.getTrait(tldContext, "", "isTagDir"); //$NON-NLS-1$ //$NON-NLS-2$
- return TraitValueHelper.getValueAsBoolean(t);
- }
- }
- return false;
- }
-
- private static Element getRootElement(IDOMModel model) {
- Document docNode = EditModelQuery.getDocumentNode(model.getDocument());
- return docNode.getDocumentElement();
- }
-
- /**
- * Return prefix for taglib if declared in jsp file
- * @param model
- * @param uri
- * @return null means this is tld is not declared in the jsp file
- */
- public static String getPrefix(IDOMModel model, String uri) {
- TLDCMDocumentManager m = TaglibController.getTLDCMDocumentManager(model
- .getStructuredDocument());
- if (m == null) {
- // if the doc manager has nothing but the type is XML,
- // then see if the prefix is encoded as a namespace in
- // the doc root
- if (model.getDocument().isXMLType())
- {
- Element root = getRootElement(model);
- if (root != null){
- NamedNodeMap attrs = root.getAttributes();
- for (int i=0;i<attrs.getLength();i++){
- Attr a = (Attr)attrs.item(i);
- //is the taglib uri already declared?
- if (a.getValue().equals(uri)
- && a.getName().startsWith("xmlns:")) //$NON-NLS-1$
- {
- String prefix = a.getNodeName().substring("xmlns:".length()); //$NON-NLS-1$
-
- if ("".equals(prefix)) //$NON-NLS-1$
- {
- prefix = null;
- }
- return prefix;
- }
- }
- }
- }
- return null;
- }
- List trackers = m.getTaglibTrackers();
- for (Iterator iter = trackers.iterator(); iter.hasNext();) {
- TaglibTracker tracker = (TaglibTracker) iter.next();
- if (uri.equals(tracker.getURI())) {
- return tracker.getPrefix();
- }
- CMDocument cmdoc = tracker.getDocument();
- if (cmdoc instanceof TLDDocument
- && uri.equals(((TLDDocument) cmdoc).getUri())) {
- return tracker.getPrefix();
- }
- }
- return null;
- }
-
- /**
- * create specified taglib declaration as jsp directive element
- *
- * @param model
- * @param uri
- * @param prefix
- * @return Element
- */
- public static Element createTaglibDeclaration(IDOMModel model, String uri,
- String prefix) {
-
- //seemingly unused - 5/6/09
- Node[] ref = new Node[1];
- BodyHelper.findHeaderInsertPosition(ITLDConstants.URI_JSP, "taglib", //$NON-NLS-1$
- model.getDocument(), ref);
- Element ele = model.getDocument().createElement("jsp:directive.taglib"); //$NON-NLS-1$
- ((IDOMElement) ele).setJSPTag(true);
- if (isTagDir(uri, model)) {
- ele.setAttribute(IJSPCoreConstants.ATTR_TAGDIR, uri);
- }
- else {
- ele.setAttribute(IJSPCoreConstants.ATTR_URI, uri);
- }
- ele.setAttribute("prefix", prefix); //$NON-NLS-1$
- model.getDocument().insertBefore(ele, ref[0]);
- return ele;
- }
-
- /**
- * Return prefix to use based upon the suggestion.
- * Appends an integer until unique, if suggestion was used.
- * @param model
- * @param suggestion
- * @return prefix
- */
- public static String findUnusedPrefix(IDOMModel model, String suggestion) {
- if (suggestion == null) {
- suggestion = "p"; //$NON-NLS-1$
- }
- TLDCMDocumentManager m = TaglibController.getTLDCMDocumentManager(model
- .getStructuredDocument());
- if (m == null) {
- return suggestion;
- }
- List trackers = m.getTaglibTrackers();
- Set map = new HashSet();
- for (Iterator iter = trackers.iterator(); iter.hasNext();) {
- TaglibTracker tracker = (TaglibTracker) iter.next();
- map.add(tracker.getPrefix());
- }
- if (!map.contains(suggestion)) {
- return suggestion;
- }
- for (int i = 1;; i++) {
- if (!map.contains(suggestion + i)) {
- return suggestion + i;
- }
- }
- }
-
- /**
- * given the prefix, find the corresponding jsp tld URI.
- *
- * @param model
- * @param prefix
- * @return prefix
- */
- public static String findURIForPrefix(IDOMModel model, String prefix) {
- if (prefix == null || model == null) {
- return null;
- }
- TLDCMDocumentManager m = TaglibController.getTLDCMDocumentManager(model
- .getStructuredDocument());
- if (m == null) {
- return null;
- }
- List trackers = m.getTaglibTrackers();
- for (Iterator iter = trackers.iterator(); iter.hasNext();) {
- TaglibTracker tracker = (TaglibTracker) iter.next();
- if (prefix.equals(tracker.getPrefix())) {
- CMDocument cmdoc = tracker.getDocument();
- if (cmdoc instanceof TLDDocument) {
- return ((TLDDocument) cmdoc).getUri();
- }
- break; // fall out and return null
- }
- }
- return null;
- }
-
- /**
- * judge whether the the baseFile belonged project can support uri specified
- * tag lib
- *
- * @param uri
- * tag lib uri
- * @param baseFile
- * @return boolean
- */
- public static boolean supportTaglib(String uri, IFile baseFile) {
- //IPath location = baseFile.getLocation();
- //Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=221197
- IPath location = baseFile.getFullPath();
- if (location != null) {
- return TaglibIndex.resolve(location.toString(), uri, false) != null;
- }
- return false;
- }
-
- /**
- * @param model
- * @return true if model is a JSP contenttype
- */
- public static boolean isJSPModel(IDOMModel model) {
- final IContentTypeManager typeManager = Platform.getContentTypeManager();
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), 0);
- final IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
- final IFile file = (IFile)resolver.getResource();
- final IContentType contentType =
- typeManager.findContentTypeFor(file.getName());
-
- return contentType.isKindOf(JSP_CONTENTTYPE);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JavaUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JavaUtil.java
deleted file mode 100644
index e05000d75..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JavaUtil.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJarEntryResource;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-
-/**
- * @author mengbo
- */
-public class JavaUtil {
- /**
- *
- * @param javaProject
- * @param parent
- * @return the path in javaProject or new Path("") if not found on a class path
- * @author mengbo
- */
- public static IPath getPathOnClasspath(IJavaProject javaProject,
- Object parent) {
- IPath result = null;
- if (javaProject == null || parent == null) {
- return new Path(""); //$NON-NLS-1$
- }
- IClasspathEntry[] entries = javaProject.readRawClasspath();
- IPath classPath = null;
- if (parent instanceof IResource) {
- if (((javaProject != null) && !javaProject
- .isOnClasspath((IResource) parent))) {
- return new Path(""); //$NON-NLS-1$
- }
- if (parent instanceof IFile) {
- IPath elementPath = ((IFile) parent).getFullPath();
- if (((IFile) parent).getFileExtension().equalsIgnoreCase(
- IFileFolderConstants.EXT_PROPERTIES)) {
- int machings = 0;
- try {
- for (int i = 0; i < entries.length; i++) {
- // Determine whether on this classentry's path
- machings = entries[i].getPath()
- .matchingFirstSegments(elementPath);
- if (machings > 0) {
- // Get package name
- classPath = elementPath.removeFirstSegments(
- machings).removeLastSegments(1);
- break;
- }
- }
- // Not on the classpath?
- if (classPath == null) {
- return null;
- } else if (classPath.segmentCount() > 0)
- result = javaProject.findElement(classPath)
- .getPath().removeFirstSegments(machings)
- .append(((IFile) parent).getName());
- else
- result = ((IFile) parent).getFullPath()
- .removeFirstSegments(machings);
- } catch (Exception e) {
- // Error.DesignerPropertyTool.NatureQuerying = Error in
- // project java nature querying
- PDPlugin.getLogger(JavaUtil.class).error(
- "Error.DesignerPropertyTool.NatureQuerying", e); //$NON-NLS-1$
- return null;
- }
- }
- }
- } else if (parent instanceof IJarEntryResource) {
- IPath elementPath = ((IJarEntryResource) parent).getFullPath();
- if (elementPath.getFileExtension().equalsIgnoreCase(
- IFileFolderConstants.EXT_PROPERTIES)) {
- result = elementPath;
- }
- }
- if (result != null) {
- return result;
- }
- return new Path(""); //$NON-NLS-1$
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/NodeLocationComparator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/NodeLocationComparator.java
deleted file mode 100644
index 164a07e29..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/NodeLocationComparator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.w3c.dom.Node;
-
-/**
- * To sort the location of tags, this comparator is used to compare tags' order.
- *
- * @author mengbo
- */
-public class NodeLocationComparator implements Comparator {
- private final static Map orders = new HashMap();
-
- private final static Integer DEFAULT_ORDER = Integer.valueOf(Integer.MAX_VALUE);
-
- private static NodeLocationComparator _instance = new NodeLocationComparator();
- static {
- orders.put("taglib", Integer.valueOf(0)); //$NON-NLS-1$
- orders.put("directive.taglib", Integer.valueOf(0)); //$NON-NLS-1$
- orders.put("head", Integer.valueOf(1)); //$NON-NLS-1$
- }
-
- private NodeLocationComparator() {
- // no external instantiation
- }
-
- /**
- * @return the singleton
- */
- public static NodeLocationComparator getInstance() {
- return _instance;
- }
-
- /**
- * The object to be compared could be Node or tag name.
- *
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- Assert.isTrue((o1 instanceof Node || o1 instanceof String)
- && (o2 instanceof Node || o2 instanceof String));
- Integer i1 = getOrder(o1);
- Integer i2 = getOrder(o2);
- return i1.compareTo(i2);
- }
-
- private Integer getOrder(Object n) {
- String name = null;
- if (n instanceof Node) {
- name = ((Node) n).getLocalName();
- } else {
- name = (String) n;
- }
- if (name != null) {
- Object order = orders.get(name);
- if (order != null) {
- return (Integer) order;
- }
- }
- return DEFAULT_ORDER;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java
deleted file mode 100644
index 2433b1196..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/PreviewUtil.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.nio.charset.Charset;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.PropertyResourceBundle;
-import java.util.Map.Entry;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.PathUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.ui.IEditorInput;
-import org.w3c.dom.Attr;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- */
-public class PreviewUtil {
- /** Create the logger for this class */
- private static Logger _log = PDPlugin.getLogger(PreviewUtil.class);
-
- /** line separator */
- public static final String LINE_SEPARATOR = System
- .getProperty("line.separator"); //$NON-NLS-1$
-
- /** web root path */
- private final static String WEBROOT_PATH = null;
-
- /** the file being previewed */
- private static IFile CURRENT_FILE = null;
-
- /** the property bundel */
- private static PropertyResourceBundle BUNDLE = null;
-
- /** the property bundel map used for loadbundle preview action */
- private static Map BUNDLE_MAP = null;
-
- /** the variable name used for loadbundel preview action */
- private static String VAR = null;
-
- /** key is prefix value is uri */
- private static Map _taglibMap = new HashMap();
-
-
- /**
- * @return the current bundle
- */
- public static final PropertyResourceBundle getBUNDLE() {
- return BUNDLE;
- }
-
- /**
- * @param bundle
- */
- public static final void setBUNDLE(PropertyResourceBundle bundle) {
- BUNDLE = bundle;
- }
-
- /**
- * @return the current bundle map
- */
- public static final Map getBUNDLE_MAP() {
- return BUNDLE_MAP;
- }
-
- /**
- * @param bundle_map
- */
- public static final void setBUNDLE_MAP(Map bundle_map) {
- BUNDLE_MAP = bundle_map;
- }
-
- /**
- * @return the current variable
- */
- public static final String getVAR() {
- return VAR;
- }
-
- /**
- * @param var
- */
- public static final void setVAR(String var) {
- VAR = var;
- }
-
- /**
- * @return Returns the _taglibMap.
- */
- public static Map getTaglibMap() {
- return _taglibMap;
- }
-
- /**
- * @param map
- * The _taglibMap to set.
- */
- public static void setTaglibMap(Map map) {
- _taglibMap = map;
- }
-
- /**
- * Get tag attribute string from attribute map
- *
- * @param map
- * tag attribute map
- * @return the attribute string
- */
- public static String getAttributesAsString(Map map) {
- return getAttributesAsString(map, true);
- }
-
- /**
- * Get file path from uri
- *
- * @param uri
- * taglib uri
- * @return the path as a string
- */
- public static String getPathFromURI(String uri) {
- if (uri == null) {
- return uri;
- }
-
- if (uri.startsWith(IFileFolderConstants.PATH_SEPARATOR)) {
- return PreviewUtil.WEBROOT_PATH + uri;
- }
- IFile curFile = PreviewUtil.CURRENT_FILE;
- if (curFile != null) {
- IContainer con = curFile.getParent();
- if (con != null) {
- IPath path = con.getLocation();
- if (path != null) {
- String aPath = path.toString() + File.separator + uri;
-
- aPath = aPath.replace('/', File.separatorChar);
- aPath = aPath.replace('\\', File.separatorChar);
- if (aPath.endsWith(File.separator)) {
- aPath += File.separator;
- }
- File file = new File(aPath);
- if (file.exists()) {
- return aPath;
- }
- return uri;
- }
- }
- }
- return null;
- }
-
- /**
- * Get bundle value for expression
- *
- * @param attrValue
- * expression
- * @return the value
- */
- public static String getValueOFEP(String attrValue) {
- if (attrValue != null) {
- if (attrValue.startsWith("#{")) //$NON-NLS-1$
- {
- String key, value = null;
- int i = attrValue.lastIndexOf("."); //$NON-NLS-1$
- if (i > 0) {
- key = attrValue.substring(i + 1, attrValue.length() - 1)
- .trim();
- String bundleVariable = attrValue.substring(2, i).trim();
- if (BUNDLE_MAP == null) {
- return attrValue;
- }
- PropertyResourceBundle bundle = (PropertyResourceBundle) BUNDLE_MAP
- .get(bundleVariable);
-
- if (bundle != null) {
- try {
- value = bundle.getString(key);
- if (value != null) {
- return value;
- }
- return attrValue;
- } catch (MissingResourceException e1) {
- // "Error in resource bundle processing:"
- _log.info("PreviewUtil.Error.0", e1); //$NON-NLS-1$
- }
- }
- }
- }
- }
- return attrValue;
- }
-
- /**
- * Get tag attribute string from attribute map
- *
- * @param map
- * tag attribute map
- * @param flag
- * state
- * @return the attributes as a single string
- */
- private static String getAttributesAsString(Map<String, String> map, boolean flag) {
- if (map == null) {
- return null;
- }
-
- StringBuffer stringbuffer = new StringBuffer();
- for (Iterator<Entry<String, String>> e = map.entrySet().iterator(); e.hasNext();) {
- Map.Entry<String,String> entry = e.next();
- String attrName = entry.getKey();
- String attrValue = entry.getValue();
- attrValue = getValueOFEP(attrValue);
- if (ICSSPropertyID.ATTR_SRC.equalsIgnoreCase(attrName)
- || ICSSPropertyID.ATTR_HREF.equalsIgnoreCase(attrName)
- || ICSSPropertyID.ATTR_URI.equalsIgnoreCase(attrName)
- || ICSSPropertyID.ATTR_BINDING.equalsIgnoreCase(attrName)
- || ICSSPropertyID.ATTR_PAGE.equalsIgnoreCase(attrName)) {
- if (PreviewUtil.WEBROOT_PATH != null && attrValue != null
- && !attrValue.startsWith("http") //$NON-NLS-1$
- && !attrValue.startsWith("file")) //$NON-NLS-1$
- {
- attrValue = getPathFromURI(attrValue);
- }
- }
- if (attrValue != null) {
- stringbuffer.append(" ").append(attrName); //$NON-NLS-1$
- if (attrValue.indexOf(34) != -1) {
- StringBuffer stringbuffer1 = new StringBuffer();
- for (int j = 0; j < attrValue.length(); j++) {
- char c = attrValue.charAt(j);
- if (c != '"') {
- stringbuffer1.append(c);
- }
- }
-
- attrValue = stringbuffer1.toString();
- }
- if (attrValue != null && attrValue.startsWith("#{")) //$NON-NLS-1$
- {
- attrValue = ""; //$NON-NLS-1$
- }
- stringbuffer.append("=\"").append(attrValue).append('"'); //$NON-NLS-1$
- }
- }
- // System.out.println("BBBB:" +stringbuffer.toString());
-
- return stringbuffer.toString();
- }
-
- /**
- * Change NamedNodeMap type to Map type
- *
- * @param nodeMap
- * NamedNodeMap type
- * @return the map
- */
- public static Map getAttributeMap(NamedNodeMap nodeMap) {
- if (nodeMap != null) {
- int len = nodeMap.getLength();
- HashMap map = new HashMap();
- for (int i = 0; i < len; i++) {
- Node node = nodeMap.item(i);
- String name = node.getNodeName();
- String value = node.getNodeValue();
- if (name != null
- && !name.trim().equalsIgnoreCase("") && value != null) //$NON-NLS-1$
- {
- map.put(name, value);
- }
- }
- return map;
- }
- return null;
- }
-
- /**
- * @param result
- * @param editorInput
- * @return the file
- */
- public static File toFile(StringBuffer result, IEditorInput editorInput) {
- try {
- File file = File.createTempFile("previewtmp", ".html"); //$NON-NLS-1$ //$NON-NLS-2$
- if (!file.exists()) {
- file.createNewFile();
- }
-
- //fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=202613 kindly contributed by Eiji Morito.
- IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
- IContentType contentType = contentTypeManager.getContentType("org.eclipse.wst.html.core.htmlsource"); //$NON-NLS-1$
- IContentDescription contentDescription = contentType.getDescriptionFor(new StringReader(result.toString()), null);
- String charset = contentDescription.getCharset();
-
- if (charset == null || !Charset.isSupported(charset)) {
- charset = ResourcesPlugin.getEncoding();
- if (charset == null)
- charset = "UTF-8"; //$NON-NLS-1$
- }
-
- FileOutputStream fos = new FileOutputStream(file);
- PrintStream ps = new PrintStream(fos, true, charset);
- ps.print(result.toString());
- ps.close();
- fos.close();
- return file;
- } catch (IOException e) {
- // "Error in file open:"
- _log.info("PreviewUtil.Error.3", e); //$NON-NLS-1$
- return null;
- }
- }
-
-
- /**
- * do preivew on Node recursively translate escape char for Node and Node's
- * child translate relative path for Node and Node's child
- *
- * @param node
- * root node that will be previewed
- */
- public static void previewNode(Node node) {
- if (node == null) {
- return;
- }
- NodeList nodeList = node.getChildNodes();
- if (nodeList == null) {
- return;
- }
- NamedNodeMap attrMap = node.getAttributes();
-
- if (attrMap != null) {
- for (int i = 0, n = attrMap.getLength(); i < n; i++) {
- Node attrNode = attrMap.item(i);
- if (attrNode instanceof Attr) {
- Attr attr = (Attr) attrNode;
- String value = attr.getNodeValue();
- value = getValueOFEP(value);
- //Bug 307801 - [WPE] WPE does not render Images with URL encoding in their path in the preview pane
- try {
- value = URLDecoder.decode(value, "UTF-8"); //$NON-NLS-1$
- } catch(UnsupportedEncodingException uee) {
- //we tried to decode using recommended encoding, we failed
- } catch(IllegalArgumentException iae) {
- //we tried to decode using recommended encoding, we failed
- }
- value = PathUtil.convertToAbsolutePath(value, null);
- attr.setNodeValue(value);
- }
- }
- }
- for (int i = 0, n = nodeList.getLength(); i < n; i++) {
- previewNode(nodeList.item(i));
- }
- }
-
- // /**
- // * handle escape attebute of tag
- // *
- // * @param node
- // * @return
- // */
- // public static boolean escapeFoeNode(Node node)
- // {
- // if (node == null)
- // {
- // return false;
- // }
- // NamedNodeMap attrMap = node.getAttributes();
- // if (attrMap != null)
- // {
- // for (int i = 0, n = attrMap.getLength(); i < n; i++)
- // {
- // Node attrNode = attrMap.item(i);
- // if (attrNode != null && attrNode instanceof Attr)
- // {
- // if ("escape".equalsIgnoreCase(attrNode.getNodeName())
- // && "true".equalsIgnoreCase(attrNode.getNodeValue()))
- // {
- // return true;
- // }
- // }
- // }
- // }
- // return false;
- // }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ProjectResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ProjectResolver.java
deleted file mode 100644
index 46330f56e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/ProjectResolver.java
+++ /dev/null
@@ -1,526 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.jsf.common.ui.internal.utils.WebrootUtil;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A URIResolver implementation
- *
- */
-public class ProjectResolver implements URIResolver {
- private static final String TLD_TAG_URI = "uri"; //$NON-NLS-1$
-
- private static final String URI_PREFIX_HTTP = "http"; //$NON-NLS-1$
-
- private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
-
- /** Create the logger for this class */
- private static Logger _log = PDPlugin.getLogger(ProjectResolver.class);
-
- private IProject _project = null;
-
- private String _fileBaseLocation = null;
-
- private static Map _uriMap = null;
-
- /**
- * It is strongly recommended that clients use
- * project.getAdapter(URIResolver.class) to obtain a URIResolver aware of
- * the Project's special requirements. Note that a URIResolver may not be
- * returned at all so manually creating this object may still be required.
- * @param project
- */
- public ProjectResolver(IProject project) {
- super();
- _project = project;
- }
-
- /**
- * @param path
- */
- public void seekTld(IFolder path) {
- if (path == null) {
- return;
- }
- if (_uriMap == null) {
- _uriMap = new HashMap();
- }
-
- try {
- IResource[] res = path.members();
- if (null == res) {
- return;
- }
- for (int i = 0; i < res.length; i++) {
- if (res[i] instanceof IFolder) {
- seekTld((IFolder) res[i]);
- }
- String ext = res[i].getFileExtension();
- if (IFileFolderConstants.EXT_TAGLIB.equalsIgnoreCase(ext)) {
- IFile tldFile = (IFile) res[i];
- String uri = getURIfromTLD(tldFile);
- String locate = tldFile.getLocation().toOSString();
- if (uri != null && _uriMap.get(uri) == null) {
- _uriMap.put(uri, locate);
- }
- }
- }
- } catch (CoreException e) {
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e); //$NON-NLS-1$
- }
- }
-
- /**
- * @param path
- */
- public void seekTld(File path) {
- if (path == null || !path.isDirectory()) {
- return;
- }
- if (_uriMap == null) {
- _uriMap = new HashMap();
- }
-
- try {
- File[] res = path.listFiles();
- if (null == res) {
- return;
- }
- for (int i = 0; i < res.length; i++) {
- if (res[i] instanceof IFolder) {
- seekTld(res[i]);
- }
-
- if (res[i].getName().endsWith(
- IFileFolderConstants.DOT
- + IFileFolderConstants.EXT_TAGLIB)) {
- String uri = getURIfromTLD(res[i]);
- String locate;
-
- locate = res[i].getCanonicalPath();
-
- if (uri != null && _uriMap.get(uri) == null) {
- _uriMap.put(uri, locate);
- }
- }
- }
- } catch (IOException e1) {
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e1); //$NON-NLS-1$
- }
- }
-
- /**
- * @param tldFile
- * @return the uri for the tld in tldFile or null
- */
- public String getURIfromTLD(File tldFile) {
-
- if (tldFile == null) {
- return null;
- }
- IDOMModel tldModel = null;
-
- InputStream in = null;
- try {
- in = new FileInputStream(tldFile);
- } catch (FileNotFoundException e) {
- _log.error("RenderingTraverser.Error.FileNotFound", e); //$NON-NLS-1$
- return null;
- }
-// IDOMModel xmlModel = null;
-
- try {
- tldModel = (IDOMModel) StructuredModelManager.getModelManager().getModelForRead(
- tldFile.getAbsolutePath(), in, null);
- NodeList uriList = tldModel.getDocument().getElementsByTagName(
- TLD_TAG_URI);
- for (int i = 0, n = uriList.getLength(); i < n; i++) {
- Node uri = uriList.item(i);
- return uri.getChildNodes().item(0).getNodeValue();
- }
- } catch (UnsupportedEncodingException e1) {
- _log.error("RenderingTraverser.Error.UnsupportedEncoding", e1); //$NON-NLS-1$
- } catch (IOException e1) {
- _log.error("RenderingTraverser.Error.IO", e1); //$NON-NLS-1$
- } finally {
- ResourceUtils.ensureClosed(in);
-
- if (tldModel != null)
- {
- tldModel.releaseFromRead();
- }
- }
-
- return null;
- }
-
- /**
- * @param tldFile
- * @return the URI for the TLD in tldFile or null
- */
- public String getURIfromTLD(IFile tldFile) {
- if (tldFile == null) {
- return null;
- }
- IDOMModel tldModel;
-
- try {
- tldModel = (IDOMModel) getModelManager().getModelForRead(tldFile);
- NodeList uriList = tldModel.getDocument().getElementsByTagName(
- TLD_TAG_URI);
- for (int i = 0, n = uriList.getLength(); i < n; i++) {
- Node uri = uriList.item(i);
- return uri.getChildNodes().item(0).getNodeValue();
- }
- } catch (IOException e) {
- // Error in taglib locating.
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e); //$NON-NLS-1$
- } catch (CoreException e1) {
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e1); //$NON-NLS-1$
- }
- return null;
- }
-
- /**
- * initialize the map of tlds
- */
- public void initTldMap() {
- if (_uriMap == null) {
- _uriMap = new HashMap();
- }
- if (_project == null) {
- return;
- }
- if (WebrootUtil.getWebContentFolder(_project) == null) {
- return;
- }
- IFolder webinf = WebrootUtil.getWebContentFolder(_project).getFolder(
- IFileFolderConstants.FOLDER_WEBINF);
- if (webinf != null && webinf.exists()) {
- seekTld(webinf);
- }
-
- String locate = PDPlugin.getInstallLocation().append("/jsf-tld") //$NON-NLS-1$
- .toString();
- File jsfDir = new File(locate);
- seekTld(jsfDir);
-
- }
-
- public java.lang.String getFileBaseLocation() {
- return _fileBaseLocation;
- }
-
- public java.lang.String getLocationByURI(String uri) {
- // System.out.println(getLocationByURI(uri, getFileBaseLocation()));
- return getLocationByURI(uri, getFileBaseLocation());
- }
-
- private IModelManager getModelManager() {
- return StructuredModelManager.getModelManager();
- }
-
- private String getLocationFromWEBXML(String uri, String baseReference) {
- if (uri == null) {
- return null;
- }
- try {
- // if (_project.hasNature(ICommonConstants.NATURE_WEBAPP))
- // {
- if (uri.startsWith(IFileFolderConstants.PATH_SEPARATOR)) {
- uri = _project.getProject().getLocation().toString()
- + IFileFolderConstants.PATH_SEPARATOR
- + WebrootUtil.getWebContentFolderName(_project) + uri;
- }
- if (uri.startsWith(URI_PREFIX_HTTP)) {
- IFile webxml = WebrootUtil.getWebContentFolder(_project)
- .getFolder(IFileFolderConstants.FOLDER_WEBINF).getFile(
- IFileFolderConstants.FILE_WEB_XML);
- IDOMModel xmlModel;
-
- if (webxml.exists()) {
- try {
- xmlModel = (IDOMModel) getModelManager()
- .getModelForRead(webxml);
-
- NodeList taglibNodeList = xmlModel
- .getDocument()
- .getElementsByTagName(ICSSPropertyID.TAG_TAGLIB);
-
- for (int i = 0, size = taglibNodeList.getLength(); i < size; i++) {
- Node taglibNode = taglibNodeList.item(i);
-
- NodeList childList = taglibNode.getChildNodes();
- String taguri = ""; //$NON-NLS-1$
- String taglocation = ""; //$NON-NLS-1$
- for (int j = 0, childSize = childList.getLength(); j < childSize; j++) {
- Node childTaglibNode = childList.item(j);
- if (ICSSPropertyID.ATTR_TAGLIB_URI
- .equalsIgnoreCase(childTaglibNode
- .getNodeName())) {
- taguri = childTaglibNode.getChildNodes()
- .item(0).getNodeValue();
- }
- if (ICSSPropertyID.ATTR_TAGLIB_LOCATION
- .equalsIgnoreCase(childTaglibNode
- .getNodeName())) {
- taglocation = childTaglibNode
- .getChildNodes().item(0)
- .getNodeValue();
- }
-
- }
- if (uri.equalsIgnoreCase(taguri))
- uri = _project.getProject().getLocation()
- .toString()
- + IFileFolderConstants.PATH_SEPARATOR
- + WebrootUtil
- .getWebContentFolderName(_project)
- + taglocation;
- }
- xmlModel.releaseFromRead();
- } catch (IOException e) {
-
- // Error in taglib locating.
- _log.error(
- "Error.ProjectResolver.GetlocationByURI.0", e); //$NON-NLS-1$
- } catch (CoreException e1) {
- e1.printStackTrace();
- _log.error("Error.ProjectResolver.GetlocationByURI.0", //$NON-NLS-1$
- e1);
- }
-
- }
- }
- // }
- } catch (DOMException e1) {
- // Error in taglib locating.
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e1); //$NON-NLS-1$
- }
- // catch (CoreException e1)
- // {
- //
- // _log.error("Error.ProjectResolver.GetlocationByURI.0", e1);
- // }
-
- if (isFileURL(uri)) {
- try {
- URL url = new URL(uri);
- return getPath(url);
- } catch (MalformedURLException e) {
- _log.error("Error.ProjectResolver.GetlocationByURI.0", e); //$NON-NLS-1$
- }
- }
- // defect 244817 end
- return URIHelper.normalize(uri, baseReference, getRootLocationString());
-
- }
-
- public String getLocationByURI(String uri, String baseReference) {
- // DataWindow may generate URL like "d:\somefile" (dos path). We may
- // need some
- // special support. (lium)
- int columnIndex = uri.indexOf(":"); //$NON-NLS-1$
- int slashIndex = uri.indexOf("/"); //$NON-NLS-1$
- if (columnIndex != -1 && (slashIndex == -1 || columnIndex < slashIndex)) {
- return uri;
- }
- try {
- uri = URLDecoder.decode(uri, "UTF-8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- // suppress this. the user's data may be invalid.
- }
- String result = getLocationFromWEBXML(uri, baseReference);
- if (result != null && !result.equals(uri)) {
- return result;
- }
- if (_uriMap == null) {
- initTldMap();
- }
- if (_uriMap != null) {
- return (String) _uriMap.get(uri);
- }
- return null;
- }
-
- // defect 244817 start
- /**
- * @param passedSpec
- * @return boolean
- */
- private boolean isFileURL(String passedSpec) {
- if (passedSpec == null) {
- return false;
- }
- final String spec = passedSpec.trim();
- if (spec.length() == 0) {
- return false;
- }
- String newProtocol = null;
- for (int index = 0, limit = spec.length(); index < limit; index++) {
- final char p = spec.charAt(index);
- if (p == '/') {
- //$NON-NLS-1$
- break;
- }
- if (p == ':') {
- //$NON-NLS-1$
- newProtocol = spec.substring(0, index);
- break;
- }
- }
- return (newProtocol != null && newProtocol
- .compareToIgnoreCase(FILE_PROTOCOL) == 0);
- }
-
- /**
- * @param url
- * @return String
- */
- private String getPath(URL url) {
- String ref = url.getRef() == null ? "" : "#" + url.getRef(); //$NON-NLS-1$ //$NON-NLS-2$
- String strPath = url.getFile() + ref;
- IPath path;
- if (strPath.length() == 0) {
- path = Path.ROOT;
- } else {
- path = new Path(strPath);
- String query = null;
- StringTokenizer parser = new StringTokenizer(strPath, "?"); //$NON-NLS-1$
- int tokenCount = parser.countTokens();
- if (tokenCount == 2) {
- path = new Path((String) parser.nextElement());
- query = (String) parser.nextElement();
- }
- if (query == null) {
- parser = new StringTokenizer(path.toString(), "#"); //$NON-NLS-1$
- tokenCount = parser.countTokens();
- if (tokenCount == 2) {
- path = new Path((String) parser.nextElement());
- }
- }
- }
- return getPath(path, url.getHost());
- }
-
- /**
- * @param path
- * @param host
- * @return String
- */
- private String getPath(IPath path, String host) {
- IPath newPath = path;
- // They are potentially for only Windows operating system.
- // a.) if path has a device, and if it begins with IPath.SEPARATOR,
- // remove it
- final String device = path.getDevice();
- if (device != null && device.length() > 0) {
- if (device.charAt(0) == IPath.SEPARATOR) {
- final String newDevice = device.substring(1);
- newPath = path.setDevice(newDevice);
- }
- }
- // b.) if it has a hostname, it is UNC name... Any java or eclipse api
- // helps it ??
- if (newPath != null && host != null && host.length() != 0) {
- IPath uncPath = new Path(host);
- uncPath = uncPath.append(path);
- newPath = uncPath.makeUNC(true);
- }
-
- if (newPath != null)
- {
- return newPath.toString();
- }
- return path.toString();
- }
-
- /**
- * Resolve the (possibly relative) URI acording to RFC1808 using the default
- * file base location. Resolves resource references into absolute resource
- * locations without ensuring that the resource actually exists. Note:
- * currently resolveCrossProjectLinks is ignored in this implementation.
- */
- public java.lang.String getLocationByURI(String uri,
- boolean resolveCrossProjectLinks) {
- return getLocationByURI(uri, getFileBaseLocation(),
- resolveCrossProjectLinks);
- }
-
- /**
- * Perform the getLocationByURI action using the baseReference as the point
- * of reference instead of the default for this resolver Note: currently
- * resolveCrossProjectLinks is ignored in this implementation.
- */
- public java.lang.String getLocationByURI(String uri, String baseReference,
- boolean resolveCrossProjectLinks) {
- return getLocationByURI(uri, baseReference);
- }
-
- public org.eclipse.core.resources.IProject getProject() {
- return _project;
- }
-
- public org.eclipse.core.resources.IContainer getRootLocation() {
- return _project;
- }
-
- private String getRootLocationString() {
- return null;
- }
-
- public void setFileBaseLocation(java.lang.String newFileBaseLocation) {
- _fileBaseLocation = newFileBaseLocation;
- }
-
- public void setProject(org.eclipse.core.resources.IProject newProject) {
- _project = newProject;
- }
-
- public InputStream getURIStream(String uri) {
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectManyHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectManyHelper.java
deleted file mode 100644
index c019190a5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectManyHelper.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author mengbo
- */
-public class SelectManyHelper {
-
- private final static Set<String> JSF_SELECT_TAGS, HTML_SELECT_TAGS;
-
-
- static {
- Set<String> tempSet = new HashSet<String>(4);
- tempSet.add(IHTMLConstants.TAG_SELECT);
- tempSet.add(IHTMLConstants.TAG_OPTGROUP);
- HTML_SELECT_TAGS = Collections.unmodifiableSet(tempSet);
-
- tempSet = new HashSet(8);
- tempSet.add(IJSFConstants.TAG_SELECTONELISTBOX);
- tempSet.add(IJSFConstants.TAG_SELECTONEMENU);
- tempSet.add(IJSFConstants.TAG_SELECTMANYLISTBOX);//
- tempSet.add(IJSFConstants.TAG_SELECTMANYMENU);//
- tempSet.add(IJSFConstants.TAG_SELECTMANYCHECKBOX);
- JSF_SELECT_TAGS = Collections.unmodifiableSet(tempSet);
- }
-
- /**
- * @param node
- * @return the select option children of node
- */
- public static Object[] getSelectOptions(Element node) {
- if (node == null) {
- return null;
- }
- IDOMModel xmlModel = null;
- if (node instanceof IDOMNode) {
- xmlModel = ((IDOMNode) node).getModel();
- }
- if (xmlModel == null) {
- return null;
- }
- // TODO: this query is not cached.
- String prefixNode = JSPUtil.getPrefix(xmlModel,
- ITLDConstants.URI_JSF_HTML);
- if (prefixNode != null && node.getPrefix() != null
- && node.getPrefix().equals(prefixNode)) {
- if (JSF_SELECT_TAGS.contains(node.getLocalName())) {
- String prefixItem = JSPUtil.getPrefix(xmlModel,
- ITLDConstants.URI_JSF_CORE);
- List result = new ArrayList();
- NodeList items = node.getElementsByTagName(prefixItem
- + ":" + IJSFConstants.TAG_SELECTITEM); //$NON-NLS-1$
- for (int i = 0, n = items.getLength(); i < n; i++) {
- result.add(items.item(i));
- }
- items = node.getElementsByTagName(prefixItem
- + ":" + IJSFConstants.TAG_SELECTITEMS); //$NON-NLS-1$
- for (int i = 0, n = items.getLength(); i < n; i++) {
- result.add(items.item(i));
- }
- return result.size() > 0 ? result.toArray(new Node[result
- .size()]) : null;
- }
- }
- if (node.getPrefix() == null) {
- if (HTML_SELECT_TAGS.contains(node.getNodeName().toLowerCase())) {
- List result = new ArrayList();
- NodeList options = node
- .getElementsByTagName(IHTMLConstants.TAG_OPTION);
- NodeList optionGroups = node
- .getElementsByTagName(IHTMLConstants.TAG_OPTGROUP);
- for (int i = 0, n = options.getLength(); i < n; i++) {
- result.add(options.item(i));
- }
- for (int i = 0, n = optionGroups.getLength(); i < n; i++) {
- result.add(optionGroups.item(i));
- }
- return result.toArray(new Node[result.size()]);
- }
- }
- return null;
- }
-
- /**
- * @param node
- * @return the selection option children of node as strings
- */
- public static String[] getSelectOptionsString(Element node) {
- if (node == null) {
- return null;
- }
- Object[] options = getSelectOptions(node);
- if (null == options || options[0] == null) {
- return null;
- }
- List result = new ArrayList();
- for (int i = 0, n = options.length; i < n; i++) {
- if (options[i] instanceof Element) {
- Element element = (Element) options[i];
- Node value = null;
- if (element.getNodeName()
- .indexOf(IJSFConstants.TAG_SELECTITEMS) >= 0) {
- value = element.getAttributeNode(IJSFConstants.ATTR_VALUE);
- } else if (element.getNodeName().indexOf(
- IJSFConstants.TAG_SELECTITEM) >= 0) {
- value = element
- .getAttributeNode(ICSSPropertyID.ATTR_ITEMLABEL);
- }
- if (value != null) {
- result.add(value.getNodeValue());
- }
- }
- }
- return (String[]) result.toArray(new String[] {});
- }
-
- /**
- * @param node
- * @return true if node has select option children
- */
- public static boolean hasSelectOptions(Element node) {
- if (node == null) {
- return false;
- }
- String uri = CMUtil.getElementNamespaceURI(node);
- if (ITLDConstants.URI_JSF_HTML.equals(uri)) {
-
- if (JSF_SELECT_TAGS.contains(node.getLocalName())) {
- IDOMModel model = ((IDOMElement) node).getModel();
- String jsfcorePrefix = JSPUtil.getPrefix(model,
- ITLDConstants.URI_JSF_CORE);
- if (jsfcorePrefix != null) {
- NodeList nl = node.getElementsByTagName(jsfcorePrefix + ":" //$NON-NLS-1$
- + IJSFConstants.TAG_SELECTITEM);
- NodeList nl1 = node.getElementsByTagName(jsfcorePrefix
- + ":" + IJSFConstants.TAG_SELECTITEMS); //$NON-NLS-1$
- return nl.getLength() > 0 || nl1.getLength() > 0;
- }
- return false;
- }
- }
- if (ITLDConstants.URI_HTML.equals(uri)) {
- if (HTML_SELECT_TAGS.contains(node.getNodeName().toLowerCase())) {
- NodeList nl = node
- .getElementsByTagName(IHTMLConstants.TAG_OPTION);
- NodeList nl1 = node
- .getElementsByTagName(IHTMLConstants.TAG_OPTGROUP);
- return nl.getLength() > 0 || nl1.getLength() > 0;
- }
- }
- return false;
- }
-
- /**
- * @param node
- * @return true if node is a core or HTML select tag
- */
- public static boolean supportSections(Element node) {
- String uri = CMUtil.getElementNamespaceURI(node);
- if (ITLDConstants.URI_JSF_HTML.equals(uri)) {
- return JSF_SELECT_TAGS.contains(node.getLocalName());
- }
- if (ITLDConstants.URI_HTML.equals(uri)) {
- return HTML_SELECT_TAGS.contains(node.getNodeName().toLowerCase());
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectionHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectionHelper.java
deleted file mode 100644
index ee93b5827..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/SelectionHelper.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jst.jsf.core.internal.tld.CMUtil;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition2;
-import org.eclipse.jst.pagedesigner.dom.DOMUtil;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRange;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.w3c.dom.CharacterData;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class SelectionHelper {
- /**
- * convert the text selection to a Node. Will use the start offset of the
- * text selection.
- *
- * @param model
- * @param textSel
- * @return the node for the text selectin in model or null
- */
- public static Node toNode(IStructuredModel model, ITextSelection textSel) {
- // FIXME: currently always normalize to a single node. should also
- // consider change into DesignRange
- // on text selection, find the appropriate Node
- Object inode = model.getIndexedRegion(textSel.getOffset());
- if (inode instanceof Node) {
- return (Node) inode;
- }
- return null;
- }
-
- /**
- * convert a structured selection of NodeEditPart or Node into the first
- * node.
- *
- * @param selection
- * @return the node for the selection or null
- */
- public static Node toNode(IStructuredSelection selection) {
- if (selection.isEmpty()) {
- return null;
- }
- Object first = selection.getFirstElement();
- if (first instanceof Node) {
- return (Node) first;
- } else if (first instanceof NodeEditPart) {
- return ((NodeEditPart) first).getIDOMNode();
- } else {
- return null;
- }
- }
-
- /**
- * convert a DesignRange into a single node.
- *
- * @param range
- * @return the node for the design range or null
- */
- public static Node toNode(DesignRange range) {
- if (range.isValid()) {
- Node node1 = range.getStartPosition().getContainerNode();
- Node node2 = range.getEndPosition().getContainerNode();
- return DOMUtil.findCommonAncester(node1, node2);
- }
- return null;
- }
-
- /**
- * @param model
- * @param region
- * if null, then will calculate it using offset.
- * @param offset
- * offset in source.
- * @return a dom position for the region and offset
- */
- public static IDOMPosition toDOMPosition(IDOMModel model,
- IndexedRegion region, int offset) {
- if (region == null) {
- region = model.getIndexedRegion(offset);
- }
- if (region == null && offset > 0) {
- // in case this is at end of file.
- offset = offset - 1;
- region = model.getIndexedRegion(offset);
- if (region != null) {
- if (region.getEndOffset() >= offset + 1) {
- offset += 1; // restore offset.
- }
- }
- }
- if (region == null) {
- return new DOMPosition(model.getDocument(), 0);
- }
- IDOMNode node = (IDOMNode) region;
- int start = node.getStartOffset();
- if (offset <= start) {
- return new DOMRefPosition(node, false);
- }
- int end = node.getEndOffset();
- if (offset >= end) {
- return new DOMRefPosition(node, true);
- }
- if (node instanceof CharacterData) {
- String data = ((CharacterData) node).getData();
- String source = node.getSource();
- if (data.equals(source)) {
- return new DOMPosition(node, offset - start);
- }
- IStructuredDocumentRegion r = node
- .getFirstStructuredDocumentRegion();
- int countedData = 0;
- // TODO: dead? int offsetInNode = offset - start;
- while (r != null) {
- if (DOMRegionContext.XML_CHAR_REFERENCE.equals(r.getType())
- || DOMRegionContext.XML_ENTITY_REFERENCE.equals(r
- .getType())) {
- countedData += 1; // FIXME: what if the entity reference's
- // corresponding data is more than 1
- // char?
- // where can we get that information?
- if (r.getEnd() >= offset) {
- return new DOMPosition(node, countedData);
- }
- } else {
- if (r.getEnd() >= offset) {
- return new DOMPosition(node, countedData + offset
- - r.getStart());
- }
- countedData += r.getLength();
- }
- r = r.getNext();
- }
- return new DOMRefPosition(node, true);
- } else if (node instanceof Element) {
- CMElementDeclaration cm = CMUtil
- .getElementDeclaration((Element) node);
- if (cm != null && cm.getContentType() == CMElementDeclaration.EMPTY) {
- // this node can't have children.
- return new DOMRefPosition(node, true);
- }
- IStructuredDocumentRegion startRegion = node
- .getStartStructuredDocumentRegion();
- if (startRegion == null) {
- return new DOMRefPosition(node, true);
- }
- int startRegionEnd = node.getStartStructuredDocumentRegion()
- .getEnd();
- if (offset <= startRegionEnd) {
- // it is in the start tag region. So put position at first
- // child position.
- return new DOMRefPosition2(node, false);
- }
- return new DOMRefPosition2(node, true);
- } else {
- return new DOMRefPosition(node, true);
- }
- // XXX: the implementation in EditModelQuery seemed to be very complex.
- // Need revisit that
- // and refactor the implementation to this class later. (lium)
- }
-
- /**
- * Give a text selection with offset and length, convert it into a Designer
- * selection (IStrucuturedSelection of editpart or DesignerRange). If the
- * text selection include just a single element node, we'll create a
- * IStructuredSelection, otherwise we'll create a DesignerRange.
- *
- * @param graphicViewer
- * @param offset
- * @param length
- * @return a selection
- */
- public static ISelection convertToDesignerSelection(
- IHTMLGraphicalViewer graphicViewer, int offset, int length) {
- IDOMModel model = graphicViewer.getModel();
- IndexedRegion region1 = model.getIndexedRegion(offset);
- IndexedRegion region2 = model.getIndexedRegion(offset + length);
- IDOMNode node1 = (IDOMNode) region1;
-
- if (node1 == null) {
- IDOMPosition endOfDoc = new DOMRefPosition2(model.getDocument(),
- true);
- DesignPosition p = DOMPositionHelper.toDesignPosition(endOfDoc);
- return new DesignRange(p, p);
- }
-
- if ((region1 == region2 || node1.getEndOffset() == offset + length)
- && !(node1 instanceof Text)) {
- // ok, we selected a single node.
- EditPart part = (EditPart) node1.getAdapterFor(EditPart.class);
- if (part != null) {
- return new StructuredSelection(part);
- }
- }
-
- // when we reach here, we'll create a DesignerRange
- IDOMPosition position1 = toDOMPosition(model, region1, offset);
- IDOMPosition position2 = (length == 0 ? position1 : toDOMPosition(
- model, region2, offset + length));
-
- if (position1 == null || position2 == null) {
- return new DesignRange(null, null);
- }
- DesignPosition p1 = DOMPositionHelper.toDesignPosition(position1);
- DesignPosition p2 = (length == 0 ? p1 : DOMPositionHelper
- .toDesignPosition(position2));
- if (p1 == null || p2 == null) {
- return new DesignRange(null, null);
- }
-
- return new DesignRange(p1, p2);
-
- }
-
- /**
- * convert a IDOMPosition into index in the source.
- *
- * @param p
- * @return
- */
- private static int getIndexedRegionLocation(IDOMPosition p) {
- if (!EditValidateUtil.validPosition(p)) {
- return 0;
- }
-
- IDOMNode parent = (IDOMNode) p.getContainerNode();
- if (p.isText()) {
- String text = ((CharacterData) parent).getData();
- String source = parent.getSource();
- if (text.length() == source.length()) {
- // no entity reference.
- return parent.getStartOffset() + p.getOffset();
- }
- // CR404708. Need to handle entity reference in the text.
- int offset = p.getOffset();
- int counted = 0;
- IStructuredDocumentRegion r = parent
- .getFirstStructuredDocumentRegion();
- while (r != null && counted < offset) {
- if (DOMRegionContext.XML_CHAR_REFERENCE.equals(r.getType())
- || DOMRegionContext.XML_ENTITY_REFERENCE.equals(r
- .getType())) {
- counted++;
- if (counted >= offset) {
- return r.getEndOffset();
- }
- } else {
- int length = r.getLength();
- if (counted + length >= offset) {
- return r.getStartOffset() + offset - counted;
- }
- counted += length;
- }
- r = r.getNext();
- }
- return parent.getStartOffset() + p.getOffset();
- }
- IDOMNode previous = (IDOMNode) p.getPreviousSiblingNode();
- if (previous != null) {
- return previous.getEndOffset();
- }
- IDOMNode next = (IDOMNode) p.getNextSiblingNode();
- if (next != null) {
- return next.getStartOffset();
- }
- IStructuredDocumentRegion r = parent
- .getStartStructuredDocumentRegion();
- if (r != null) {
- return r.getEnd();
- }
- // r == null normally means the parent is the document node.
- return parent.getEndOffset();
- }
-
- /**
- * convert design selection of structured selection of NodeEditPart into
- * structured selection of Node
- *
- * @param sel
- * @return a structured selectino
- */
- public static IStructuredSelection convertFromDesignSelection(
- IStructuredSelection sel) {
- List list = sel.toList();
- if (list != null) {
- List result = new ArrayList(list.size());
- for (int i = 0, size = list.size(); i < size; i++) {
- NodeEditPart part = (NodeEditPart) list.get(i);
- result.add(part.getIDOMNode());
- }
- return new StructuredSelection(result);
- }
- return new StructuredSelection();
- }
-
- /**
- *
- * @param range
- * selection from designer, could be IStructuredSelection of
- * NodeEditPart, or DesignRange.
- * @return a text selection
- */
- public static ITextSelection convertFromDesignSelection(DesignRange range) {
- if (range.isValid()) {
- IDOMPosition start = DOMPositionHelper.toDOMPosition(range
- .getStartPosition());
- IDOMPosition end = DOMPositionHelper.toDOMPosition(range
- .getEndPosition());
- // We should not encounter invalid position.
- if (EditValidateUtil.validPosition(start)
- && EditValidateUtil.validPosition(end)) {
- int offset = getIndexedRegionLocation(start);
- int endoffset = getIndexedRegionLocation(end);
- if (offset > endoffset) {
- int temp = offset;
- offset = endoffset;
- endoffset = temp;
- }
- return new TextSelection(offset, endoffset - offset);
- }
- }
- return new TextSelection(0, 0);
- }
-
- /**
- * @param selection
- * @return a text selection for the selection or TextSelection(0,0)
- * if nothing can be determined
- */
- public static ITextSelection convertFromDesignSelectionToTextSelection(
- ISelection selection) {
- if (selection instanceof IStructuredSelection) {
- IStructuredSelection nodes = convertFromDesignSelection((IStructuredSelection) selection);
- IDOMNode node = (IDOMNode) nodes.getFirstElement();
- if (node != null && node.getNodeType() != Node.DOCUMENT_NODE) {
- return new TextSelection(node.getStartOffset(), node
- .getEndOffset()
- - node.getStartOffset());
- }
- } else if (selection instanceof DesignRange) {
- return convertFromDesignSelection((DesignRange) selection);
- }
- return new TextSelection(0, 0);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/StructuredModelUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/StructuredModelUtil.java
deleted file mode 100644
index 88539757b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/StructuredModelUtil.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-
-/**
- * @author mengbo
- */
-public class StructuredModelUtil {
-
- /**
- * this method is copied from ModelManagerImpl of wtp. Because it is
- * internal.
- *
- * @param model
- * @return null if can't get file.
- */
- // TODO: replace (or supplement) this is a "model info" association to the
- // IFile that created the model
- public static IFile getFileFor(IStructuredModel model) {
- if (model == null)
- return null;
- String path = model.getBaseLocation();
- if (path == null || path.length() == 0) {
- Object id = model.getId();
- if (id == null)
- return null;
- path = id.toString();
- }
- // TODO needs rework for linked resources
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- try {
- IFile file = root.getFile(new Path(path));
- // IFile file = root.getFileForLocation(new Path(path));
- return file;
- } catch (Exception ex) {
- return null;
- }
- }
-
- /**
- *
- * @param model
- * @return null if can't find project for the model
- */
- public static IProject getProjectFor(IStructuredModel model) {
- IProject project = null;
-
- IFile file = getFileFor(model);
- if (file != null) {
- project = file.getProject();
- }
- return project;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/UriAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/UriAdapterFactory.java
deleted file mode 100644
index 4bad85a5d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/UriAdapterFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.wst.sse.core.internal.util.URIResolver;
-
-/**
- * @author mengbo comment go to Window - Preferences - Java - Code Style - Code
- * Templates
- */
-public class UriAdapterFactory implements IAdapterFactory {
- /** Create the logger for this class */
- //private static Logger _log = PDPlugin.getLogger(UriAdapterFactory.class);
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object,
- * java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- if (URIResolver.class.equals(adapterType)) {
- IProject project = (IProject) adaptableObject;
- URIResolver fProjectResolver = new ProjectResolver(project);
- return fProjectResolver;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- public Class[] getAdapterList() {
- Class[] classes = new Class[1];
- classes[0] = URIResolver.class;
- return classes;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/WebAppUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/WebAppUtil.java
deleted file mode 100644
index 87324f0c6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/WebAppUtil.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jst.j2ee.internal.web.deployables.WebDeployableArtifactUtil;
-import org.eclipse.jst.jsf.common.ui.IFileFolderConstants;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class WebAppUtil {
- private final static String FACES_SERVLET_NAME = "javax.faces.webapp.FacesServlet"; //$NON-NLS-1$
-
- /**
- * @param url
- * @param openedFile
- * @return the transformed url
- */
- public static String transformJSPURL(String url, IFile openedFile) {
- boolean canSupportJSF = JSPUtil.supportTaglib(
- ITLDConstants.URI_JSF_HTML, openedFile);
- if (canSupportJSF
- && url != null
- && url.endsWith(IFileFolderConstants.DOT
- + IFileFolderConstants.EXT_JSP)) {
- String urlPattern = ""; //$NON-NLS-1$
- IVirtualResource[] resources = ComponentCore
- .createResources(openedFile);
- IVirtualComponent component = null;
- if (resources[0] != null) {
- component = resources[0].getComponent();
- }
- if (component != null) {
- urlPattern = WebDeployableArtifactUtil.getServletMapping(
- openedFile.getProject(), true, FACES_SERVLET_NAME,
- component.getName());
- }
- if (urlPattern.lastIndexOf(IFileFolderConstants.DOT) != -1) {
- String extension = urlPattern.substring(urlPattern
- .lastIndexOf(IFileFolderConstants.DOT));
- url = url.substring(0, url.lastIndexOf(IFileFolderConstants.DOT
- + IFileFolderConstants.EXT_JSP))
- + extension;
- }
- }
- return url;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/XMLUtil.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/XMLUtil.java
deleted file mode 100644
index 7638cd41d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/XMLUtil.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.utils;
-
-/**
- * @author mengbo
- */
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.w3c.dom.Document;
-
-/**
- *
- *
- */
-public class XMLUtil {
- private static Logger _log = PDPlugin.getLogger(XMLUtil.class);
-
- /**
- * Returns a DocumentBuilder capable of creating a DOM Document from input.
- *
- * @return a new instance of a document builder or null if an exception
- * occurs on creation
- */
- public synchronized static DocumentBuilder getDocumentBuilder() {
- DocumentBuilder result = null;
- try {
- result = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- // "Error in create documentBuilder"
- _log.info("XMLUtil.Error.0", e); //$NON-NLS-1$
- }
- return result;
- }
-
- /**
- * Transforms a DOM document into a lightly-formatted UTF-8 represntation
- * and outputs it to an outputstream
- *
- * @param document
- * @param ostream
- * @throws IOException
- */
- public static void serialize(Document document, OutputStream ostream)
- throws IOException {
- Source domSource = new DOMSource(document);
- try {
- Transformer serializer = TransformerFactory.newInstance()
- .newTransformer();
- try {
- serializer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- serializer.setOutputProperty(
- "{http://xml.apache.org/xslt}indent-amount", "4"); //$NON-NLS-1$ //$NON-NLS-2$
- serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
- } catch (IllegalArgumentException e) {
- // "Error in object persistance:"
- _log.info("XMLUtil.Error.2", e); //$NON-NLS-1$
- }
- serializer.transform(domSource, new StreamResult(ostream));
- } catch (TransformerConfigurationException e) {
- // "Error in object persistance:"
- _log.info("XMLUtil.Error.2", e); //$NON-NLS-1$
- throw new IOException(e.getMessage());
- } catch (TransformerFactoryConfigurationError e) {
- // "Error in object persistance:"
- _log.info("XMLUtil.Error.2", e); //$NON-NLS-1$
- throw new IOException(e.getMessage());
- } catch (TransformerException e) {
- // "Error in object persistance:"
- _log.info("XMLUtil.Error.2", e); //$NON-NLS-1$
- throw new IOException(e.getMessage());
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ActionData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ActionData.java
deleted file mode 100644
index e0c1afa0e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ActionData.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * This method represents a user action, the 'data' could be any related
- * data that will be referenced later in the action processing. For example.
- * when user does a DnD, the localData will be referenced as _data.
- *
- * @author mengbo
- */
-public class ActionData {
- /**
- * Action type for palette drag and drop
- */
- public static final int PALETTE_DND = 1;
-
- /**
- * Action type for databinding drag and drop
- */
- public static final int DATABINDING_DND = 2;
-
- /**
- * Action type for other drag and drop
- */
- public static final int OTHER_DND = 3;
-
- /**
- * Action type for key board navigation
- */
- public static final int KEYBOARD_NAVAGATION = 4;
-
- /**
- * Action type for inline editing
- */
- public static final int INLINE_EDIT = 5;
-
- /**
- * Action type for component move
- */
- public static final int COMPONENT_MOVE = 6;
-
- /**
- * Unknown action type (?)
- */
- public static final int UNKNOWN = 0;
-
- private final int _actionType;
-
- private final Object _data;
-
- /**
- * @param action
- * @param data
- */
- public ActionData(int action, Object data) {
- _actionType = action;
- if (data != null) {
- _data = data;
- } else {
- _data = new Object();
- }
- }
-
- /**
- * @return Returns the _actionType.
- */
- public final int getActionType() {
- return _actionType;
- }
-
- /**
- * @return Returns the _data.
- */
- public final Object getData() {
- return _data;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicMovementRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicMovementRule.java
deleted file mode 100644
index f1306ce43..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicMovementRule.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-/*package*/ class BasicMovementRule extends DefaultMovementRule {
-
- /**
- * @param actionData
- */
- public BasicMovementRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IMovementRule#allowsMoveIn(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean allowsMoveIn(Target target) {
- if (_actionData.getActionType() == ActionData.INLINE_EDIT) {
- Node node = target.getNode();
- return EditModelQuery.isText(node) || node.hasChildNodes();
- }
- return super.allowsMoveIn(target);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicPositionRule.java
deleted file mode 100644
index 3eaa5f013..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/BasicPositionRule.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.w3c.dom.Node;
-
-/**
- * Deal with widget.
- *
- * @author mengbo
- */
-/*package*/ class BasicPositionRule extends DefaultPositionRule
-{
- private final IPositionMediator _mediator;
-
- /**
- * @param mediator
- * @param actionData
- */
- public BasicPositionRule(IPositionMediator mediator, ActionData actionData) {
- super(actionData);
- _mediator = mediator;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#hasEditableArea(org.eclipse.gef.EditPart)
- */
- public boolean hasEditableArea(Target target) {
- if (target == null || target.getPart() == null) {
- return false;
- }
- if (!EditValidateUtil.validNode(target.getNode())) {
- return false;
- }
- if (DefaultPositionRule.isWidget(target.getPart())) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.gef.EditPart)
- */
- public boolean isEditable(Target target) {
- if (target.getPart() == null) {
- return false;
- }
- Node node = target.getNode();
-
- // text is depending on parent.
- if (EditModelQuery.isText(node)) {
- return _mediator.isEditable(new Target(node.getParentNode()));
- }
- String name = node.getLocalName();
- // Name is null, the node should not be Element
- if (name == null && !EditModelQuery.isDocument(node)
- && !EditModelQuery.isText(node)) {
- return false;
- }
- // if is widget, return false;
- if (DefaultPositionRule.isWidget(target.getPart())) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#canStopHere(org.w3c.dom.Node)
- */
- public boolean canReference(Target target, boolean atRight) {
- Node node = target.getNode();
- if (target.getPart() == null || node.getNodeType() != Node.ELEMENT_NODE
- && !EditModelQuery.isText(node)) {
- return false;
- }
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ContainerMoveInAndOutRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ContainerMoveInAndOutRule.java
deleted file mode 100644
index c95333479..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/ContainerMoveInAndOutRule.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.Arrays;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-/*package*/ class ContainerMoveInAndOutRule extends DefaultMovementRule {
- private static final String[] HTML_CONTAINERS = { IHTMLConstants.TAG_TABLE };
-
- private static final String[] NONE_HTML_CONTAINERS = {};
-
- private static final String[] SPECIAL_HTML_CONTAINERS = {
- IJSFConstants.TAG_OUTPUTLINK, IJSFConstants.TAG_COMMANDLINK,
- IJSFConstants.TAG_FACET, IJSFConstants.TAG_VERBATIM };
-
- /**
- * @param actionData
- */
- public ContainerMoveInAndOutRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementRule#canEnter(org.w3c.dom.Node)
- */
- public boolean allowsMoveIn(Target target) {
- Node node = target.getNode();
- if (node.getLocalName() != null && //
- (Arrays.asList(HTML_CONTAINERS).contains(node.getLocalName()
- .toLowerCase())) || //
- Arrays.asList(NONE_HTML_CONTAINERS).contains(
- node.getLocalName()) || //
- Arrays.asList(SPECIAL_HTML_CONTAINERS).contains(
- node.getLocalName())) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementRule#canMoveOut(org.eclipse.gef.EditPart)
- */
- public boolean allowsMoveOut(Target target) {
- Node node = target.getNode();
- if (EditModelQuery.isDocument(node)) {
- return false;
- }
-
- if (_actionData.getActionType() == ActionData.INLINE_EDIT
- && (IHTMLConstants.TAG_TD.equalsIgnoreCase(node.getLocalName()) || IHTMLConstants.TAG_TH
- .equalsIgnoreCase(node.getLocalName()))) {
- return false;
- }
- if (node.getLocalName() != null && //
- (Arrays.asList(HTML_CONTAINERS).contains(node.getLocalName()
- .toLowerCase())) || //
- Arrays.asList(NONE_HTML_CONTAINERS).contains(
- node.getLocalName())) {
- return false;
- }
-
- if (node.getLocalName() != null
- && (Arrays.asList(
- RootContainerPositionRule.HTML_ROOT_CONTAINERS)
- .contains(node.getLocalName().toLowerCase()) || //
- Arrays.asList(JSFRootContainerPositionRule.JSF_ROOT_CONTAINERS)
- .contains(node.getLocalName()))) {
- if (!EditModelQuery.isChild(
- JSFRootContainerPositionRule.JSF_ROOT_CONTAINERS, node,
- false, true)
- && //
- !EditModelQuery.isChild(
- RootContainerPositionRule.HTML_ROOT_CONTAINERS,
- node, true, true)) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultMovementRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultMovementRule.java
deleted file mode 100644
index 1aaab7c29..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultMovementRule.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * @author mengbo
- */
-/*package*/ class DefaultMovementRule implements IMovementRule {
- ActionData _actionData;
-
- /**
- * @param actionData
- *
- */
- public DefaultMovementRule(ActionData actionData) {
- super();
- _actionData = actionData;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IMovementRule#allowsMoveIn(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean allowsMoveIn(Target target) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IMovementRule#allowsMoveOut(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean allowsMoveOut(Target target) {
- return true;
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionRule.java
deleted file mode 100644
index 40e822275..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionRule.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-
-/**
- * @author mengbo
- */
-public class DefaultPositionRule implements IPositionRule {
-
- private ActionData _actionData;
-
- /**
- * @param actionData
- *
- */
- public DefaultPositionRule(ActionData actionData) {
- super();
- if (actionData != null) {
- _actionData = actionData;
- } else {
- _actionData = new ActionData(ActionData.UNKNOWN, new Object());
- }
- }
-
- /**
- * @return the action data
- */
- protected final ActionData getActionData()
- {
- return _actionData;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#hasEditableArea(org.w3c.dom.Node)
- */
- public boolean hasEditableArea(Target target) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.gef.EditPart)
- */
- public boolean isEditable(Target target) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isTransparent(org.eclipse.gef.EditPart,
- * org.eclipse.draw2d.geometry.Point)
- */
- public boolean canReference(Target target, boolean atRight) {
- return true;
- }
-
- /**
- * If container is inEditable and can be referenced, the position is
- * invalid, otherwise as default the position is valid. (non-Javadoc)
- */
- public boolean isValidPosition(IDOMPosition position) {
- boolean result = isEditable(new Target(position.getContainerNode()));
- if (result) {
- if (position.getOffset() == 0
- || position.getOffset() == position.getContainerNode()
- .getChildNodes().getLength()) {
- result = true;
- } else {
- boolean dir;
- Target target = null;
- if (position instanceof DOMRefPosition) {
- target = new Target(((DOMRefPosition) position)
- .getReferenceNode());
- dir = ((DOMRefPosition) position).isForward();
- result = canReference(target, dir);
- }
- }
- }
- return result;
- }
-
- /**
- * @param host
- * @return true if the host edit part is a widget
- */
- public static boolean isWidget(EditPart host) {
- if (host instanceof NodeEditPart) {
- return ((NodeEditPart) host).isWidget();
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java
deleted file mode 100644
index 6c45a83d8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DefaultPositionValidator.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.EditHelper;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-/*package*/ class DefaultPositionValidator implements IPositionMediator {
- private List<IValidationRule> _rules = new ArrayList<IValidationRule>();
-
- /**
- * the validator's action data
- */
- protected final ActionData _actionData;
-
- /**
- * @return Returns the _actionData.
- */
- public ActionData getActionData() {
- return _actionData;
- }
-
- /**
- * @param actionData
- */
- protected DefaultPositionValidator(ActionData actionData) {
- _actionData = actionData;
- initRules();
- }
-
- /**
- * initialize the default rules
- */
- protected void initRules() {
- _rules.clear();
- addRule(new BasicPositionRule(this, _actionData));
- addRule(new IETablePositionRule(_actionData));
- addRule(new RootContainerPositionRule(_actionData));
- addRule(new JSFRootContainerPositionRule(_actionData));
- addRule(new WhitespacePositionMoveRule(_actionData));
- }
-
- /**
- * @return Returns the _rules.
- */
- public List getRules() {
- return Collections.unmodifiableList(_rules);
- }
-
- /**
- * @param rule
- */
- protected void addRule(IValidationRule rule) {
- _rules.add(rule);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#hasEditableArea(org.w3c.dom.Node)
- */
- public boolean hasEditableArea(Target target) {
- boolean result = true;
- List rules = getRules();
- for (int i = 0, n = rules.size(); i < n; i++) {
- Object rule = rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).hasEditableArea(target);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isEditable(org.w3c.dom.Node)
- */
- public boolean isEditable(Target target) {
- Node node = target.getNode();
- boolean result = true;
- List rules = getRules();
- for (int i = 0, n = rules.size(); i < n; i++) {
- Object rule = rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).isEditable(new Target(node));
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isValidPosition(org.eclipse.jst.pagedesigner.viewer.DesignPosition)
- */
- public boolean isValidPosition(DesignPosition position) {
- return isValidPosition(DOMPositionHelper.toDOMPosition(position));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#isValidPosition(org.eclipse.jst.pagedesigner.dom.IDOMPosition)
- */
- public boolean isValidPosition(IDOMPosition position) {
- // if position is really a IDOMRefPosition, convert it to DOMPosition
- position = EditHelper.ensureDOMPosition(position);
- boolean refLeft = true, refRight = true, result = true;
- if (position == null) {
- return false;
- }
- List rules = getRules();
- for (int i = 0, n = rules.size(); i < n; i++) {
- Object rule = rules.get(i);
-
- // rule may be an IValidationRule that is not a position rule
- // so only use those that are actually position rules
- if (rule instanceof IPositionRule) {
- // the IDOMPosition represents a position somewhere in a parent
- // node based on a node list index. We need to verify that the
- // parent is editable.
- result &= ((IPositionRule) rule).isEditable(new Target(position
- .getContainerNode()));
- if (result) {
- if (!position.isText()) {
-
- // TODO C.B: no sure what the point is here. It appears
- // as though it is validating whether the sibling either
- // side of this position is a valid location for this
- // action
-
- // ref1?
- Node node = EditModelQuery.getInstance().getSibling(
- position, true);
- if (node != null & refLeft) {
- refLeft &= ((IPositionRule) rule).canReference(
- new Target(node), false);
- }
- // ref2?
- node = EditModelQuery.getInstance().getSibling(
- position, false);
- if (node != null & refRight) {
- refRight = ((IPositionRule) rule).canReference(
- new Target(node), true);
- }
- if (!(refLeft | refRight)) {
- result = false;
- break;
- }
- }
- } else {
- break;
- }
- // }
- }
- }
- return (result & (refLeft | refRight));
- }
-
- /**
- * Adjust the position to an editable area.
- */
- public EditPart getEditableContainer(Target target) {
- EditPart part = target.getPart();
- if (hasEditableArea(target)) {
- return target.getPart();
- }
- while (part != null && !(part instanceof DocumentEditPart)) {
- if (hasEditableArea(target)) {
- break;
- }
- part = part.getParent();
- target = new Target(part);
- }
- if (part instanceof DocumentEditPart
- && RootContainerPositionRule.hasBasicContainers((Document) part
- .getModel())) {
- Node node = RootContainerPositionRule
- .getBasicContainer((Document) part.getModel());
- part = Target.resolvePart(node);
- }
- return part;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IValidator#canReference(org.w3c.dom.Node)
- */
- public boolean canReference(Target target, boolean atRight) {
- boolean result = true;
- List rules = getRules();
- for (int i = 0, n = rules.size(); i < n; i++) {
- Object rule = rules.get(i);
- if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).canReference(target, atRight);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DnDPositionValidator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DnDPositionValidator.java
deleted file mode 100644
index 6fddc522a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DnDPositionValidator.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * This validator is used for caret positioning when user do drag & drop on the
- * screen.
- *
- * @author mengbo
- * TODO: is this class complete?
- */
-public class DnDPositionValidator extends DefaultPositionValidator {
- //TODO: not used
-// private static DnDPositionValidator _instance;
-//
-// private ActionData _data;
-
- /**
- * @param actionData
- */
- public DnDPositionValidator(ActionData actionData) {
- super(actionData);
- }
-
- /**
- * Override to make adding rules public on Dnd validators
- */
- public void addRule(IValidationRule rule)
- {
- super.addRule(rule);
- }
-
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DropActionData.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DropActionData.java
deleted file mode 100644
index 0d3f2119b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/DropActionData.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * An action data for object drops
- * @author cbateman
- *
- */
-public class DropActionData extends ActionData
-{
- /**
- * @param action
- * @param data
- */
- public DropActionData(int action, DropData data )
- {
- super(action, data);
- }
-
- /**
- * @return the drop data or null if none
- */
- public DropData getDropData()
- {
- return (DropData) getData();
- }
-
- /**
- * Encapsulates the tags to be dropped
- *
- */
- public static class DropData
- {
- private final List _tagIds;
-
- /**
- * @param tagIds
- */
- public DropData(List tagIds)
- {
- _tagIds = Collections.unmodifiableList(tagIds);
- }
-
- /**
- * @return the list of tag ids being dropped. List
- * is unmodifiable
- */
- public List getTagIdentifiers()
- {
- return _tagIds;
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/HeadDataPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/HeadDataPositionRule.java
deleted file mode 100644
index ed2fcaead..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/HeadDataPositionRule.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * Ensure the DnD for loadBundle or taglib is in head area.
- *
- * @author mengbo
- */
-/*package*/ class HeadDataPositionRule extends DefaultPositionRule {
-
- /**
- * @param data
- */
- public HeadDataPositionRule(ActionData data) {
- super(data);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IEPanelgridPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IEPanelgridPositionRule.java
deleted file mode 100644
index df418054d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IEPanelgridPositionRule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Node;
-
-/**
- * In some place, wen can't do inline editing, like the area between td, in
- * panelGrid, etc. In these places we can't place caret
- *
- * @author mengbo
- */
-/*package*/ class IEPanelgridPositionRule extends DefaultPositionRule {
- /**
- * @param actionData
- */
- public IEPanelgridPositionRule(ActionData actionData) {
- super(actionData);
- }
-
- /**
- * PanelGrid is not editable.
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#isEditable(Target)
- */
- public boolean isEditable(Target target) {
- Node node = target.getNode();
- return !EditModelQuery.isChild(new String[] {
- IJSFConstants.TAG_PANELGRID, IJSFConstants.TAG_DATATABLE },
- node, false, false);
- }
-
- public boolean hasEditableArea(Target target) {
- Node node = target.getNode();
- return !EditModelQuery.isChild(new String[] {
- IJSFConstants.TAG_PANELGRID, IJSFConstants.TAG_DATATABLE },
- node, false, false);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IETablePositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IETablePositionRule.java
deleted file mode 100644
index f93405c71..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IETablePositionRule.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.dom.EditValidateUtil;
-import org.w3c.dom.Node;
-
-/**
- * This rule constains the operation within a table: 1. The inputing position
- * can only be in 'td' 2. Table structure must be valid.
- *
- * @author mengbo
- */
-public class IETablePositionRule extends DefaultPositionRule {
- // We will introduce validation based on DtD later, this is not final
- // solution.
- private final String[] CONTAINER = { IHTMLConstants.TAG_THEAD,
- IHTMLConstants.TAG_TBODY, IHTMLConstants.TAG_TFOOT };
-
- /**
- * @param actionData
- */
- public IETablePositionRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#hasEditableArea(org.eclipse.jst.pagedesigner.caret.Target)
- */
- public boolean hasEditableArea(Target target) {
- if (EditModelQuery.isChild(IHTMLConstants.TAG_TABLE, target.getNode(),
- true)) {
- if (target.getPart() == null) {
- return false;
- }
- Node node = target.getNode();
- // The target must be in a valid table structure.
- String name = node.getLocalName();
- if (node.hasChildNodes()) {
- // for constrained container, depends on its children.
- if (name != null
- && (IHTMLConstants.TAG_TABLE.equalsIgnoreCase(name) || //
- Arrays.asList(CONTAINER).contains(
- name.toLowerCase()) || //
- IHTMLConstants.TAG_TR.equalsIgnoreCase(name))) {
- List children = target.getPart().getChildren();
- for (int i = 0, n = children.size(); i < n; i++) {
- if (hasEditableArea(new Target((EditPart) children
- .get(i)))) {
- return true;
- }
- }
- return false;
- }
- } else {
- if (!isEditable(new Target(node))) {
- return false;
- }
- }
- }
- return super.hasEditableArea(target);
- }
-
- /**
- * Used to valid the structure of table, later will use dtd to do that.
- * @param container
- * @return true if the table is valid
- */
- public boolean isInValidTable(Node container) {
- boolean result = false;
- try {
- if (EditValidateUtil.validNode(container)) {
- if (EditModelQuery.isText(container)) {
- container = container.getParentNode();
- }
- String name = container.getLocalName();
- if (EditModelQuery.isChild(IHTMLConstants.TAG_TABLE, container,
- true)) {
- List ancestors = EditModelQuery.getAncestors(container,
- IHTMLConstants.TAG_TABLE, true);
- int offset = ancestors.size();
- // remove 'table'
- Node temp = (Node) ancestors.remove(offset - 1);
- if (temp == container) {
- return true;
- }
- offset--;
- result = checkValidTrTd(ancestors, container);
- if (!result) {
- // thead->tr->td
- temp = (Node) ancestors.get(offset - 1);
- name = temp.getNodeName();
- if (Arrays.asList(CONTAINER).contains(
- name.toLowerCase())) {
- if (temp == container) {
- result = true;
- } else {
- // remove 'thead'
- ancestors.remove(offset - 1);
- offset--;
- result = checkValidTrTd(ancestors, container);
- }
- }
- }
- }
- }
- return result;
- } catch (Exception e) {
- // The exception means the structure is not a valid table, don't
- // need to report.
- return false;
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.jst.pagedesigner.caret.Target)
- */
- public boolean isEditable(Target target) {
- if (EditModelQuery.isChild(IHTMLConstants.TAG_TABLE, target.getNode(),
- false)) {
- if (isInValidTable(target.getNode())) {
- List ancestors = EditModelQuery.getAncestors(target.getNode(),
- IHTMLConstants.TAG_TABLE, true);
- if (ancestors.size() >= 3) {
- if (IHTMLConstants.TAG_TH
- .equalsIgnoreCase(((Node) ancestors.get(ancestors
- .size() - 3)).getNodeName())
- || //
- IHTMLConstants.TAG_TD
- .equalsIgnoreCase(((Node) ancestors
- .get(ancestors.size() - 3))
- .getNodeName())) {
- return true;
- } else if (ancestors.size() >= 4 //
- && (IHTMLConstants.TAG_TH
- .equalsIgnoreCase(((Node) ancestors
- .get(ancestors.size() - 4))
- .getNodeName()) || //
- IHTMLConstants.TAG_TD
- .equalsIgnoreCase(((Node) ancestors
- .get(ancestors.size() - 4))
- .getNodeName()))) {
- return true;
- }
- }
- }
- return false;
- }
- return super.isEditable(target);
- }
-
- private boolean checkValidTrTd(List ancestors, Node node) {
- int offset = ancestors.size();
- if (IHTMLConstants.TAG_TR.equalsIgnoreCase(((Node) ancestors
- .get(offset - 1)).getLocalName())) {
- if (ancestors.get(offset - 1) == node) {
- return true;
- } else if (IHTMLConstants.TAG_TH.equalsIgnoreCase(((Node) ancestors
- .get(offset - 2)).getLocalName())
- || //
- IHTMLConstants.TAG_TD.equalsIgnoreCase(((Node) ancestors
- .get(offset - 2)).getLocalName())) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementMediator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementMediator.java
deleted file mode 100644
index 8c1fccd9d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementMediator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.gef.EditPart;
-
-/**
- * @author mengbo
- */
-public interface IMovementMediator extends IPositionMediator {
- /**
- * @param target
- * @return true if mediator allows movment in
- */
- public boolean allowsMoveIn(Target target);
-
- /**
- * @param target
- * @return true if mediator allows movement out
- */
- public boolean allowsMoveOut(Target target);
-
- /**
- * Return a closest parent part which is editable, and it can't moveout.
- *
- * @param target
- * @return if taget part is editable, then returns itself.
- */
- public EditPart getConstainedEditableContainer(Target target);
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementRule.java
deleted file mode 100644
index 90377a8fe..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IMovementRule.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * @author mengbo
- */
-public interface IMovementRule extends IValidationRule {
- /**
- * @param target
- * @return true if allows move in
- */
- public boolean allowsMoveIn(Target target);
-
- /**
- * @param target
- * @return true allows move out
- */
- public boolean allowsMoveOut(Target target);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionMediator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionMediator.java
deleted file mode 100644
index 235a1644e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionMediator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-
-/**
- * @author mengbo
- */
-public interface IPositionMediator {
- /**
- * @return this mediator's action data
- */
- public ActionData getActionData();
-
- /**
- * To see if the node itself or its descendent is editable.
- *
- * @param target
- * @return true if the target has editable area
- */
- public boolean hasEditableArea(Target target);
-
- /**
- * To see if the position is valid.
- *
- * @param position
- * @return true if position is valid
- */
- public boolean isValidPosition(IDOMPosition position);
-
- /**
- * @param position
- * @return true if position is valid
- */
- public boolean isValidPosition(DesignPosition position);
-
- /**
- * To see if the node is editable.
- *
- * @param target
- * @return true if target is editable
- */
- public boolean isEditable(Target target);
-
- /**
- * @param target
- * @param atRight
- * @return true if can reference target
- */
- public boolean canReference(Target target, boolean atRight);
-
- /**
- * Return a node which contains 'node', and it has editable area.
- *
- * @param target
- * @return if part is editable, then itself is returned, otherwise a parent
- * is returned.
- */
- public EditPart getEditableContainer(Target target);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionRule.java
deleted file mode 100644
index 6088e1e1d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IPositionRule.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-
-/**
- * @author mengbo
- */
-public interface IPositionRule extends IValidationRule {
- /**
- * To see if the node is editable. For inline editing, this means whether
- * can we input something into the target. For DnD, this means whether can
- * we drag and drop something into it.
- *
- * @param target
- * @return true if target is editable
- */
- public boolean isEditable(Target target);
-
- /**
- * To see if the node itself or its descendent is editable.
- *
- * @param target
- * @return true if target is editable
- */
- public boolean hasEditableArea(Target target);
-
- /**
- * Whether can we place caret against this part's border. Some container we
- * are consider white box, and whitespace may not be suitable for caret
- * reference.
- *
- * @param target
- * @param atRight
- * TODO
- * @return true if can reference target
- */
- public boolean canReference(Target target, boolean atRight);
-
- /**
- * To see if the position is valid. Please note, the container is editable
- * means there is a child area whithin it is editable, the position may be
- * in an inEditable place. So this method is different from hasEditableArea
- * and isEditable.
- *
- * @param position
- * @return true if position is valid
- */
- public boolean isValidPosition(IDOMPosition position);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IValidationRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IValidationRule.java
deleted file mode 100644
index 296d02ba0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/IValidationRule.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * @author mengbo
- */
-public interface IValidationRule {
- // TODO: tagging interface?
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingNavigationMediator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingNavigationMediator.java
deleted file mode 100644
index c1c1115ed..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingNavigationMediator.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.List;
-
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.gef.editparts.ScalableRootEditPart;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.tools.ExposeHelper;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class InlineEditingNavigationMediator extends
- InlineEditingPositionMediator implements IMovementMediator {
-
- /**
- * @param actionData
- */
- public InlineEditingNavigationMediator(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.DefaultPositionValidator#initRules(org.eclipse.jst.pagedesigner.caret.ActionData)
- */
- protected void initRules() {
- super.initRules();
- this.addRule(new ContainerMoveInAndOutRule(_actionData));
- this.addRule(new BasicMovementRule(_actionData));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementValidator#allowsMoveIn(org.eclipse.gef.EditPart)
- */
- public boolean allowsMoveIn(Target target) {
- boolean result = true;
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IMovementRule) {
- result &= ((IMovementRule) rule).allowsMoveIn(target);
- } else if (rule instanceof IPositionRule) {
- result &= ((IPositionRule) rule).hasEditableArea(target);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementValidator#allowsMoveOut(org.eclipse.gef.EditPart)
- */
- public boolean allowsMoveOut(Target target) {
- boolean result = true;
- List _rules = getRules();
- for (int i = 0, n = _rules.size(); i < n; i++) {
- Object rule = _rules.get(i);
- if (rule instanceof IMovementRule) {
- result &= ((IMovementRule) rule).allowsMoveOut(target);
- }
- if (!result) {
- break;
- }
- }
- return result;
- }
-
- /**
- * @param target
- * @return ?
- */
- public EditPart getRootConstainedEditableContainer(Target target) {
- // if (EditModelQuery.isDocument(target.getNode()))
- // {
- // return target.getPart();
- // }
- EditPart part = target.getPart();
- while (part != null) {
- if (hasEditableArea(target) && !allowsMoveOut(target)) {
- break;
- }
- part = part.getParent();
- target = new Target(part);
- }
- if (part instanceof DocumentEditPart
- && RootContainerPositionRule.hasBasicContainers((Document) part
- .getModel())) {
- Node node = RootContainerPositionRule
- .getBasicContainer((Document) part.getModel());
- part = Target.resolvePart(node);
- }
-
- return part;
- }
-
- /**
- * @see org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator#getConstainedEditableContainer(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public EditPart getConstainedEditableContainer(Target target) {
- EditPart part = target.getPart();
- while (part != null) {
- if (hasEditableArea(target)) {
- break;
- }
- part = part.getParent();
- target = new Target(part);
- }
- if (part instanceof DocumentEditPart
- && RootContainerPositionRule.hasBasicContainers((Document) part
- .getModel())) {
- Node node = RootContainerPositionRule
- .getBasicContainer((Document) part.getModel());
- part = Target.resolvePart(node);
- }
- return part;
- }
-
- /**
- * @param position
- * @param p
- * @param viewer
- * @return the constrained editable container or null if none found for the arguments
- * @see org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator#getConstainedEditableContainer(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public EditPart getConstainedEditableContainer(DesignPosition position,
- Point p, GraphicalViewer viewer) {
- Rectangle rect = new Rectangle(p.x, p.y, 1, 1);
- Viewport port = ((IHTMLGraphicalViewer) viewer).getViewport();
-
- Point viewLocation = port.getViewLocation();
- Point lastLocation = viewLocation.getCopy();
- new ExposeHelper((IHTMLGraphicalViewer) viewer).exposeArea(rect);
- viewLocation = port.getViewLocation();
- Dimension offset = lastLocation.getDifference(viewLocation);
-
- p.translate(offset.width, offset.height);
- EditPart part = viewer.findObjectAt(p);
- if (part != null && !(part instanceof ScalableRootEditPart)) {
- while (part != null) {
- Target target = new Target(part);
- if (hasEditableArea(target)) {
- if (allowsMoveIn(target)
- || EditModelQuery.isChild(target.getNode(),
- position.getContainerNode())) {
- break;
- }
- }
- part = part.getParent();
- }
- if (part instanceof DocumentEditPart
- && RootContainerPositionRule
- .hasBasicContainers((Document) part.getModel())) {
- Node node = RootContainerPositionRule
- .getBasicContainer((Document) part.getModel());
- part = Target.resolvePart(node);
- }
- return part;
- }
- return null;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingPositionMediator.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingPositionMediator.java
deleted file mode 100644
index 5329586f4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/InlineEditingPositionMediator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * This validtor is used for inline editing, caret positioning with mouse.
- *
- * @author mengbo
- */
-public class InlineEditingPositionMediator extends DefaultPositionValidator {
-
- /**
- * @param actionData
- */
- public InlineEditingPositionMediator(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.DefaultPositionValidator#initRules()
- */
- protected void initRules() {
- super.initRules();
- addRule(new IEPanelgridPositionRule(_actionData));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/JSFRootContainerPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/JSFRootContainerPositionRule.java
deleted file mode 100644
index 7ec0906c4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/JSFRootContainerPositionRule.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.Arrays;
-
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * Ensure the DnD of jsf component should be within f:view or f:subview.
- *
- * @author mengbo
- */
-public class JSFRootContainerPositionRule extends DefaultPositionRule {
-
- private final static int DEFAULT_MAX_DEPTH_SEARCH = 3;
-
- /**
- * TODO: this is not enough because it ignores the uri and keys on only
- * the name of the tag.
- */
- /*package*/ static final String[] JSF_ROOT_CONTAINERS = { "view", "subview" }; //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * @param actionData
- */
- public JSFRootContainerPositionRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#hasEditableArea(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean hasEditableArea(Target target) {
- Node node = target.getNode();
- if (hasBasicContainers(EditModelQuery.getDocumentNode(node),DEFAULT_MAX_DEPTH_SEARCH)) {
- ActionData actionData = getActionData();
- if (actionData instanceof DropActionData) {
- DropActionData dropActionData = (DropActionData) actionData;
- TagIdentifier tagId =
- (TagIdentifier) dropActionData.getDropData().getTagIdentifiers().get(0);
- final String uri = tagId.getUri();
- if (ITLDConstants.URI_JSF_HTML.equalsIgnoreCase(uri)
- || ITLDConstants.URI_JSF_CORE.equalsIgnoreCase(uri)) {
- boolean result = EditModelQuery.isChild(
- JSF_ROOT_CONTAINERS, node, true, false);
- return result
- || EditModelQuery.getChild(node,
- JSF_ROOT_CONTAINERS, 3, false) != null;
- }
- } else if (getActionData().getActionType() == ActionData.DATABINDING_DND) {
- boolean result = EditModelQuery.isChild(JSF_ROOT_CONTAINERS,
- node, true, false);
- return result
- || EditModelQuery.getChild(node, JSF_ROOT_CONTAINERS, 3,
- false) != null;
- }
- }
- return super.isEditable(target);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#isEditable(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean isEditable(Target target) {
- boolean result = true;
- Node node = target.getNode();
- if (hasBasicContainers(EditModelQuery.getDocumentNode(node), DEFAULT_MAX_DEPTH_SEARCH)) {
- ActionData actionData = getActionData();
- if (actionData instanceof DropActionData) {
- DropActionData dropActionData = (DropActionData) actionData;
- TagIdentifier tagId =
- (TagIdentifier) dropActionData.getDropData().getTagIdentifiers().get(0);
- final String uri = tagId.getUri();
-
- if (ITLDConstants.URI_JSF_HTML.equalsIgnoreCase(uri)
- || ITLDConstants.URI_JSF_CORE.equalsIgnoreCase(uri)) {
- result = EditModelQuery.isChild(JSF_ROOT_CONTAINERS,
- node, true, false);
- }
- } else if (getActionData().getActionType() == ActionData.DATABINDING_DND) {
- result = EditModelQuery.isChild(JSF_ROOT_CONTAINERS, node,
- true, false);
- }
- return result;
- }
- return super.isEditable(target);
- }
-
-
- /**
- * @param document
- * @param maxDepth
- * @return the closest tag called "view" or "subview" to the root of document
- * search to a maximum tag depth of maxDepth
- */
- public static Node getBasicContainer(Document document, int maxDepth) {
- Node node = EditModelQuery.getChild(document, JSF_ROOT_CONTAINERS, maxDepth,
- false);
- return node;
- }
-
- /**
- * We need to see if body, view are there. and they should be at first or
- * second level.
- *
- * @param document
- * @param maxDepth
- * @return true if document has a view and subview limited to a maximum search
- * depth of maxDepth
- */
- public static boolean hasBasicContainers(Document document, int maxDepth) {
- return getBasicContainer(document, maxDepth) != null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#canReference(org.eclipse.jst.pagedesigner.validation.caret.Target,
- * boolean)
- */
- public boolean canReference(Target target, boolean atRight) {
- Node node = target.getNode();
- if (node.getLocalName() != null) {
- // if the local name of the target is in the list of JSF root
- // containers
- if (Arrays.asList(JSF_ROOT_CONTAINERS).contains(
- node.getLocalName().toLowerCase())) {
-
- // verify that either the target is
- return EditModelQuery.isChild(
- RootContainerPositionRule.HTML_ROOT_CONTAINERS, node,
- false, false)
- || EditModelQuery.isChild(JSF_ROOT_CONTAINERS, node,
- false, false);
- }
- }
- return super.canReference(target, atRight);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/NodeConstructionPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/NodeConstructionPositionRule.java
deleted file mode 100644
index 54b389ff4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/NodeConstructionPositionRule.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-/**
- * @author mengbo
- */
-public class NodeConstructionPositionRule extends DefaultPositionRule {
-
- /**
- * @param actionData
- */
- public NodeConstructionPositionRule(ActionData actionData) {
- super(actionData);
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java
deleted file mode 100644
index 2901427aa..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import java.util.Arrays;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * This rule deal with containers 'body', 'view', 'subview'.
- *
- * @author mengbo
- */
-public class RootContainerPositionRule extends DefaultPositionRule {
- static final String[] HTML_ROOT_CONTAINERS = { "body" }; //$NON-NLS-1$
-
- /**
- * @param actionData
- */
- public RootContainerPositionRule(ActionData actionData) {
- super(actionData);
- }
-
- /**
- * 1. If anyone of the three containers exists, the target should be in the
- * container. 2. If none of the containers exists, then target will be not
- * restricted.
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#hasEditableArea(org.eclipse.jst.pagedesigner.validation.caret.Target)
- */
- public boolean hasEditableArea(Target target) {
- EditPart part = target.getPart();
- if (part == null) {
- return false;
- }
- Node node = target.getNode();
- if (hasBasicContainers(EditModelQuery.getDocumentNode(node))) {
- return true;// isWithinkBasicContainer(node);
- }
- return super.hasEditableArea(target);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.gef.EditPart)
- */
- public boolean isEditable(Target target) {
- Node node = target.getNode();
- if (hasBasicContainers(EditModelQuery.getDocumentNode(node))) {
- boolean result = isWithinkBasicContainer(node);
- return result;
- }
- return super.isEditable(target);
- }
-
- /**
- * We need to see if body, view are there. and they should be at first or
- * second level.
- *
- * @param document
- * @return true if the document has basic containers
- */
- public static boolean hasBasicContainers(Document document) {
- return getBasicContainer(document) != null;
-
- }
-
- private static boolean isWithinkBasicContainer(Node node) {
- return EditModelQuery.isChild(HTML_ROOT_CONTAINERS, node, true, false);
- }
-
- /**
- * @param document
- * @return the basic root container for the document or null
- */
- public static Node getBasicContainer(Document document) {
- Node node = EditModelQuery.getChild(document, HTML_ROOT_CONTAINERS, 2,
- false);
- if (node == null) {
- node = EditModelQuery.getChild(document, HTML_ROOT_CONTAINERS, 2,
- true);
- }
- return node;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.validation.caret.IPositionRule#canReference(org.eclipse.jst.pagedesigner.validation.caret.Target,
- * boolean)
- */
- public boolean canReference(Target target, boolean atRight) {
- Node node = target.getNode();
- if (node.getLocalName() != null) {
- if (Arrays.asList(HTML_ROOT_CONTAINERS).contains(
- node.getLocalName().toLowerCase())) {
- return EditModelQuery.isChild(
- JSFRootContainerPositionRule.JSF_ROOT_CONTAINERS, node,
- false, false);
- }
- }
- return true;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/Target.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/Target.java
deleted file mode 100644
index d680ec90f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/Target.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.converter.ITagConverter;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class Target {
- private EditPart _part;
-
- private Node _node;
-
- /**
- * @param part
- */
- public Target(EditPart part) {
- _part = part;
-
- if(part.getModel() instanceof Node)
- {
- _node = (Node) part.getModel();
- }
- else if (part.getModel() instanceof ITagConverter)
- {
- _node = ((ITagConverter)part.getModel()).getHostElement();
- }
- else
- {
- Assert.isTrue(false);
- }
- }
-
- /**
- * @param node
- */
- public Target(Node node) {
- _node = node;
- Assert.isTrue(node instanceof INodeNotifier);
- if (((INodeNotifier) node).getAdapterFor(EditPart.class) != null) {
- _part = (EditPart) ((INodeNotifier) node)
- .getAdapterFor(EditPart.class);
- }
- }
-
- /**
- * @return Returns the _node.
- */
- public Node getNode() {
- return _node;
- }
-
- /**
- * @return Returns the _part.
- */
- public EditPart getPart() {
- return _part;
- }
-
- /**
- * @return the target's tag wrapper or null if the target
- * is not an Element node
- */
- public TagIdentifier getTagWrapper()
- {
- if (_node instanceof Element)
- {
- return TagIdentifierFactory.createDocumentTagWrapper((Element)_node);
- }
-
- return null;
- }
-
- /**
- * @param node
- * @return the edit part for node or null if none found
- */
- public static EditPart resolvePart(Node node) {
- if (node instanceof INodeNotifier
- && ((INodeNotifier) node).getAdapterFor(EditPart.class) != null) {
- return (EditPart) ((INodeNotifier) node)
- .getAdapterFor(EditPart.class);
- }
- return null;
- }
-
- /**
- * @param part
- * @return the node for part
- */
- public static Node resolveNode(EditPart part) {
- return (Node) part.getModel();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/WhitespacePositionMoveRule.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/WhitespacePositionMoveRule.java
deleted file mode 100644
index 79e87c500..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/WhitespacePositionMoveRule.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.validation.caret;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.DesignRefPosition;
-import org.eclipse.jst.pagedesigner.viewer.EditPartPositionHelper;
-import org.w3c.dom.Text;
-
-/**
- * For whitespaces 1. If there is sibling can be reference, then we don't
- * reference whitespace text. 2. Position can't be between whitespace text.
- *
- * @author mengbo
- */
-public class WhitespacePositionMoveRule extends DefaultPositionRule implements
- IMovementRule {
-
- /**
- * @param actionData
- */
- public WhitespacePositionMoveRule(ActionData actionData) {
- super(actionData);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementRule#canEnter(org.eclipse.gef.EditPart)
- */
- public boolean allowsMoveIn(Target target) {
- if (EditModelQuery.isTransparentText(target.getNode())) {
- return false;
- }
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IMovementRule#canMoveOut(org.eclipse.gef.EditPart)
- */
- public boolean allowsMoveOut(Target target) {
- return true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#canReference(org.eclipse.jst.pagedesigner.caret.Target)
- */
- public boolean canReference(Target target, boolean atRight) {
- boolean result = super.canReference(target, atRight);
- if (EditModelQuery.isText(target.getNode())) {
- if (((Text) target.getNode()).getData().length() == 0) {
- result = false;
- } else if (EditModelQuery.isTransparentText(target.getNode())) {
- DesignPosition position = new DesignRefPosition(target
- .getPart(), atRight);
- if (EditPartPositionHelper.getConcretePart(position, atRight) != null) {
- result = true;
- } else {
- EditPart part = EditPartPositionHelper.getNextConcretPart(
- position, atRight);
- EditPart oppPart = EditPartPositionHelper
- .getNextConcretPart(position, !atRight);
- if (part == null) {
- if (oppPart == null) {
- result = true;
- }
- }
- result = false;
- }
- }
- }
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#hasEditableArea(org.eclipse.jst.pagedesigner.caret.Target)
- */
- public boolean hasEditableArea(Target target) {
- if (EditModelQuery.isTransparentText(target.getNode())) {
- return false;
- }
- return super.hasEditableArea(target);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.caret.IPositionRule#isEditable(org.eclipse.jst.pagedesigner.caret.Target)
- */
- public boolean isEditable(Target target) {
- if (EditModelQuery.isTransparentText(target.getNode())) {
- return false;
- }
- return super.isEditable(target);
- }
-
- // /*
- // * (non-Javadoc)
- // *
- // * @see
- // org.eclipse.jst.pagedesigner.caret.IPositionRule#isValidPosition(org.eclipse.jst.pagedesigner.dom.IDOMPosition)
- // */
- // public boolean isValidPosition(IDOMPosition position)
- // {
- // Node node = null;
- // if (position instanceof DOMRefPosition)
- // {
- // node = ((DOMRefPosition)position).getReferenceNode();
- // } else if (position.isText())
- // {
- // node = position.getContainerNode();
- // } else {
- // return super.isValidPosition(position);
- // }
- // if (EditModelQuery.isTransparentText(position.getContainerNode()))
- // {
- // if (node.getPreviousSibling() != null)
- // {
- // node = node.getPreviousSibling();
- // return _mediator.canReference(new Target(node), true);
- // }
- // else if (node.getNextSibling() != null)
- // {
- // node = node.getNextSibling();
- // return _mediator.canReference(new Target(node), false);
- // }
- // }
- // return super.isValidPosition(position);
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/AbstractDropLocationStrategy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/AbstractDropLocationStrategy.java
deleted file mode 100644
index 6dbeb6430..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/AbstractDropLocationStrategy.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.LayerConstants;
-import org.eclipse.gef.editparts.LayerManager;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-
-/**
- * Abstract parent of all concrete client implmentation of IDropLocationStrategy's
- * Clients should sub-class instead of implementing {@link IDropLocationStrategy} directly
- * to avoid future API breakage
- *
- * @author cbateman
- *
- */
-public abstract class AbstractDropLocationStrategy implements IDropLocationStrategy
-{
- private final EditPartViewer _viewer;
-
- /**
- * @param viewer
- */
- public AbstractDropLocationStrategy(EditPartViewer viewer)
- {
- _viewer = viewer;
- }
-
- public abstract DesignPosition calculateDesignPosition(EditPart host, Point p,
- IPositionMediator validator);
-
- public abstract List showTargetFeedback(EditPart host, DesignPosition position, DropRequest request);
-
- /**
- * @return the viewer in which this strategy may show target feedback
- */
- protected final EditPartViewer getViewer()
- {
- return _viewer;
- }
-
- /**
- * @return the figure for the feedback layer
- */
- protected final IFigure getFeedbackLayer()
- {
- return LayerManager.Helper.find(_viewer.getRootEditPart().getContents()).getLayer(LayerConstants.FEEDBACK_LAYER);
- }
-
- /**
- * Adds the specified <code>Figure</code> to the {@link LayerConstants#FEEDBACK_LAYER}.
- * @param figure the feedback to add
- */
- protected void addFeedback(IFigure figure) {
- getFeedbackLayer().add(figure);
- }
-
- /**
- * Removes the specified <code>Figure</code> to the {@link LayerConstants#FEEDBACK_LAYER}.
- * @param figure the feedback to remove
- */
- protected void removeFeedback(IFigure figure) {
- getFeedbackLayer().remove(figure);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretPositionResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretPositionResolver.java
deleted file mode 100644
index 27aae6901..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretPositionResolver.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- * @version 1.5
- */
-public class CaretPositionResolver {
- private IPositionMediator _validator;
-
- private Point _point;
-
- private static CaretPositionResolver _instance;
-
- /**
- * @param validator
- * @param point
- * @return the singleton instance
- */
- public static CaretPositionResolver getInstance(
- IPositionMediator validator, Point point) {
- if (_instance == null) {
- _instance = new CaretPositionResolver();
- }
- _instance.setPoint(point);
- _instance.setValidator(validator);
- return _instance;
- }
-
- /**
- * @param _point
- * The _point to set.
- */
- private void setPoint(Point _point) {
- this._point = _point;
- }
-
- /**
- * @param _validator
- * The _validator to set.
- */
- private void setValidator(IPositionMediator _validator) {
- this._validator = _validator;
- }
-
- /**
- * Calculate the two part's distance to point, the shorter one will be
- * return. Distance is calculated based on: if there is one box contains
- * point.y, then calculate that box, or if there is no any such one box,
- * then calculate the y distance.
- *
- * @param part1
- * @param part2
- * @param point
- * @return
- */
- static LayoutPart getCloserPart(LayoutPart part1, LayoutPart part2,
- Point _point) {
- if (part1 == null
- || EditModelQuery.isTransparentText(Target.resolveNode(part1
- .getPart()))) {
- return part2;
- } else if (part2 == null
- || EditModelQuery.isTransparentText(Target.resolveNode(part2
- .getPart()))) {
- return part1;
- }
- Rectangle rect1 = part1.getAbsoluteBounds();
- Rectangle rect2 = part2.getAbsoluteBounds();
- Node n1 = Target.resolveNode(part1.getPart());
- Node n2 = Target.resolveNode(part2.getPart());
- // Within same.
- if (EditModelQuery.isChild(n1, n2)
- && (CaretPositionResolver.getXDistance(rect2, _point) == 0)
- && !part1.isCloseToEdgeFromOutSide()) {
- return part2;
- } else if (EditModelQuery.isChild(n2, n1)
- && (CaretPositionResolver.getXDistance(rect1, _point) == 0 && !part2
- .isCloseToEdgeFromOutSide())
- && !part2.isCloseToEdgeFromOutSide()) {
- return part1;
- }
- if (rect1.intersect(new Rectangle(rect1.x, rect2.y, rect1.width,
- rect2.height)).height == 0) {
- return heightFirst(part1, part2, _point);
- }
- return widthFirst(part1, part2, _point);
- }
-
- private static LayoutPart heightFirst(LayoutPart part1, LayoutPart part2,
- Point _point) {
- Rectangle rect1 = part1.getAbsoluteBounds();
- Rectangle rect2 = part2.getAbsoluteBounds();
- int offset1 = Math.abs(CaretPositionResolver
- .getYDistance(rect1, _point));
- int offset2 = Math.abs(CaretPositionResolver
- .getYDistance(rect2, _point));
- if (offset1 > offset2) {
- return part2;
- } else if (offset1 < offset2) {
- return part1;
- } else {
- offset1 = Math.abs(CaretPositionResolver
- .getXDistance(rect1, _point));
- offset2 = Math.abs(CaretPositionResolver
- .getXDistance(rect2, _point));
- if (offset1 >= offset2) {
- return part2;
- }
- return part1;
- }
- }
-
- private static LayoutPart widthFirst(LayoutPart part1, LayoutPart part2,
- Point _point) {
- Rectangle rect1 = part1.getAbsoluteBounds();
- Rectangle rect2 = part2.getAbsoluteBounds();
- int offset1 = Math.abs(CaretPositionResolver
- .getXDistance(rect1, _point));
- int offset2 = Math.abs(CaretPositionResolver
- .getXDistance(rect2, _point));
- if (offset1 > offset2) {
- return part2;
- } else if (offset1 < offset2) {
- return part1;
- } else {
- offset1 = Math.abs(CaretPositionResolver
- .getYDistance(rect1, _point));
- offset2 = Math.abs(CaretPositionResolver
- .getYDistance(rect2, _point));
- if (offset1 >= offset2) {
- return part2;
- }
- return part1;
- }
- }
-
- /**
- * Return a descendent part under parent that is one of the closest part to
- * point.
- *
- * @param parent
- * @return
- */
- private LayoutPart getClosestChildPart(LayoutPart parent) {
- LayoutPart result = null;
- if (parent != null) {
- List children = null;
- if ((children = parent.getPart().getChildren()).size() > 0) // &&
- // _validator.hasEditableArea(new
- // Target(parent.getPart())))
- {
- // iterate its children, we know the part doesn't contain p. so
- // we only see if its children can be
- // referenced.
- for (int i = 0, n = children.size(); i < n; i++) {
- LayoutPart nextPart = new LayoutPart((EditPart) children
- .get(i), _point);
- Target target = new Target(nextPart.getPart());
- if (_validator.isValidPosition(new DesignRefPosition(target
- .getPart(), false))) {
- result = getCloserPart(result, nextPart, _point);
- } else if (_validator.hasEditableArea(target)) {
- LayoutPart temp = getClosestChildPart(nextPart);
- if (temp == null) {
- temp = nextPart;
- }
- result = getCloserPart(result, temp, _point);
- }
- }
- }
- }
- return result;
- }
-
- /**
- * Use by vertical movement, we need to see whther the par
- *
- * @param closestPart
- * @param target
- * @return
- */
- LayoutPart resolveClosestPartFrom(LayoutPart closestPart) {
- Target target = new Target(closestPart.getPart());
- LayoutPart finalPart = null;
- if (EditModelQuery.isInline(Target.resolveNode(closestPart.getPart()))) {
-
- if (closestPart.isAfterPoint() || closestPart.isBeforePoint()) {
- finalPart = closestPart;
- } else {
- if (_validator.hasEditableArea(target)
- && (_validator instanceof IMovementMediator
- && ((IMovementMediator) _validator)
- .allowsMoveIn(target) || !(_validator instanceof IMovementMediator))) {
- finalPart = getClosestChildPartOrPart(closestPart);
- }
- }
- }
- // block
- else {
- if (closestPart.contains(_point)) {
- if (_validator.hasEditableArea(target) && //
- (_validator instanceof IMovementMediator
- && ((IMovementMediator) _validator)
- .allowsMoveIn(target) || !(_validator instanceof IMovementMediator))) {
- finalPart = getClosestChildPartOrPart(closestPart);
- }
- }
- // outside of bounds
- else {
- if (_validator.hasEditableArea(target)
- && !IHTMLConstants.TAG_TABLE.equalsIgnoreCase(target
- .getNode().getNodeName())
- && (_validator instanceof IMovementMediator
- && ((IMovementMediator) _validator)
- .allowsMoveIn(target) || !(_validator instanceof IMovementMediator))) {
- if (closestPart.atSameRow(_point)) {
- finalPart = getClosestChildPartOrPart(closestPart);
- } else if (!_validator
- .isValidPosition(new DesignRefPosition(target
- .getPart(), true))) {
- finalPart = getClosestChildPartOrPart(closestPart);
- }
- }
- }
- }
- if (finalPart == null && //
- (_validator.isValidPosition(new DesignRefPosition(target
- .getPart(), true)) || //
- _validator.isValidPosition(new DesignRefPosition(target
- .getPart(), false)))) {
- finalPart = closestPart;
- }
- return finalPart;
- }
-
- private LayoutPart getClosestChildPartOrPart(LayoutPart closestPart) {
- LayoutPart result = getClosestChildPart(closestPart);
- if (result != null) {
- result = resolveClosestPartFrom(result);
- } else {
- if (closestPart.getConcretePart() == null) {
- result = closestPart;
- }
- }
- return result;
- }
-
- /**
- * Get the distance from rect's edge to point.x.
- *
- * @param rect
- * @param point
- * @return the X distance
- */
- public static int getXDistance(Rectangle rect, Point point) {
- if (rect.getRight().x <= point.x) {
- return point.x - (rect.getRight().x);
- } else if (rect.x >= point.x) {
- return point.x - rect.x;
- } else if (rect.x <= point.x && point.x <= rect.getRight().x) {
- return 0;
- }
- return -1;
- }
-
- /**
- * from point to middle's distance. If the result is nagative, point is at
- * left part of rect, if it is positive, the point is at the right part.
- *
- * @param rect
- * @param point
- * @return the X distance
- */
- public static int toXMiddle(Rectangle rect, Point point) {
- return (point.x - (rect.x + rect.getRight().x) / 2);
- }
-
- /**
- * from point to middle's distance If the result is nagative, point is at
- * upper part of rect, if it is positive, the point is at the lower part.
- *
- * @param rect
- * @param point
- * @return the Y distance
- */
- public static int toYMiddle(Rectangle rect, Point point) {
- return (point.y - (rect.y + rect.getBottom().y) / 2);
- }
-
- /**
- * @param rect
- * @param point
- * @return the Y distance
- */
- public static int getYDistance(Rectangle rect, Point point) {
- if (rect.y + rect.height <= point.y) {
- return point.y - (rect.y + rect.height);
- } else if (rect.y >= point.y) {
- return point.y - rect.y;
- } else if (rect.y <= point.y && point.y <= rect.y + rect.height) {
- return 0;
- }
- return -1;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretUpdater.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretUpdater.java
deleted file mode 100644
index f116e0640..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/CaretUpdater.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.draw2d.FigureListener;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.RangeModel;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID;
-import org.eclipse.jst.pagedesigner.tools.ExposeHelper;
-import org.eclipse.swt.widgets.Caret;
-
-/**
- * This class is responsible for update the caret location. At least the
- * following changes may result in caret location change. <ll>
- * <li>The selection mode change. For example, from/to text mode to/from object
- * mode, we need to hide/display the caret
- * <li>The caret location change in the model.
- * <li>the figures moved. This may result in model change in somewhere else, or
- * user resized the page designer.
- * <li>The figure that containing the caret get recreated. </ll>
- *
- * @author mengbo
- */
-/*package*/ class CaretUpdater implements IHTMLGraphicalViewerListener,
- FigureListener {
-// private static final Logger _log = PDPlugin.getLogger(CaretUpdater.class);
-
- private IHTMLGraphicalViewer _viewer;
-
- private boolean _viewerBatchChanging = false;
-
- /**
- * the width value of the caret in pixels
- */
- public static final int CARET_WIDTH = 2;
-
- /**
- * the figure the caret associate to, we need to track this figure's
- * resizing, location change, etc.
- */
- private IFigure _trackFigure;
-
- /**
- * @param viewer
- */
- public CaretUpdater(IHTMLGraphicalViewer viewer) {
- _viewer = viewer;
- setup();
- }
-
- /**
- * set up the
- */
- public void setup() {
- _viewer.addHTMLViewerListener(this);
- }
-
- /**
- * this method is called after the view is fully initialized.
- */
- public void connectViewer() {
- Viewport viewport = _viewer.getViewport();
- if (viewport != null) {
- viewport.getHorizontalRangeModel().addPropertyChangeListener(
- new PropertyChangeListener() {
- public void propertyChange(
- PropertyChangeEvent propertychangeevent) {
- if ((propertychangeevent.getSource() instanceof RangeModel)
- && (propertychangeevent.getPropertyName()
- .equals(ICSSPropertyID.ATTR_VALUE) || propertychangeevent
- .getPropertyName().equals("extent"))) //$NON-NLS-1$
- updateCaret();
- }
-
- });
- viewport.getVerticalRangeModel().addPropertyChangeListener(
- new PropertyChangeListener() {
-
- public void propertyChange(
- PropertyChangeEvent propertychangeevent) {
- if ((propertychangeevent.getSource() instanceof RangeModel)
- && (propertychangeevent.getPropertyName()
- .equals(ICSSPropertyID.ATTR_VALUE) || propertychangeevent
- .getPropertyName().equals("extent"))) //$NON-NLS-1$
- updateCaret();
- }
-
- });
- }
- }
-
- /**
- * dispose the instance
- */
- public void dispose() {
- _viewer.removeHTMLViewerListener(this);
- }
-
- /**
- * Update the selection
- */
- public void updateSelection() {
- setCaretVisible(false);
- updateRangeSelection();
- updateCaret();
- reveal();
- }
-
- private void setCaretVisible(boolean visible) {
- Caret caret = _viewer.getCaret();
- if (caret == null)
- return;
- if (caret.isDisposed()) {
- return;
- }
- caret.setVisible(visible);
- }
-
- /**
- *
- */
- private void updateRangeSelection() {
- // FIXME: optimization needed here. Normally should not repaint the
- // whole page.
- ((GraphicalEditPart) _viewer.getRootEditPart()).getFigure().repaint();
- ((GraphicalEditPart) _viewer.getRootEditPart()).getFigure()
- .getUpdateManager().performUpdate();
- }
-
- /**
- * update the caret
- */
- public void updateCaret() {
- if (_trackFigure != null) {
- _trackFigure.removeFigureListener(this);
- _trackFigure = null;
- }
- Caret caret = _viewer.getCaret();
- if (caret == null) {
- return;
- }
- if (caret.isDisposed()) {
- return;
- }
-
- Rectangle rect = null;
-
- // try get the caret bounds.
- if (_viewer.isInRangeMode()) {
- DesignRange range = _viewer.getRangeSelection();
- if (range != null) {
- DesignPosition endPosition = range.getEndPosition();
- if (endPosition != null && endPosition.isValid()) {
- rect = EditPartPositionHelper
- .convertToAbsoluteCaretRect(endPosition);
- _trackFigure = ((GraphicalEditPart) endPosition
- .getContainerPart()).getFigure();
- _trackFigure.addFigureListener(this);
- }
- }
- }
-
- // set visible effect
- if (rect == null) {
- caret.setVisible(false);
- } else {
- caret.setVisible(false); // make sure it get removed from the
- // screen.
- // the caret width doesn't need to be calculated, the x pos should
- // be adjusted more acurately.
- caret.setBounds(rect.x, rect.y, CARET_WIDTH, rect.height);
- caret.setVisible(true);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
- */
- public void selectionChanged(SelectionChangedEvent event) {
- if (_viewerBatchChanging) {
- return;
- }
- updateSelection();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewerListener#selectionAboutToChange()
- */
- public void selectionAboutToChange() {
- _viewerBatchChanging = true;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewerListener#selectionChangeFinished()
- */
- public void selectionChangeFinished() {
- _viewerBatchChanging = false;
- updateSelection();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.draw2d.FigureListener#figureMoved(org.eclipse.draw2d.IFigure)
- */
- public void figureMoved(IFigure source) {
- updateCaret();
- }
-
- private void reveal() {
- Caret caret = _viewer.getCaret();
- if (caret != null && !caret.isDisposed() && _viewer.isInRangeMode()) {
- org.eclipse.swt.graphics.Rectangle rect = caret.getBounds();
- ExposeHelper helper = new ExposeHelper(_viewer);
- helper.exposeArea(new Rectangle(rect.x, rect.y, rect.width,
- rect.height));
- }
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DefaultDropLocationStrategy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DefaultDropLocationStrategy.java
deleted file mode 100644
index 33fa5793a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DefaultDropLocationStrategy.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-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.LineBorder;
-import org.eclipse.draw2d.RectangleFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Insets;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-
-/**
- * A default implementation of the drop location strategy
- * @author cbateman
- *
- */
-public class DefaultDropLocationStrategy extends AbstractDropLocationStrategy
-{
- // the amount of vertical offset below the mouse pointer to place
- // the upper left of the drop hint tooltip
- private static final int DROP_HINT_VERTICAL_OFFSET = 20;
-
- /**
- * @param viewer
- */
- public DefaultDropLocationStrategy(EditPartViewer viewer) {
- super(viewer);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.viewer.AbstractDropLocationStrategy#calculateDesignPosition(org.eclipse.gef.EditPart, org.eclipse.draw2d.geometry.Point, org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator)
- */
- @Override
- public DesignPosition calculateDesignPosition(EditPart host, Point p,
- IPositionMediator validator) {
- return EditPartPositionHelper.findEditPartPosition(
- host, p, validator);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.viewer.AbstractDropLocationStrategy#showTargetFeedback(org.eclipse.gef.EditPart, org.eclipse.jst.pagedesigner.viewer.DesignPosition, org.eclipse.gef.requests.DropRequest)
- */
- @Override
- public List showTargetFeedback(EditPart host, DesignPosition position, DropRequest request)
- {
- List feedback = new ArrayList(4);
- feedback.add(showFeedbackRect(createCaretBounds(position)));
- feedback.add(showDropHintLabel(request.getLocation(), position));
-
- return feedback;
- }
-
-
-
- /**
- * @param rect
- * @return the default rectangle figure for the requested visual rectangle
- */
- protected final RectangleFigure showFeedbackRect(Rectangle rect) {
- RectangleFigure pf = createFeedbackFigure();
- pf.translateToRelative(rect);
- pf.setBounds(rect);
- return pf;
- }
-
- /**
- * @param position
- * @return the bounding rectangle for the caret at the current
- * position in absolute coords
- */
- protected Rectangle createCaretBounds(DesignPosition position)
- {
- Rectangle rect = EditPartPositionHelper
- .convertToAbsoluteCaretRect(position);
-
- // to avoid enlarge feedback pane.
- rect = rect.intersect(getFeedbackLayer().getBounds());
-
- return rect;
- }
-
- /**
- * @return the newly created feedback figure
- */
- protected RectangleFigure createFeedbackFigure()
- {
- RectangleFigure feedbackFigure = new RectangleFigure();
- feedbackFigure.setFill(true);
- feedbackFigure.setOutline(true);
- feedbackFigure.setLineWidth(1);
- feedbackFigure.setForegroundColor(ColorConstants.red);
- feedbackFigure.setBounds(new Rectangle(0, 0, 0, 0));
- feedbackFigure.setXOR(true);
- addFeedback(feedbackFigure);
- return feedbackFigure;
- }
-
- /**
- * Shows a label in a position relative to the drop marker
- * that hints where the new component will be dropped in
- * respect of components already there
- * @param mousePosition
- * @param position
- * @return the drop hint label
- */
- protected final Label showDropHintLabel(Point mousePosition, DesignPosition position)
- {
- Label dropHintLabel = new Label();
- dropHintLabel.setOpaque(true);
- dropHintLabel.setBackgroundColor(ColorConstants.tooltipBackground);
- dropHintLabel.setBorder(
- new LineBorder(ColorConstants.black, 1)
- {
- // add an extra pixel of inset to make sure the text
- // isn't pressed against the border
- public Insets getInsets(IFigure figure) {
- return new Insets(getWidth()+1);
- }
- }
- );
- addFeedback(dropHintLabel);
-
- final String hintText = getDropHintText(position);
- dropHintLabel.setText(hintText);
- //TODO: need to handle viewport clipping and adjust label location appropriately
- Dimension hintSize = dropHintLabel.getPreferredSize();
- Point hintLocation = new Point(mousePosition.x, mousePosition.y+DROP_HINT_VERTICAL_OFFSET);
- Rectangle hintRect = new Rectangle(hintLocation, hintSize);
-
- //Bug 303524 - [WPE] design view flickers on dnd of jsf html column
- // (translateToRelative BEFORE intersect, so intersection happens on final display bounds)
- dropHintLabel.translateToRelative(hintRect);
- // we need to intersect the rectangle with the feedback pane, otherwise, when the mouse
- // is dragged near the edge of the viewport with the drop hint active, the canvas will expand
- // away from the mouse. In future a more ideal solution will be to relocate the tooltip
- // so that is is completely inside the viewport.
- hintRect = hintRect.intersect(getFeedbackLayer().getBounds());
-
- dropHintLabel.setBounds(hintRect);
-
- return dropHintLabel;
- }
-
- /**
- * @param position
- * @return the drop hint text for the current position
- */
- protected String getDropHintText(DesignPosition position)
- {
- StringBuffer buffer = new StringBuffer("Place"); //$NON-NLS-1$
-
- EditPart prevPart = position.getSiblingEditPart(false);
- EditPart nextPart = position.getSiblingEditPart(true);
-
- if (nextPart instanceof ElementEditPart)
- {
- buffer.append(" before "); //$NON-NLS-1$
- buffer.append(((ElementEditPart)nextPart).getTagConvert().getHostElement().getNodeName());
- buffer.append(","); //$NON-NLS-1$
- }
-
- if (prevPart instanceof ElementEditPart)
- {
- buffer.append(" after "); //$NON-NLS-1$
- buffer.append(((ElementEditPart)prevPart).getTagConvert().getHostElement().getNodeName());
- buffer.append(","); //$NON-NLS-1$
- }
-
- buffer.append(" inside "); //$NON-NLS-1$
- buffer.append(position.getContainerNode().getNodeName());
-
- return buffer.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignPosition.java
deleted file mode 100644
index a869f8059..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignPosition.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.List;
-
-import org.eclipse.gef.EditPart;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-/**
- * @author mengbo
- */
-public class DesignPosition {
- /**
- * a singleton that can be used as an invalid position
- */
- public static final DesignPosition INVALID = new DesignPosition(null, -1);
-
- private EditPart _containerPart;
-
- int _offset;
-
- //private Node _containerNode;
-
- /**
- * @param part
- * @param offset
- */
- public DesignPosition(EditPart part, int offset) {
- _containerPart = part;
- _offset = offset;
- }
-
- /**
- * if _containerPart is null, means it is invalid
- *
- * @return the container edit part
- */
- public EditPart getContainerPart() {
- return _containerPart;
- }
-
- /**
- * @return the container node
- */
- public Node getContainerNode() {
- if (_containerPart != null) {
- return (Node) _containerPart.getModel();
- }
- return null;
- }
-
- /**
- * if offset < 0, means it is invalid.
- *
- * @return the offset
- */
- public int getOffset() {
- return _offset;
- }
-
- /**
- * @return true if the design position is valid
- */
- public boolean isValid() {
- return (_containerPart != null) && (_offset >= 0);
- }
-
- /**
- * This method should not be called when is text node.
- *
- * @param forward
- * @return the sibling part one to right in the tree if
- * forward == true, one to the left if forward == false. May
- * return null if position is invalid or there is no valid sibling.
- */
- public EditPart getSiblingEditPart(boolean forward) {
- if (!isValid()) {
- return null;
- }
-
- int index = forward ? (_offset) : (_offset - 1);
- List children = _containerPart.getChildren();
-
- if ((index >= children.size()) || (index < 0)) {
- return null;
- }
-
- return (EditPart) children.get(index);
- }
-
- /**
- * factory method
- *
- * @param part
- * @return a design position one before part
- */
- public static DesignPosition createPositionBeforePart(EditPart part) {
- EditPart parent = part.getParent();
-
- if (parent == null) {
- return new DesignPosition(part, 0);
- }
- return new DesignPosition(parent, parent.getChildren()
- .indexOf(part));
- }
-
- /**
- * factory method
- *
- * @param part
- * @return the design position for one after part
- */
- public static DesignPosition createPositionAfterPart(EditPart part) {
- EditPart parent = part.getParent();
-
- if (parent == null) {
- return new DesignPosition(part, part.getChildren().size());
- }
- return new DesignPosition(parent, parent.getChildren()
- .indexOf(part) + 1);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj == this)
- {
- return true;
- }
-
- if (obj instanceof DesignPosition) {
- DesignPosition p = (DesignPosition) obj;
-
- return (p.getContainerPart() == this._containerPart)
- && (p.getOffset() == this._offset);
- }
-
- return false;
- }
-
-
- @Override
- public int hashCode() {
- return System.identityHashCode(_containerPart) ^ System.identityHashCode(Integer.valueOf(_offset));
- }
-
- /**
- * @param buffer
- * @return the buffer with the debug dump
- */
- public StringBuffer debugDump(StringBuffer buffer) {
-// try {
- buffer.append("DesignPosition: ").append(this._containerPart) //$NON-NLS-1$
- .append(": ").append(this._offset).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-
- if (this._containerPart.getModel() instanceof Text) {
- // skip
- } else {
- if (this._offset > 0) {
- buffer.append("after: ").append( //$NON-NLS-1$
- this._containerPart.getChildren().get(
- this._offset - 1)).append("\n"); //$NON-NLS-1$
- }
-
- if (this._offset < (this._containerPart.getChildren().size() - 1)) {
- buffer.append("before: ") //$NON-NLS-1$
- .append(
- this._containerPart.getChildren().get(
- this._offset)).append("\n"); //$NON-NLS-1$
- }
- }
- //TODO: what was being caught here?
-// } catch (Exception e) {
-// }
-
- return buffer;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer buffer = new StringBuffer();
-
- return debugDump(buffer).toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRange.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRange.java
deleted file mode 100644
index c3f055270..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRange.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * @author mengbo
- */
-public class DesignRange implements ISelection
-{
- private final DesignPosition _start;
- private final DesignPosition _end;
-
- /**
- * @param start
- * @param end
- */
- public DesignRange(DesignPosition start, DesignPosition end) {
- _start = start;
- _end = end;
- }
-
- /**
- * @return the start position in the range
- */
- public DesignPosition getStartPosition() {
- return _start;
- }
-
- /**
- * @return the end position in the range
- */
- public DesignPosition getEndPosition() {
- return _end;
- }
-
- /**
- * @return true if the range is valid
- */
- public boolean isValid() {
- return _start != null && _start.isValid() && _end != null
- && _end.isValid();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ISelection#isEmpty()
- */
- public boolean isEmpty() {
- // FIXME: temp implementation, need revisit.
- return !isValid() || _start.equals(_end);
- }
-
- /**
- * @param buffer
- * @return a buffer with the debug dum
- */
- public StringBuffer debugDump(StringBuffer buffer) {
- if (_start != null) {
- buffer.append("Start: ").append(_start); //$NON-NLS-1$
- } else {
- buffer.append("Start: null"); //$NON-NLS-1$
- }
- if (_end != null) {
- buffer.append("End: ").append(_end); //$NON-NLS-1$
- } else {
- buffer.append("End: null"); //$NON-NLS-1$
- }
- return buffer;
- }
-
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- return debugDump(buffer).toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRefPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRefPosition.java
deleted file mode 100644
index da6e305e4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DesignRefPosition.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.gef.EditPart;
-
-/**
- * @author mengbo
- */
-public class DesignRefPosition extends DesignPosition {
- private boolean _caretIsAtRight;
-
- private EditPart _refPart;
-
- /**
- * @param part
- * @param caretIsAfter
- */
- public DesignRefPosition(EditPart part, boolean caretIsAfter) {
- super(part.getParent(), 0);
- int offset = part.getParent().getChildren().indexOf(part);
- _offset = caretIsAfter ? offset + 1 : offset;
- _refPart = part;
- _caretIsAtRight = caretIsAfter;
- }
-
- /**
- * @return the reference edit part
- */
- public EditPart getRefPart() {
- return _refPart;
- }
-
- /**
- * @return Returns the _isAfter.
- */
- public boolean caretIsAtRight() {
- return _caretIsAtRight;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/EditPartPositionHelper.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/EditPartPositionHelper.java
deleted file mode 100644
index 96f275ec5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/EditPartPositionHelper.java
+++ /dev/null
@@ -1,678 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSTextFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-import org.eclipse.jst.pagedesigner.dom.DOMPosition;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.IMovementMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public class EditPartPositionHelper {
-// private final static Logger _log = PDPlugin
-// .getLogger(EditPartPositionHelper.class);
-
- /**
- * Add something to curent
- *
- * @param lineBox
- * @param host
- * @param point
- * @param validator
- */
- private static void addToCurrentLine(FlowBoxLine lineBox, EditPart host,
- Point point, IPositionMediator validator) {
- Node node = Target.resolveNode(host);
- if (!(node == null || EditModelQuery.isDocument(node))) {
- // Either it is referencable or is editable.
- if (validator.isValidPosition(new DOMRefPosition(node, true))
- || //
- validator
- .isValidPosition((new DOMRefPosition(node, false)))
- || //
- validator.isValidPosition(new DOMPosition(node, 0))) {
- lineBox.addLayoutPart(host, point);
- }
- }
- }
-
- /**
- * @param position
- * @return null means failed to convert to rect.
- */
- public static Rectangle convertToAbsoluteCaretRect(DesignPosition position) {
- Rectangle ret = null;
- try {
- final int CARET_OFFSET = 1;
- if (position == null || !position.isValid()) {
- return null;
- }
- EditPart containerEditPart = position.getContainerPart();
- if (containerEditPart instanceof TextEditPart) {
- CSSTextFigure figure = (CSSTextFigure) ((TextEditPart) containerEditPart)
- .getFigure();
- ret = figure.calculateCaretPosition(position.getOffset());
- figure.translateToAbsolute(ret);
- ret.width = CaretUpdater.CARET_WIDTH;
- } else {
- int offset = position.getOffset();
- // there is no child
- if (containerEditPart.getChildren().isEmpty()
- || LayoutPart.getConcretePart(containerEditPart) == null) {
- IFigure figure = ((GraphicalEditPart) containerEditPart)
- .getFigure();
- Rectangle bounds = figure.getBounds();
- if (figure instanceof CSSFigure) {
- List fragments = ((CSSFigure) figure)
- .getFragmentsForRead();
- if (fragments.size() > 0) {
- FlowBox box = (FlowBox) fragments.get(fragments
- .size() - 1);
- bounds = LayoutPart.getBounds(box);
- }
- }
-
- ret = new Rectangle(bounds.x + CARET_OFFSET, bounds.y,
- CaretUpdater.CARET_WIDTH, bounds.height);
-
- figure.translateToAbsolute(ret);
- } else if (offset >= 0
- && offset <= containerEditPart.getChildren().size()) {
- ret = getRefRect(position);
- }
- }
- } catch (Exception e) {
- // This should never happen, we catch here for later analysis.
- // _log.debug("Error in caret rect resolving", e);
- ret = new Rectangle(0, 0, 0, 0);
- }
- if (ret == null) {
- ret = new Rectangle(0, 0, 0, 0);
- }
- return ret;
- }
-
- /**
- * This method will create FlowBoxLine to calculate the accurate parts.
- *
- * @param host
- * @param p
- * @param validator
- * @return the design position
- */
- public static DesignPosition findEditPartPosition(EditPart host, Point p,
- IPositionMediator validator) {
- try {
- host = validator.getEditableContainer(new Target(host));
- FlowBoxLine boxLine = new FlowBoxLine(
- new Rectangle(p.x, p.y, 0, 0), validator, p);
- DesignPosition position = innerFindEditPartPosition(host, host, p,
- boxLine, validator);
- if (position == null) {
- position = innerFindEditPartPosition(host, host, p, boxLine,
- validator);
- if (position == null) {
- EditPart part = boxLine.getClosestPart();
- if (part != null) {
- LayoutPart layoutPart = new LayoutPart(part, p);
- position = layoutPart.resolvePosition(validator);
- }
- }
- }
- return position;
- } catch (Exception e) {
- return null;
- }
-
- }
-
- /**
- * This function find the position, if there is one which is widget or text
- * and it contains p, or there is not such widget, then boxLine will returns
- * the widget that are in a sameline which contains p;
- * @param rootHost
- * @param host
- *
- * @param p
- * @param boxLine
- * @param validator
- * @return the design position
- */
- //TODO: needs refactoring
- public static DesignPosition innerFindEditPartPosition(EditPart rootHost,
- EditPart host, Point p, FlowBoxLine boxLine,
- IPositionMediator validator) {
- Target target = new Target(host);
- LayoutPart lPart = new LayoutPart(host, p);
- // text
- if (host instanceof TextEditPart) {
- if (lPart.contains(p)) {
- DesignPosition position = null;
- // see if the point is within string.
- position = findTextEditPartPosition((TextEditPart) host, p);
- if (position == null) {
- addToCurrentLine(boxLine, host, p, validator);
- }
- // found?!!
- return position;
- }
- addToCurrentLine(boxLine, host, p, validator);
- return null;
- }
- // widget
- else if (isWidget(host)) {
- if (lPart.contains(p)
- && (validator.isValidPosition(new DOMRefPosition(target
- .getNode(), true)) || //
- validator.isValidPosition((new DOMRefPosition(target
- .getNode(), false))))) {
- if (IHTMLConstants.TAG_BR.equalsIgnoreCase(Target.resolveNode(
- host).getNodeName())) {
- return new DesignRefPosition(host, lPart.isBeforePoint(p));
- }
- return new DesignRefPosition(host, lPart.isBeforePoint(p)
- || !lPart.atLeftPart(p));
- }
- addToCurrentLine(boxLine, host, p, validator);
- } else {
- // root host. we always supporse it has editable area.
- if (host == rootHost) {
- if (host.getChildren().size() > 0) {
- List children = host.getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- GraphicalEditPart child = (GraphicalEditPart) children
- .get(i);
- DesignPosition position = innerFindEditPartPosition(
- rootHost, child, p, boxLine, validator);
- if (position != null) {
- return position;
- }
- }
- }
- if (boxLine.getPartsList().size() == 0) {
- if (lPart.contains(p)) {
- // found!!!
- return new DesignPosition(host, 0);
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- // container
- else {
- // cann't edit it.
- if (!validator.hasEditableArea(target)) {
- if (lPart.contains(p) && //
- (validator.isValidPosition(new DesignRefPosition(
- target.getPart(), true)) || //
- validator.isValidPosition(new DesignRefPosition(
- target.getPart(), true)))) {
- return new DesignRefPosition(host, lPart
- .isBeforePoint(p)
- || !lPart.atLeftPart(p));
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- // can edit
- else {
- // contains p
- if (lPart.contains(p) || //
- (!validator.isValidPosition(new DesignRefPosition(
- target.getPart(), true)) && //
- !validator.isValidPosition(new DesignRefPosition(
- target.getPart(), true)))) {
- if (host.getChildren().size() > 0) {
- List children = host.getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- GraphicalEditPart child = (GraphicalEditPart) children
- .get(i);
- DesignPosition position = innerFindEditPartPosition(
- rootHost, child, p, boxLine, validator);
- if (position != null) {
- return position;
- }
- }
- } else {
- // we put the container which is empty here.
- if (lPart.contains(p)) {
- // found!!!
- return new DesignPosition(host, 0);
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- // not contains p
- else {
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- }
- }
- return null;
- }
-
- /**
- * similiar to findEditPartPositionConstrained, this method is used to
- * vertically move caret.
- *
- * @param host
- * @param p
- * @param validator
- * @return the design position
- */
- public static DesignPosition findEditPartPositionConstrained(EditPart host,
- Point p, IMovementMediator validator) {
- try {
- FlowBoxLine boxLine = new FlowBoxLine(
- new Rectangle(p.x, p.y, 0, 0), validator, p);
- DesignPosition position = innerFindEditPartPositionConstrained(
- host, host, p, boxLine, validator);
- if (position == null) {
- position = innerFindEditPartPositionConstrained(host, host, p,
- boxLine, validator);
- if (position == null) {
- EditPart part = boxLine.getClosestPart();
- if (part != null) {
- LayoutPart layoutPart = new LayoutPart(part, p);
- position = layoutPart.resolvePosition(validator);
- }
- }
- }
- return position;
- } catch (Exception e) {
- return null;
- }
- }
-
- /**
- * This method is used for move up/down, except for using tactics to deal
- * with container, this method is similiar to findEditPartPosition.
- *
- * @param rootHost
- * @param host
- * @param p
- * @param boxLine
- * @param validator
- * @return the design position
- */
- // TODO: needs refactoring
- public static DesignPosition innerFindEditPartPositionConstrained(
- EditPart rootHost, EditPart host, Point p, FlowBoxLine boxLine,
- IMovementMediator validator) {
- Target target = new Target(host);
- LayoutPart lPart = new LayoutPart(host, p);
- // text
- if (host instanceof TextEditPart) {
- if (lPart.contains(p)) {
- DesignPosition position = null;
- // see if the point is within string.
- position = findTextEditPartPosition((TextEditPart) host, p);
- if (position == null) {
- addToCurrentLine(boxLine, host, p, validator);
- }
- // found?!!
- return position;
- }
- addToCurrentLine(boxLine, host, p, validator);
- return null;
- }
- // widget
- else if (isWidget(host)) {
- if (lPart.contains(p)) {
- // found!!!
- if (IHTMLConstants.TAG_BR.equalsIgnoreCase(Target.resolveNode(
- host).getNodeName())) {
- return new DesignRefPosition(host, lPart.isBeforePoint(p));
- }
- return new DesignRefPosition(host, lPart.isBeforePoint(p)
- || !lPart.atLeftPart(p));
- }
- addToCurrentLine(boxLine, host, p, validator);
- } else {
- // root host. we always supporse it has editable area.
- if (host == rootHost) {
- if (host.getChildren().size() > 0) {
- List children = host.getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- GraphicalEditPart child = (GraphicalEditPart) children
- .get(i);
- DesignPosition position = innerFindEditPartPositionConstrained(
- rootHost, child, p, boxLine, validator);
- if (position != null) {
- return position;
- }
- }
- } else {
- if (lPart.contains(p)) {
- // found!!!
- return new DesignPosition(host, 0);
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- // container
- else {
- // cann't edit it.
- if (!validator.hasEditableArea(target)
- || !validator.allowsMoveIn(target)) {
- if (validator.canReference(target, true)
- || validator.canReference(target, false)) {
- if (lPart.contains(p)) {
- return new DesignRefPosition(host, lPart
- .isBeforePoint(p)
- || !lPart.atLeftPart(p));
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- // can edit
- else {
- // contains p
- if (lPart.contains(p)) {
- if (host.getChildren().size() > 0) {
- List children = host.getChildren();
- for (int i = 0, size = children.size(); i < size; i++) {
- GraphicalEditPart child = (GraphicalEditPart) children
- .get(i);
- DesignPosition position = innerFindEditPartPositionConstrained(
- rootHost, child, p, boxLine, validator);
- if (position != null) {
- return position;
- }
- }
- } else {
- // we put the container which is empty here.
- if (lPart.contains(p)) {
- // found!!!
- return new DesignPosition(host, 0);
- }
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- // not contains p
- else {
- addToCurrentLine(boxLine, host, p, validator);
- }
- }
- }
- }
- return null;
-
- }
-
- // /**
- // * @param host
- // * @param p
- // * @return
- // */
- // private static DesignPosition
- // findTextEditPartPositionAdjacent(TextEditPart host, Point p)
- // {
- // if (host.getFigure() instanceof CSSTextFigure)
- // {
- // CSSTextFigure figure = (CSSTextFigure) host.getFigure();
- // // make a copy to not destroy the original o
- // p = p.getCopy();
- // figure.translateToRelative(p);
- // int offset = figure.getNewInsertionOffset(p);
- // if (offset >= 0)
- // {
- // return new DesignPosition(host, offset);
- // }
- // else
- // {
- // return null;
- // }
- // }
- // else
- // {
- // // should not happen.
- // return new DesignPosition(host, 0);
- // }
- // }
-
- /**
- * @param host
- * @param p
- * @return
- */
- private static DesignPosition findTextEditPartPosition(TextEditPart host,
- Point p) {
- if (host.getFigure() instanceof CSSTextFigure) {
- CSSTextFigure figure = (CSSTextFigure) host.getFigure();
- // make a copy to not destroy the original o
- p = p.getCopy();
- figure.translateToRelative(p);
- int offset = figure.getInsertionOffset(p);
- if (offset >= 0) {
- return new DesignPosition(host, offset);
- }
- return null;
- }
- // should not happen.
- return new DesignPosition(host, 0);
- }
-
- /**
- * @param figure
- * @param box
- * @return
- */
-// public static Rectangle getBoxBounds(IFigure figure, FlowBox box) {
-// Rectangle r = new Rectangle(box._x, box._y, box.getWidth(), box
-// .getHeight());
-// figure.translateToAbsolute(r);
-// return r;
-// }
-
- /**
- * If child is a GraphicalEditPart, a new copy of its bounding rectangle
- * will be returned translated to absolute bounds. If child is not a GraphicalEditPart
- * then the empty rectangle (0,0,0,0) is returned.
- *
- * @param child
- * @return the bounding rectangle or (0,0,0,0) if none.
- */
- public static Rectangle getAbsoluteBounds(EditPart child) {
- if (child instanceof GraphicalEditPart) {
- Rectangle bounds = ((GraphicalEditPart) child).getFigure()
- .getBounds().getCopy();
- ((GraphicalEditPart) child).getFigure().translateToAbsolute(bounds);
- return bounds;
- }
- return new Rectangle(0, 0, 0, 0);
- }
-
- /**
- * @param host
- * @param tagName
- * @return
- */
- private static boolean isWidget(EditPart host) {
- if (host instanceof NodeEditPart) {
- return ((NodeEditPart) host).isWidget();
- }
- return false;
- }
-
- /**
- * Is Caret at right?
- *
- * @param position
- * @param caretRefResult
- * @return
- */
- private static EditPart tryTwoWays(DesignPosition position,
- List<Boolean> caretRefResult) {
- EditPart result = null;
- // Sibling first:
- Node node = EditModelQuery.getInstance().getSibling(
- DOMPositionHelper.toDOMPosition(position), true);
- if (node != null && !EditModelQuery.isTransparentText(node)) {
- result = Target.resolvePart(node);
- caretRefResult.add(Boolean.FALSE);
- } else {
- node = EditModelQuery.getInstance().getSibling(
- DOMPositionHelper.toDOMPosition(position), false);
- if (node != null && !EditModelQuery.isTransparentText(node)) {
- result = Target.resolvePart(node);
- caretRefResult.add(Boolean.TRUE);
- }
- }
- if (result == null) {
- if (getConcretePart(position, false) != null) {
- result = getConcretePart(position, false);
- caretRefResult.add(Boolean.TRUE);
- } else if (getConcretePart(position, true) != null) {
- result = getConcretePart(position, true);
- caretRefResult.add(Boolean.FALSE);
- }
- }
- return result;
- }
-
- /*
- * Here we are doing something to avoid reference witespace tag. Since we
- * still need to improve whitespace tags's layout furthure more.
- */
- private static EditPart getNextConcretPart(DesignPosition position,
- List<Boolean> caretIsAtRightTest) {
- EditPart result = null;
- boolean caretIsAtRight = true;
- if (position instanceof DesignRefPosition) {
- caretIsAtRight = ((DesignRefPosition) position).caretIsAtRight();
- result = ((DesignRefPosition) position).getRefPart();
- caretIsAtRightTest.add(Boolean.valueOf(caretIsAtRight));
- }
- if (result == null
- || EditModelQuery.isTransparentText(Target.resolveNode(result))) {
- caretIsAtRightTest.clear();
- result = tryTwoWays(position, caretIsAtRightTest);
- }
- return result;
- }
-
- /**
- * Avoid whitespaces
- *
- * @param position
- * @param forward
- * @return the edit part at position which is non-whitespace ? TODO:
- */
- public static EditPart getConcretePart(DesignPosition position,
- boolean forward) {
- EditPart result = null;
- Node node = EditModelQuery.getInstance().getSibling(
- DOMPositionHelper.toDOMPosition(position), forward);
- while (node != null && EditModelQuery.isTransparentText(node)) {
- node = EditModelQuery.getInstance().getSibling(node, forward);
- }
- if (node != null) {
- result = Target.resolvePart(node);
- }
- return result;
- }
-
- /**
- * @param position
- * @param forward
- * @return the next concrete part.
- */
- public static EditPart getNextConcretPart(DesignPosition position,
- boolean forward) {
- Node node;
- EditPart result = null;
- node = EditModelQuery.getInstance().getSibling(
- DOMPositionHelper.toDOMPosition(position), forward);
- if (node != null) {
- if (forward) {
- while (node != null) {
- if (!EditModelQuery.isTransparentText(node)
- && (result = Target.resolvePart(node)) != null) {
- result = Target.resolvePart(node);
- break;
- }
- node = node.getNextSibling();
- }
- } else {
- while (node != null) {
- if (!EditModelQuery.isTransparentText(node)
- && (result = Target.resolvePart(node)) != null) {
- result = Target.resolvePart(node);
- break;
- }
- node = node.getPreviousSibling();
- }
- }
- }
- return result;
- }
-
- private static Rectangle getRefRect(DesignPosition position) {
- List<Boolean> caretLocation = new ArrayList<Boolean>();
- EditPart part = getNextConcretPart(position, caretLocation);
- LayoutPart layoutPart;
- Rectangle rect = null;
- if (part != null) {
- layoutPart = new LayoutPart(part, null);
- boolean caretIsAtRight = caretLocation.get(0)
- .booleanValue();
- final int CARET_OFFSET = 1;
- Rectangle bounds = null;
- IFigure figure = ((GraphicalEditPart) part).getFigure();
- if (!caretIsAtRight) {
- FlowBox box;
- if ((box = layoutPart.getLine(0)) != null) {
- bounds = LayoutPart.getBounds(box);
- }
- } else {
- FlowBox box;
- if ((box = layoutPart.getLastLine()) != null) {
- bounds = LayoutPart.getBounds(box);
- }
- }
- if (bounds == null) {
- bounds = figure.getBounds();
- }
- if (!caretIsAtRight) {
- rect = new Rectangle(bounds.x - CARET_OFFSET, bounds.y,
- CaretUpdater.CARET_WIDTH, bounds.height);// new
- } else {
- rect = new Rectangle(bounds.getRight().x + CARET_OFFSET,
- bounds.y, CaretUpdater.CARET_WIDTH, bounds.height);// new
- }
- figure.translateToAbsolute(rect);
- } else {
- System.out.println("No concrete part?"); //$NON-NLS-1$
- }
- return rect;
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/FlowBoxLine.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/FlowBoxLine.java
deleted file mode 100644
index 5e45ac1dd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/FlowBoxLine.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.ActionData;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-
-/**
- * FlowBoxLine collects EditParts in a line that cover the x or y coordinate of
- * design view caret. An EditPart may be a widget that can't contains children,
- * a TextEditPart which contains a set of flowbox, or a widgets container which
- * contains some other editparts. For container, there are two types: white box
- * to visitor, that is the container * visitor should consider its content, like
- * <A>, <B>. etc, or black box to visitor, like <TABLE>. Black box means the
- * container will be considered as a whole from outside. For non-container
- * widget we only see TextEditPart can be broken at line end. For black box,
- * only start box or latest box are used for final reference, for white box, we
- * will process its content for reference <@see
- * EditPartPositionHelper.findEditPartPosition>. For Text, the char that is
- * closest to caret will be referenced. In this line class, tree types of
- * EditPart are collected: TextEditPart, Widget, BlackBox container.
- *
- * @author mengbo
- */
-public class FlowBoxLine {
- private int _x;
-
- private int _y;
-
- private int _height;
-
- private int _width;
-
- private HashMap _parts = new HashMap();
-
- private IPositionMediator _validator;
-
- private Point _point;
-
- /**
- * @param rect
- * @param validator
- * @param point
- */
- public FlowBoxLine(Rectangle rect, IPositionMediator validator, Point point) {
- _x = rect.x;
- _y = rect.y;
- _width = rect.width;
- _height = rect.height;
- _validator = validator;
- _point = point;
- }
-
- /**
- * @return Returns the _height.
- */
- public int getHeight() {
- return _height;
- }
-
- /**
- * @return Returns the _width.
- */
- public int getWidth() {
- return _width;
- }
-
- /**
- * @return Returns the _x.
- */
- public int getX() {
- return _x;
- }
-
- /**
- * @return Returns the _y.
- */
- public int getY() {
- return _y;
- }
-
- /**
- * @return the part list
- */
- public Map getPartsList() {
- return _parts;
- }
-
- /**
- * @return the right bottom coordiate
- */
- public Point getRightBottom() {
- return new Point(_x + _width, _y + _height);
- }
-
- /**
- * @param part
- * @param point
- * @return layout part added
- */
- public boolean addLayoutPart(EditPart part, Point point) {
- Assert.isTrue(part != null && point != null);
- Rectangle rect = null;
- LayoutPart lPart = new LayoutPart(part, point);
- if (_parts.size() == 0) {
- resetBounds(lPart);
- return true;
- }
- if (!interact(lPart)) {
- if (closer(lPart)) {
- resetBounds(lPart);
- return true;
- }
- return false;
- }
- rect = lPart.getAbsoluteBounds();
- int xx = Math.min(rect.x, _x);
- int width = Math.max(rect.getRight().x, getRightBottom().x) - xx;
- int yy = Math.min(rect.y, _y);
- int height = Math.max(rect.getBottom().y, getRightBottom().y) - yy;
- _x = xx;
- _y = yy;
- _width = width;
- _height = height;
- _parts.put(part, lPart);
- return true;
- }
-
- /**
- * @param lPart
- * @return true if layout part is within the right bottom corner of the line
- */
- public boolean interact(LayoutPart lPart) {
- Rectangle rect = lPart.getAbsoluteBounds();
- return !(rect.getBottom().y <= _y || getRightBottom().y <= rect.y);
- }
-
- /**
- * @param part
- * @return true if the line contains part
- */
- public boolean contains(EditPart part) {
- return _parts.containsKey(part);
- }
-
- /**
- * @param part
- * @return true if the line contains part
- */
- public boolean contains(LayoutPart part) {
- return _parts.containsValue(part);
- }
-
- /**
- * @param part
- * @return the layout part for part
- */
- public LayoutPart getLayoutPart(EditPart part) {
- return (LayoutPart) _parts.get(part);
- }
-
- //
- /**
- * For vertical movement, we need to see if there is part cover p.x.
- *
- * @return the closest edit part
- */
- public EditPart getClosestPart() {
- if (_parts.isEmpty()) {
- return null;
- }
- Collection parts = _parts.values();
- Iterator iterator = parts.iterator();
- LayoutPart closestPart = (LayoutPart) iterator.next();
- if (iterator.hasNext()) {
- while (iterator.hasNext()) {
- LayoutPart nextPart = (LayoutPart) iterator.next();
- closestPart = CaretPositionResolver.getCloserPart(closestPart,
- nextPart, _point);
- }
- }
- // for children.
- LayoutPart result = null;
- if (_validator.getActionData().getActionType() == ActionData.KEYBOARD_NAVAGATION
- || //
- closestPart.isInline()) {
- result = CaretPositionResolver.getInstance(_validator, _point)
- .resolveClosestPartFrom(closestPart);
- } else {
- result = closestPart;
- }
- if (result != null) {
- return result.getPart();
- }
- return null;
- }
-
- /**
- * See how close the part,box is closer to point, if it is closer than
- * current FlowBoxLine. return true;
- */
- private boolean closer(LayoutPart lPart) {
- int lineYOffset = Math.abs(CaretPositionResolver.getYDistance(
- getBounds(), _point));
- int partYOffset = Math.abs(CaretPositionResolver.getYDistance(lPart
- .getAbsoluteBounds(), _point));
- return lineYOffset > partYOffset;
- }
-
- /**
- * @return the bounding rectangle of the line
- */
- public Rectangle getBounds() {
- return new Rectangle(_x, _y, _width, _height);
- }
-
- private void resetBounds(Rectangle rect) {
- _x = rect.x;
- _y = rect.y;
- _width = rect.width;
- _height = rect.height;
- }
-
- private void resetBounds(LayoutPart lPart) {
- EditPart part = lPart.getPart();
- Rectangle rect = lPart.getAbsoluteBounds();
- resetBounds(rect);
- _parts.clear();
- _parts.put(part, lPart);
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewer.java
deleted file mode 100644
index 7080136b5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewer.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.draw2d.FigureCanvas;
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.pagedesigner.commands.nav.CaretPositionTracker;
-import org.eclipse.jst.pagedesigner.dom.DOMPositionHelper;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.IDOMPosition;
-import org.eclipse.jst.pagedesigner.parts.DocumentEditPart;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.jst.pagedesigner.tools.ExposeHelper;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Node;
-
-/**
- * For the GraphicalViewer selection management, we have two different selection
- * mode: Range mode and object mode.
- *
- * Range mode is to support inline text editing, it selects a range. Object mode
- * selects a list of edit parts.
- *
- * We let the super class of HTMLGraphicalViewer to handle object selection, and
- * add range selection support in this class. Need to override certain selection
- * related methods of super class to handle selection mode switching.
- *
- * @author mengbo
- */
-/*package*/ class HTMLGraphicalViewer extends ScrollingGraphicalViewer implements
- IHTMLGraphicalViewer, CaretPositionTracker {
- private IEditorPart _parentPart;
- private Caret _caret;
- // initially nothing selected, treat as object selectin mode.
- private boolean _rangeMode = false;
- private DesignRange _selectionRange = null;
- private int _inBatch = 0;
- private final CaretUpdater _caretUpdater;
- private int _xOffset;
- private final List<IHTMLGraphicalViewerListener> _htmlViewerListeners;
- // private ListenerList _postSelectionChangedListeners = new
- // ListenerList(1);
-
- /**
- * @param parent
- *
- */
- public HTMLGraphicalViewer(IEditorPart parent) {
- _parentPart = parent;
- // CaretUpdater is not fully initialized yet, since this time the
- // viewport is not
- // initialized yet, and we need add listener to range model change.
- _htmlViewerListeners = new ArrayList<IHTMLGraphicalViewerListener>();
- _caretUpdater = new CaretUpdater(this);
- }
-
- /**
- * Adds listener both as a selection changed listener and as an
- * {@link IHTMLGraphicalViewerListener}. Callers of this method
- * need not call addSelectionChangedListener.
- * @param listener
- */
- public void addHTMLViewerListener(IHTMLGraphicalViewerListener listener)
- {
- addSelectionChangedListener(listener);
-
- if (!_htmlViewerListeners.contains(listener))
- {
- _htmlViewerListeners.add(listener);
- }
- }
-
- /**
- * Removes listener both as a selection changed listener and as an
- * {@link IHTMLGraphicalViewerListener}. Callers of this method
- * need not call removeSelectionChangedListener.
- * @param listener
- */
- public void removeHTMLViewerListener(IHTMLGraphicalViewerListener listener)
- {
- removeSelectionChangedListener(listener);
- _htmlViewerListeners.remove(listener);
- }
-
- public Viewport getViewport() {
- FigureCanvas canvas = this.getFigureCanvas();
- if (canvas != null) {
- return canvas.getViewport();
- }
- return null;
- }
-
- public IDOMModel getModel() {
- // XXX: temp implementation.
- EditPart part = this.getContents();
- if (part != null) {
- return ((IDOMNode) part.getModel()).getModel();
- }
- return null;
- }
-
- /**
- * @return the status line manager
- */
- public IStatusLineManager getStatusLineManager() {
- if (_parentPart == null) {
- return null;
- }
- return _parentPart.getEditorSite().getActionBars()
- .getStatusLineManager();
- }
-
- public Caret getCaret() {
- if (_caret == null) {
- Canvas parentCanvas = (Canvas) getControl();
- if (parentCanvas == null || parentCanvas.isDisposed()) {
- return null;
- }
-
- _caret = new Caret(parentCanvas, 0);
- _caretUpdater.connectViewer();
- }
- return _caret;
-
- }
-
- /**
- * this method normally should only be called when in object selection mode.
- *
- * @return the edit part that has primary selection or null if none
- */
- public EditPart getPrimarySelectedNode() {
- List list = this.getSelectedEditParts();
- if (list.isEmpty()) {
- return null;
- }
- for (int i = 0, n = list.size(); i < n; i++) {
- EditPart part = (EditPart) list.get(i);
- if (part.getSelected() == EditPart.SELECTED_PRIMARY) {
- return part;
- }
- }
- return (EditPart) list.get(0);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#ensureRangeSelectionMode()
- */
- public void ensureRangeSelectionMode() {
- if (!_rangeMode) {
- EditPart primary = getPrimarySelectedNode();
- this.deselectAll();
- DesignPosition begin = primary == null ? DesignPosition.INVALID
- : DesignPosition.createPositionBeforePart(primary);
- DesignPosition after = primary == null ? DesignPosition.INVALID
- : DesignPosition.createPositionAfterPart(primary);
- internalSetRange(begin, after);
- fireSelectionChanged();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#ensureObjectSelectionMode()
- */
- public void ensureObjectSelectionMode() {
- if (_rangeMode) {
- // switch to object selection mode with no selection.
- internalToObjectMode();
- fireSelectionChanged();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#isInRangeMode()
- */
- public boolean isInRangeMode() {
- return _rangeMode;
- }
-
- public ISelection getSelection() {
- if (isInRangeMode()) {
- return getRangeSelection();
- }
- return super.getSelection();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#startSelectionChange()
- */
- public void startSelectionChange() {
- if (_inBatch == 0) {
- fireSelectionAboutToChange();
- }
- _inBatch++;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#selectionChanged()
- */
- public void selectionChanged() {
- if (--_inBatch == 0) {
- fireSelectionChanged();
- fireSelectionChangeFinished();
- }
- }
-
- /**
- *
- */
- private void fireSelectionAboutToChange() {
- IHTMLGraphicalViewerListener listeners[] =
- _htmlViewerListeners.toArray(new IHTMLGraphicalViewerListener[0]);
-
- for (int i = 0; i < listeners.length; i++)
- {
- listeners[i].selectionAboutToChange();
- }
- }
-
- /**
- *
- */
- private void fireSelectionChangeFinished()
- {
- IHTMLGraphicalViewerListener listeners[] =
- _htmlViewerListeners.toArray(new IHTMLGraphicalViewerListener[0]);
- for (int i = 0; i < listeners.length; i++)
- {
- listeners[i].selectionChangeFinished();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#fireSelectionChanged()
- */
- protected void fireSelectionChanged() {
- if (_inBatch == 0)// && this.getControl().isFocusControl())
- {
- super.fireSelectionChanged();
- // firePostSelectionChanged(new SelectionChangedEvent(this,
- // getSelection()));
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#setSelection(org.eclipse.jface.viewers.ISelection)
- */
- public void setSelection(ISelection newSelection) {
- if (newSelection instanceof IStructuredSelection) {
- internalToObjectMode();
- ExposeHelper.expose(newSelection, this);
- updateRangeSelection(newSelection);
- super.setSelection(newSelection);
- } else if (newSelection instanceof DesignRange) {
- DesignRange range = (DesignRange) newSelection;
- internalSetRange(range.getStartPosition(), range.getEndPosition());
- fireSelectionChanged();
- }
- // else we don't support, ignore
- }
-
-
- /**
- * @param newSelection
- */
- public void updateRangeSelection(ISelection newSelection) {
- if (newSelection instanceof IStructuredSelection && //
- !(((IStructuredSelection) newSelection).getFirstElement() instanceof DocumentEditPart)) {
- Object element = ((IStructuredSelection) newSelection)
- .getFirstElement();
- if (element instanceof ElementEditPart) {
- updateRangeSelection(new DesignRefPosition((EditPart) element,
- false), new DesignRefPosition((EditPart) element, true));
- } else if (element instanceof Node) {
- IDOMPosition start = new DOMRefPosition((Node) element, false);
- IDOMPosition end = new DOMRefPosition((Node) element, true);
- updateRangeSelection(DOMPositionHelper.toDesignPosition(start),
- DOMPositionHelper.toDesignPosition(end));
- }
- }
- }
-
- /**
- * This method is used to synchronize range mode selection when node
- * selection is changed.
- *
- * @param position
- * @param position2
- */
- private void updateRangeSelection(DesignPosition position,
- DesignPosition position2) {
- // if only one position is invalid, we will make a collapsed range using
- // the valid position
- if (position == null) {
- position = DesignPosition.INVALID;
- }
- if (position2 == null || !position2.isValid()) {
- position2 = position;
- }
- if (!position.isValid()) {
- position = position2;
- }
-
- _selectionRange = new DesignRange(position, position2);
- }
-
- // -------------------------------------------------------------------------------------------------
- // override super class methods for selection handling.
- // operations that handles object selection
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#appendSelection(org.eclipse.gef.EditPart)
- */
- public void appendSelection(EditPart editpart) {
- internalToObjectMode();
- super.appendSelection(editpart); // super will fireSelectionChanged.
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#deselectAll()
- */
- public void deselectAll() {
- internalToObjectMode();
- super.deselectAll(); // super.deselectAll() will fireSelectionChanged
- }
-
- /**
- * Clear the selection to null. When the model is modified, the selection is
- * invalid, so we need to clear the selection. We change the selection
- * directly, it won't need to fire selectionchange event to other part.
- *
- */
- public void clearSelectionRange() {
- internalToObjectMode();
- _selectionRange = null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.AbstractEditPartViewer#deselect(org.eclipse.gef.EditPart)
- */
- public void deselect(EditPart editpart) {
- if (!_rangeMode) {
- super.deselect(editpart); // super will fireSelectionChanged.
- }
- // else just ignore.
- }
-
- // ---------------------------------------------------------------------------------------------
- // range selection handling methods.
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#getRangeSelection()
- */
- public DesignRange getRangeSelection() {
- return _selectionRange;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#setRange(org.eclipse.jst.pagedesigner.selection.EditPartPosition,
- * org.eclipse.jst.pagedesigner.selection.EditPartPosition)
- */
- public void setRange(DesignPosition position, DesignPosition position2) {
- internalSetRange(position, position2);
- fireSelectionChanged();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.parts.IHTMLGraphicalViewer#setRangeEndPosition(org.eclipse.jst.pagedesigner.selection.EditPartPosition)
- */
- public void setRangeEndPosition(DesignPosition position) {
- DesignRange range = getRangeSelection();
- DesignPosition begin = null;
- if (range != null) {
- begin = range.getStartPosition();
- }
- internalSetRange(begin, position);
- fireSelectionChanged();
- }
-
- // --------------------------------------------------------------------------------------
- /**
- * internall switch to object mode, no selection change event is fired. the
- * caller must call some other methods that will result in selection change
- * event after calling this method.
- */
- private void internalToObjectMode() {
- _rangeMode = false;
- }
-
- /**
- * this method will not fire selection changed event. caller should do that.
- *
- * @param position
- * @param position2
- */
- private void internalSetRange(DesignPosition position,
- DesignPosition position2) {
- if (!_rangeMode) {
- // XXX: deselectAll() will result in fireSelectionChange, so here is
- // one unnecessary
- // event fire. But should be ok.
- deselectAll();
- _rangeMode = true;
- }
- // if only one position is invalid, we will make a collapsed range using
- // the valid position
- if (position == null) {
- position = DesignPosition.INVALID;
- }
- if (position2 == null || !position2.isValid()) {
- position2 = position;
- }
- if (!position.isValid()) {
- position = position2;
- }
-
- _selectionRange = new DesignRange(position, position2);
- }
-
- /**
- * debug method, dump some debug information to the console
- */
- public void dumpStatus() {
- if (isInRangeMode()) {
- // System.out.println("Range start: " +
- // this.getRangeSelection().getStartPosition());
- // System.out.println("Range end: " +
- // this.getRangeSelection().getEndPosition());
- } else {
- // System.out.println("Object selection mode");
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.nav.CaretPositionTracker#getXoffset()
- */
- public int getXoffset() {
- return _xOffset;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.commands.nav.CaretPositionTracker#setXoffset(int)
- */
- public void setXoffset(int xoffset) {
- this._xOffset = xoffset;
- }
-
- /**
- *
- */
- public void updateHorizontalPos() {
- Caret caret = getCaret();
- if (caret != null && !caret.isDisposed() && isInRangeMode()) {
- org.eclipse.swt.graphics.Rectangle rect = caret.getBounds();
- setXoffset(rect.x);
- }
- }
-
- // public void addPostSelectionChangedListener(ISelectionChangedListener
- // listener)
- // {
- // _postSelectionChangedListeners.add(listener);
- //
- // }
- //
- // public void removePostSelectionChangedListener(ISelectionChangedListener
- // listener)
- // {
- // _postSelectionChangedListeners.remove(listener);
- // }
-
- /**
- * Notifies any post selection listeners that a post selection event has
- * been received. Only listeners registered at the time this method is
- * called are notified.
- *
- * @param event
- * a selection changed event
- *
- * @see #addPostSelectionChangedListener(ISelectionChangedListener)
- */
- // public void firePostSelectionChanged(final SelectionChangedEvent event)
- // {
- // Object[] listeners = _postSelectionChangedListeners.getListeners();
- // for (int i = 0; i < listeners.length; ++i)
- // {
- // final ISelectionChangedListener l = (ISelectionChangedListener)
- // listeners[i];
- // SafeRunnable.run(new SafeRunnable()
- // {
- // public void run()
- // {
- // l.selectionChanged(event);
- // }
- // });
- // }
- // }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewerListenenerAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewerListenenerAdapter.java
deleted file mode 100644
index 4b368aa17..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewerListenenerAdapter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-/**
- * @author cbateman
- *
- * Default adapter class for IHTMLGraphicalViewerListener
- *
- */
-public abstract class HTMLGraphicalViewerListenenerAdapter implements
- IHTMLGraphicalViewerListener {
-
- public void selectionAboutToChange() {
- // do nothing -- override to implement
- }
-
- public void selectionChangeFinished() {
- // do nothing -- override to implement
- }
-
- public void selectionChanged(SelectionChangedEvent event) {
- // do nothing == override to implement
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IDropLocationStrategy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IDropLocationStrategy.java
deleted file mode 100644
index 0798fea31..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IDropLocationStrategy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2007 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-
-/**
- * A strategy used to determine the closest valid drop location given
- * a current position.
- *
- * Note: clients should not implement or sub-class this interface. Instead,
- * sub-class AbstractDropLocationStrategy.
- * @author cbateman
- *
- */
-public interface IDropLocationStrategy
-{
- /**
- * @param host
- * @param p
- * @param validator
- * @return the closest valid design positionn to p, starting from host
- * that is valid based on validator, or null if there is no such position
- * (drop not valid). validator.isValidPosition must be honoured.
- */
- DesignPosition calculateDesignPosition(EditPart host, Point p, IPositionMediator validator);
-
- /**
- * May choose to contribute target feedback given a target part host and given
- * the proposed drops location given by position
- *
- * @param host
- * @param position
- * @param request
- * @return must contain all IFigure objects that were added to the feedback layer by
- * this call. Once returned, these IFigure's must not be kept as state information
- * by the strategy because they may be manipulated at any time after return to the caller.
- * This includes erasing them from the feedback layer. List must be modifiable by
- * the caller.
- *
- * Note: most feedback in Draw2D requires that it is added to the feedback layer
- * before it can be fully initialized, which is why this call adds feedback and then
- * returns it. The caller is responsible for erasing the figures in the list.
- */
- List showTargetFeedback(EditPart host, DesignPosition position, DropRequest request);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewer.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewer.java
deleted file mode 100644
index 6ee3ce47b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewer.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.draw2d.Viewport;
-import org.eclipse.gef.GraphicalViewer;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-
-/**
- * @author mengbo
- */
-public interface IHTMLGraphicalViewer extends GraphicalViewer
-{
- /**
- * Factory for IHTMLGraphicalViewers
- *
- */
- static class Factory
- {
- /**
- * @param part
- * @return a new graphical viewer for part
- */
- public static IHTMLGraphicalViewer createGraphicalViewer(IEditorPart part)
- {
- return new HTMLGraphicalViewer(part);
- }
- }
-
- /**
- * @return the dom model
- */
- public IDOMModel getModel();
-
- /**
- * ensure we are in range selection mode
- */
- public void ensureRangeSelectionMode();
-
- /**
- *
- */
- public void ensureObjectSelectionMode();
-
- /**
- * @return true if in range mode
- */
- public boolean isInRangeMode();
-
- /**
- * @return the current selection range
- */
- public DesignRange getRangeSelection();
-
- /**
- * @param position
- * @param position2
- */
- public void setRange(DesignPosition position, DesignPosition position2);
-
- /**
- * @param position
- */
- public void setRangeEndPosition(DesignPosition position);
-
- /**
- * @return the caret
- */
- public Caret getCaret();
-
- /**
- * indicate a batch of operations is began, and may result in selection
- * change. This viewer will only fire a single selection changed event when
- * this batch of operations finish.
- */
- public void startSelectionChange();
-
- /**
- * batch operation that change the selection finished.
- *
- */
- public void selectionChanged();
-
- /**
- * @return the view port
- */
- public Viewport getViewport();
-
- /**
- * @return the status line manager
- */
- public IStatusLineManager getStatusLineManager();
-
- /**
- * @param newSelection
- */
- public void updateRangeSelection(ISelection newSelection);
-
- /**
- * Update the horizontal position
- */
- public void updateHorizontalPos();
-
- /**
- * Clear the selection to null. When the model is modified, the selection is
- * invalid, so we need to clear the selection. We change the selection
- * directly, it won't need to fire selectionchange event to other part.
- */
- public void clearSelectionRange();
-
- /**
- * Adds listener both as a selection changed listener and as an
- * {@link IHTMLGraphicalViewerListener}. Callers of this method
- * need not call addSelectionChangedListener.
- * @param listener
- */
- public void addHTMLViewerListener(IHTMLGraphicalViewerListener listener);
-
- /**
- * Removes listener both as a selection changed listener and as an
- * {@link IHTMLGraphicalViewerListener}. Callers of this method
- * need not call removeSelectionChangedListener.
- * @param listener
- */
- public void removeHTMLViewerListener(IHTMLGraphicalViewerListener listener);
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewerListener.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewerListener.java
deleted file mode 100644
index 0d48ca93b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/IHTMLGraphicalViewerListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-
-/**
- * @author mengbo
- */
-public interface IHTMLGraphicalViewerListener extends ISelectionChangedListener {
- /**
- * Fired before selection changes
- */
- public void selectionAboutToChange();
-
- /**
- * Fired after selection changed listeners have all been processed
- * for a change
- */
- public void selectionChangeFinished();
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/LayoutPart.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/LayoutPart.java
deleted file mode 100644
index 853ec06b3..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/LayoutPart.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.CSSTextFigure;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowBox;
-import org.eclipse.jst.pagedesigner.css2.layout.FlowUtilities;
-import org.eclipse.jst.pagedesigner.css2.layout.TextFragmentBox;
-import org.eclipse.jst.pagedesigner.css2.layout.TextLayoutSupport;
-import org.eclipse.jst.pagedesigner.dom.DOMRefPosition;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.eclipse.jst.pagedesigner.parts.SubNodeEditPart;
-import org.eclipse.jst.pagedesigner.parts.TextEditPart;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.validation.caret.Target;
-import org.w3c.dom.Node;
-
-/**
- * @author mengbo
- */
-public final class LayoutPart {
- private final static int MAX_OFFSET_TO_EDGE = 10;
-
- private EditPart _part;
-
- private FlowBox _box;
-
- private final Point EMPTY_POINT = new Point(0, 0);
-
- private Point _point = EMPTY_POINT;
-
- /**
- * If caller didn't resolve FlowBox, call this.
- *
- * @param part
- * @param point
- */
- public LayoutPart(EditPart part, Point point) {
- Assert.isTrue(part != null);
- _part = part;
- _point = point;
- }
-
- /**
- * @return Returns the _box, when it is null, generate box with part and
- * point.
- */
- public FlowBox getBox() {
- if (_box == null) {
- _box = getClosestBox();
- }
- return _box;
- }
-
- /**
- * @return Returns the _part.
- */
- public EditPart getPart() {
- return _part;
- }
-
- /**
- * Get closest box's bounds.
- *
- * @param point
- * @return
- */
- private Rectangle getClosestBoxAbsoluteBounds() {
- Rectangle rect = null;
- if (getBox() != null) {
- rect = getAbsoluteBounds(getBox());
- }
- return rect;
- }
-
- /**
- * Try to get the closest flowbox absolute bounds.
- *
- * @return the bounding rectangle
- */
- public Rectangle getAbsoluteBounds() {
- Rectangle bounds = null;
- if ((bounds = getClosestBoxAbsoluteBounds()) == null) {
- // This should never happens.
- bounds = EditPartPositionHelper.getAbsoluteBounds(_part);
- }
- return bounds;
- }
-
- /**
- * Get box's absolute bounds.
- *
- * @param box
- * @return the box's bounding rectangle
- */
- public Rectangle getAbsoluteBounds(FlowBox box) {
- if (box != null) {
- IFigure figure = ((GraphicalEditPart) _part).getFigure();
- Rectangle rect = new Rectangle(box.getX(), box.getY(), box.getWidth(), box
- .getHeight());
- figure.translateToAbsolute(rect);
- return rect;
- }
- return null;
- }
-
- /**
- * Closest box is the part's FlowBox which y coordinate is closest to point,
- * and then its x coordinate is more close to point than other boxs of the
- * same line.
- *
- * @param part
- * @param point
- * @return
- */
- private FlowBox getClosestBox() {
- FlowBox closestBox = null;
- List fragments = getLines(_part);
-
- // if there is one which are at the same line with relative,
- // calculate that line first;
- for (int i = 0; i < fragments.size(); i++) {
- FlowBox box = (FlowBox) fragments.get(i);
- Rectangle boxRect = getAbsoluteBounds(box);
- if (boxRect.contains(_point.x, _point.y)) {
- closestBox = box;
- break;
- }
- if (closestBox == null) {
- closestBox = box;
- } else {
- // compare y.
- int offset1 = Math.abs(CaretPositionResolver.getYDistance(
- boxRect, _point));
- Rectangle closestRect = getAbsoluteBounds(closestBox);
- int offset2 = Math.abs(CaretPositionResolver.getYDistance(
- closestRect, _point));
- if (offset1 < offset2) {
- closestBox = box;
- }
- }
- // at the same line
- if (closestBox != box && boxRect.contains(boxRect.x, _point.y)) {
- // compare x.
- int offset1 = Math.abs(CaretPositionResolver.getXDistance(
- boxRect, _point));
- Rectangle closestRect = getAbsoluteBounds(closestBox);
- int offset2 = Math.abs(CaretPositionResolver.getXDistance(
- closestRect, _point));
- if (offset1 < offset2) {
- closestBox = box;
- }
- }
- }
- return closestBox;
- }
-
- /**
- * The point is whitin the bounds of the figure.
- *
- * @param point
- * @return true if point is the absolute bounds of this
- */
- public boolean contains(Point point) {
- return getAbsoluteBounds().contains(point);
- }
-
- /**
- * @return the design position
- */
- public DesignPosition resolveTextPosition() {
- DesignPosition result = null;
- if (_part instanceof TextEditPart
- && !EditModelQuery.isTransparentText(Target.resolveNode(_part))) {
- FlowBox flowBox = getBox();
- if (flowBox instanceof TextFragmentBox) {
- TextFragmentBox box = (TextFragmentBox) flowBox;
- if (((TextEditPart) _part).getFigure() instanceof CSSTextFigure) {
- CSSTextFigure figure = (CSSTextFigure) ((TextEditPart) _part)
- .getFigure();
- Rectangle boxRect = getAbsoluteBounds(box);
- int index = FlowUtilities.getTextInWidth(box.getTextData(),
- figure.getCSSStyle().getCSSFont().getSwtFont(),
- _point.x - boxRect.x, TextLayoutSupport
- .getAverageCharWidth(box));
- result = new DesignPosition(_part, box._offset + index);
- }
- }
- }
- return result;
- }
-
- /**
- * @param validator
- * @return resolve the design position using validator
- */
- public DesignPosition resolvePosition(IPositionMediator validator) {
- DesignPosition result;
- if ((result = resolveTextPosition()) == null) {
- boolean atPointLeft = isBeforePoint(_point);
-// boolean atPointRight = isAfterPoint(_point);
-// if (atPointLeft == atPointRight) {
-// // TODO: and...?
-// }
- Target target = new Target(getPart());
- if (validator.isValidPosition(new DOMRefPosition(target.getNode(),
- atPointLeft))) {
- result = new DesignRefPosition(_part, atPointLeft);
- } else if (validator.isValidPosition(new DOMRefPosition(target
- .getNode(), !atPointLeft))) {
- result = new DesignRefPosition(_part, !atPointLeft);
- } else if (validator.isEditable(target)) {
- if (atPointLeft) {
- result = new DesignPosition(_part, 0);
- } else {
- result = new DesignPosition(_part, _part.getChildren()
- .size());
- }
- }
- }
- return result;
- }
-
- // TODO: dead?
-// private IFigure getFigure() {
-// return ((GraphicalEditPart) _part).getFigure();
-// }
-
- private boolean isAfterPoint(Point point) {
- boolean result = false;
- FlowBox flowBox = getLine(0);
- if (IHTMLConstants.TAG_BR.equalsIgnoreCase(Target.resolveNode(_part)
- .getNodeName())) {
- if (flowBox != null) {
- Rectangle boxRect = getAbsoluteBounds(flowBox);
- result = CaretPositionResolver.getYDistance(boxRect, point) == 0;
- }
- } else {
-
- if (flowBox != null) {
- Rectangle boxRect = getAbsoluteBounds(flowBox);
- if (CaretPositionResolver.getXDistance(boxRect, point) != 0) {
- result = CaretPositionResolver.getXDistance(boxRect, point) < 0
- && //
- CaretPositionResolver.getYDistance(boxRect, point) == 0;
- }
- }
- }
- result |= isUnderCaret();
- // if (isWidget() && flowBox != null)
- // {
- // result |= contains(point) &&
- // CaretPositionResolver.toXMiddle(getAbsoluteBounds(flowBox), point) <
- // 0;
- // }
- return result;
-
- }
-
- /*package*/ boolean isBeforePoint(Point point) {
- boolean result = false;
- FlowBox flowBox = getLastLine();
- if (flowBox != null) {
- Rectangle boxRect = getAbsoluteBounds(flowBox);
- if (IHTMLConstants.TAG_BR.equalsIgnoreCase(Target
- .resolveNode(_part).getNodeName())) {
- return CaretPositionResolver.getYDistance(boxRect, point) == 0;
- } else if (CaretPositionResolver.getXDistance(boxRect, point) != 0) {
- result = CaretPositionResolver.getXDistance(boxRect, point) > 0
- && //
- CaretPositionResolver.getYDistance(boxRect, point) == 0;
- }
- }
- result |= isAboveCaret();
- // if (isWidget() && flowBox != null)
- // {
- // result |= contains(point) &&
- // CaretPositionResolver.toXMiddle(getAbsoluteBounds(flowBox), point) >
- // 0;
- // }
- return result;
- // return !isAfterPoint(point);
- }
-
- /*package*/ boolean isBeforePoint() {
- return isBeforePoint(_point);
- }
-
- /*package*/ boolean atLeftPart(Point point) {
- FlowBox flowBox = getBox();
- if (flowBox != null) {
- Rectangle boxRect = getAbsoluteBounds(flowBox);
- return CaretPositionResolver.toXMiddle(boxRect, point) < 0;
- }
- return true;
- }
-
- /*package*/ boolean isAfterPoint() {
- return isAfterPoint(_point);
- }
-
- // TODO: dead but possibly useful?
-// private boolean atSameLine(Point point) {
-// Rectangle bounds = getAbsoluteBounds();
-// return bounds.contains(bounds.getTop().x, point.y);
-// }
-
- /*package*/ boolean atSameRow(Point point) {
- Rectangle bounds = getAbsoluteBounds();
- return bounds.contains(point.x, bounds.getRight().y);
- }
-
- /*package*/ static Rectangle getBounds(FlowBox box) {
- return new Rectangle(box.getX(), box.getY(), box.getWidth(), box.getHeight());
- }
-
- /**
- * @return Returns the _point.
- */
- public Point getPoint() {
- return _point;
- }
-
- FlowBox getLine(int index) {
- FlowBox result = null;
- List lines = getLines(_part);
- if (lines.size() > 0 && index >= 0 && index <= lines.size() - 1) {
- result = (FlowBox) lines.get(index);
- }
- return result;
- }
-
- FlowBox getLastLine() {
- FlowBox result = null;
- List lines = getLines(_part);
- if (lines.size() > 0) {
- result = (FlowBox) lines.get(lines.size() - 1);
- }
- return result;
- }
-
- /**
- * @param part
- * @return
- */
- List getLines(EditPart part) {
- List fragments = new ArrayList();
- if (part instanceof SubNodeEditPart) {
- IFigure figure = ((GraphicalEditPart) part).getFigure();
-
- if (figure instanceof CSSTextFigure) {
- fragments = ((CSSTextFigure) figure).getFragments();
- ((CSSTextFigure) figure).getCSSStyle();
- } else if (figure instanceof CSSFigure) {
- fragments = ((CSSFigure) figure).getFragmentsForRead();
- ((CSSFigure) figure).getCSSStyle();
- }
- }
- return fragments;
- }
-
- /**
- * To search for none empty string, this is not final.
- * @param part
- * @return the edit part
- *
- */
- /*package*/ static EditPart getConcretePart(EditPart part) {
- if (part != null) {
- Node node = Target.resolveNode(part);
- Node child = node.getFirstChild();
- EditPart result;
- while (child != null) {
- if (!EditModelQuery.isTransparentText(child)
- && (result = Target.resolvePart(child)) != null) {
- return result;
- }
- child = child.getNextSibling();
- }
- }
- return null;
- }
-
- /**
- * To search for none empty string, this is not final.
- * Equivalent to getConcretePart(getPart())
- *
- * @return the edit part
- *
- */
- public EditPart getConcretePart() {
- return getConcretePart(_part);
- }
-
- /**
- * @param node
- * @return the node
- */
- public static Node getConcreteNode(Node node) {
- if (node != null) {
- Node child = node.getFirstChild();
- while (child != null) {
- if (!EditModelQuery.isTransparentText(child)) {
- return node;
- }
- child = child.getNextSibling();
- }
- }
- return null;
- }
-
- /**
- * @return true if is close to edge
- */
- public boolean isCloseToEdgeFromOutSide() {
- boolean result = false;
- if (EditModelQuery.isBlockNode(Target.resolveNode(_part))) {
- result = Math.abs(getAbsoluteBounds().getLeft().x - _point.x) <= MAX_OFFSET_TO_EDGE;
- if (!result) {
- result = Math.abs(getAbsoluteBounds().getRight().x - _point.x) <= MAX_OFFSET_TO_EDGE;
- }
- }
- return result;
- }
-
- private boolean isAboveCaret() {
- return getAbsoluteBounds().getBottom().y <= _point.y;
- }
-
- private boolean isUnderCaret() {
- return getAbsoluteBounds().getTop().y >= _point.y;
- }
-
- /**
- * @return tru if getPart() is considered inline
- */
- /*package*/ boolean isInline() {
- return EditModelQuery.isInline(Target.resolveNode(_part));
- }
-
- // TODO: dead?
-// private boolean isWidget() {
-// return EditModelQuery.isWidget(_part);
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("editPart:" + _part + ", --- box: " + getBox()); //$NON-NLS-1$ //$NON-NLS-2$
- return sb.toString();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/TextPosition.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/TextPosition.java
deleted file mode 100644
index 46850b429..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/TextPosition.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.viewer;
-
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMText;
-
-/**
- * This class used to identify a position in a text node. It's very similiar to
- * EditPartPosition. Used instead of EditPartPosition when in cases we are in
- * the middle of handling something without available EditPart created.
- *
- * offset has the same meaning as in EditPartPosition.
- *
- * @author mengbo
- */
-public class TextPosition {
- private IDOMText _containerNode;
-
- private int _offset;
-
- /**
- * @param part
- * @param offset
- */
- public TextPosition(IDOMText part, int offset) {
- _containerNode = part;
- _offset = offset;
- }
-
- /**
- * if _containerPart is null, means it is invalid
- *
- * @return the text node
- */
- public IDOMText getTextNode() {
- return _containerNode;
- }
-
- /**
- * if offset < 0, means it is invalid.
- *
- * @return the offset
- */
- public int getOffset() {
- return _offset;
- }
-
- /**
- * @return if this position is considered valid
- */
- public boolean isValid() {
- return _containerNode != null && _offset >= 0;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj instanceof TextPosition) {
- TextPosition p = (TextPosition) obj;
- return p.getTextNode() == this._containerNode
- && p.getOffset() == this._offset;
- }
- return false;
- }
-
- @Override
- public int hashCode()
- {
- // match hash code to equals criteria
- return System.identityHashCode(getTextNode())
- ^ System.identityHashCode(Integer.valueOf(getOffset()));
- }
-
-
-}

Back to the top