Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.classpath7
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.cvsignore3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.options5
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.project30
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.core.prefs87
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.ui.prefs3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.pde.prefs22
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/META-INF/MANIFEST.MF127
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/about.html22
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/build.properties24
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/default.properties12
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/LineBreak.gifbin885 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/MoveHandle.pngbin183 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding.gifbin133 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding_disabled.gifbin852 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Plugin.gifbin605 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold.gifbin923 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold_disabled.gifbin870 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_designer.gifbin248 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_hsplit.gifbin119 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic.gifbin880 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic_disabled.gifbin862 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont.gifbin888 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont_disabled.gifbin867 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_paragraph.gifbin581 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont.gifbin854 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont_disabled.gifbin852 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_source.gifbin153 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline.gifbin916 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline_disabled.gifbin882 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_vsplit.gifbin113 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_nopic.jpgbin1006 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/library_obj.gifbin338 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/newsuade_wiz.gifbin3148 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/large/PD_Palette_Default.gifbin300 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Default.gifbin82 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export.gifbin958 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Disabled.gifbin956 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Hover.gifbin958 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import.gifbin958 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Disabled.gifbin957 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Hover.gifbin958 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_down.gifbin133 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_up.gifbin138 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/icons/skin.pngbin1136 -> 0 bytes
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.ecore84
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.genmodel48
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.ecore24
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.genmodel28
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/plugin.properties37
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/plugin.xml280
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/schema/pageDesignerExtension.exsd306
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/schema/popupMenuContributor.exsd83
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/schema/propertyContributor.exsd89
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/schema/tagProperty.xsd154
-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.properties260
-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.java78
-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.java101
-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.java134
-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.java409
-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.java87
-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.java108
-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.java500
-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.java176
-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.java114
-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.java156
-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.java182
-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.java205
-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.java1816
-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.java125
-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.java55
-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.java99
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java469
-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/CheckModeOperation.java81
-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.java124
-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.java137
-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.java180
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java1220
-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.java187
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java912
-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.java259
-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.java351
-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.java240
-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.java145
-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.java214
-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.java698
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java567
-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/HeadItemCreationEditPolicy.java117
-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.java62
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HeadElementEdit.java72
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/InsertStylesheetLinkAction.java56
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/StylesheetLinkElementEdit.java53
-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.java218
-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.java35
-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.java316
-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.java202
-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/DefaultELValueResolver.java100
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/IELValueResolver.java21
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.java218
-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.java258
-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.java214
-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/AbstractCSSModelAdapter.java103
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.java78
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSStyleDeclarationFactory.java46
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java266
-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/TagStyleAttrAdapter.java242
-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.java454
-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.java239
-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.java455
-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.java106
-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.java457
-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.java139
-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.java114
-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/IFileAdapterFactory.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IResourceAdapterFactory.java54
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IWorkbenchAdapterFactory.java72
-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.java353
-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.java118
-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.java555
-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
829 files changed, 0 insertions, 112174 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.classpath b/jsf/plugins/org.eclipse.jst.pagedesigner/.classpath
deleted file mode 100644
index 472ee29b1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.cvsignore b/jsf/plugins/org.eclipse.jst.pagedesigner/.cvsignore
deleted file mode 100644
index f9eb27a99..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-build.xml
-@dot
-javaCompiler...args
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.options b/jsf/plugins/org.eclipse.jst.pagedesigner/.options
deleted file mode 100644
index 0b7e60254..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.options
+++ /dev/null
@@ -1,5 +0,0 @@
-org.eclipse.jst.pagedesigner/debug=true
-org.eclipse.jst.pagedesigner/debug/converter/load=false
-org.eclipse.jst.pagedesigner/debug/converter/selection=false
-org.eclipse.jst.pagedesigner/debug/elementedit/load=false
-org.eclipse.jst.pagedesigner/debug/elementedit/selection=false \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.project b/jsf/plugins/org.eclipse.jst.pagedesigner/.project
deleted file mode 100644
index 290ca2611..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jst.pagedesigner</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
- </natures>
-</projectDescription>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.core.resources.prefs b/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f2dd42a6c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun May 27 16:04:56 EDT 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.core.prefs b/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3342f83fd..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,87 +0,0 @@
-#Wed Mar 04 15:05:47 PST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.ui.prefs b/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 82eb6c152..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Apr 06 18:25:15 PDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.pde.prefs b/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6a74a2257..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,22 +0,0 @@
-#Fri May 30 11:58:12 PDT 2008
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/META-INF/MANIFEST.MF b/jsf/plugins/org.eclipse.jst.pagedesigner/META-INF/MANIFEST.MF
deleted file mode 100644
index 1e8ae629d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,127 +0,0 @@
-Manifest-Version: 1.0
-Bundle-SymbolicName: org.eclipse.jst.pagedesigner;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Version: 1.3.200.qualifier
-Bundle-Activator: org.eclipse.jst.pagedesigner.PDPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.gef;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.ui;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.wst.sse.ui;bundle-version="[1.0.101,1.4.0)",
- org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.jsp.core;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.jst.jsp.ui;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.jst.j2ee.web;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.pagedesigner.jsp.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jst.jsf.common.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jst.jsf.common;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jst.jsf.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.html.ui;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.wst.css.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.html.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.xml.ui;bundle-version="[1.0.100,1.2.0)",
- org.eclipse.wst.xml.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.sse.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.ui.views.properties.tabbed;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,3.5.0]",
- org.eclipse.jst.jsf.common.runtime;bundle-version="[1.0.201,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-ManifestVersion: 2
-Export-Package: org.eclipse.jst.pagedesigner;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.container;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.link;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.menuextension;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.range;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.single;x-internal:=true,
- org.eclipse.jst.pagedesigner.actions.table;x-internal:=true,
- org.eclipse.jst.pagedesigner.adapters;x-internal:=true,
- org.eclipse.jst.pagedesigner.adapters.internal;x-internal:=true,
- org.eclipse.jst.pagedesigner.commands;x-internal:=true,
- org.eclipse.jst.pagedesigner.commands.html;x-internal:=true,
- org.eclipse.jst.pagedesigner.commands.nav;x-internal:=true,
- org.eclipse.jst.pagedesigner.commands.range;x-internal:=true,
- org.eclipse.jst.pagedesigner.commands.single;x-internal:=true,
- org.eclipse.jst.pagedesigner.converter,
- org.eclipse.jst.pagedesigner.converter.html;x-internal:=true,
- org.eclipse.jst.pagedesigner.converter.jsp;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.border;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.color;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.font;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.layout;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.layout.table;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.list;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.marker;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.property;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.provider;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.style;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.value;x-internal:=true,
- org.eclipse.jst.pagedesigner.css2.widget;x-internal:=true,
- org.eclipse.jst.pagedesigner.dnd;x-internal:=true,
- org.eclipse.jst.pagedesigner.dnd.internal;x-internal:=true,
- org.eclipse.jst.pagedesigner.dom;x-internal:=true,
- org.eclipse.jst.pagedesigner.dom.html;x-internal:=true,
- org.eclipse.jst.pagedesigner.dtmanager,
- org.eclipse.jst.pagedesigner.dtmanager.converter,
- org.eclipse.jst.pagedesigner.dtmanager.converter.internal;x-friends:="org.eclipse.jst.pagedesigner.jsf.ui",
- org.eclipse.jst.pagedesigner.dtmanager.converter.operations,
- org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;x-friends:="org.eclipse.jst.pagedesigner.tests",
- org.eclipse.jst.pagedesigner.dtmanager.dtinfo,
- org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.impl;x-internal:=true,
- org.eclipse.jst.pagedesigner.dtmanager.dtinfo.internal.util;x-internal:=true,
- org.eclipse.jst.pagedesigner.dtresourceprovider;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.actions;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.pagedesigner;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.palette;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.palette.impl;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.properties,
- org.eclipse.jst.pagedesigner.editors.properties.internal;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections,
- org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.impl;x-internal:=true,
- org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.internal.util;x-internal:=true,
- org.eclipse.jst.pagedesigner.editpolicies;x-internal:=true,
- org.eclipse.jst.pagedesigner.elementedit;x-internal:=true,
- org.eclipse.jst.pagedesigner.elementedit.html;x-internal:=true,
- org.eclipse.jst.pagedesigner.elementedit.jsp;x-internal:=true,
- org.eclipse.jst.pagedesigner.extensionpoint,
- org.eclipse.jst.pagedesigner.figurehandler;x-internal:=true,
- org.eclipse.jst.pagedesigner.itemcreation;x-internal:=true,
- org.eclipse.jst.pagedesigner.itemcreation.command;x-internal:=true,
- org.eclipse.jst.pagedesigner.itemcreation.customizer;x-internal:=true,
- org.eclipse.jst.pagedesigner.itemcreation.internal;x-internal:=true,
- org.eclipse.jst.pagedesigner.meta;x-internal:=true,
- org.eclipse.jst.pagedesigner.meta.internal;x-internal:=true,
- org.eclipse.jst.pagedesigner.parts;x-internal:=true,
- org.eclipse.jst.pagedesigner.preview,
- org.eclipse.jst.pagedesigner.properties;x-friends:="org.eclipse.jst.pagedesigner.tests",
- org.eclipse.jst.pagedesigner.properties.attrgroup;x-friends:="org.eclipse.jst.pagedesigner.tests",
- org.eclipse.jst.pagedesigner.properties.celleditors;x-friends:="org.eclipse.jst.pagedesigner.tests",
- org.eclipse.jst.pagedesigner.properties.dialogfields;x-internal:=true,
- org.eclipse.jst.pagedesigner.properties.internal;x-friends:="org.eclipse.jst.pagedesigner.tests",
- org.eclipse.jst.pagedesigner.range;x-internal:=true,
- org.eclipse.jst.pagedesigner.requests;x-internal:=true,
- org.eclipse.jst.pagedesigner.tableedit;x-internal:=true,
- org.eclipse.jst.pagedesigner.tools;x-internal:=true,
- org.eclipse.jst.pagedesigner.ui.common;x-internal:=true,
- org.eclipse.jst.pagedesigner.ui.common.sash;x-internal:=true,
- org.eclipse.jst.pagedesigner.ui.dialogfields;x-internal:=true,
- org.eclipse.jst.pagedesigner.ui.dialogs;x-internal:=true,
- org.eclipse.jst.pagedesigner.ui.preferences;x-internal:=true,
- org.eclipse.jst.pagedesigner.utils;x-internal:=true,
- org.eclipse.jst.pagedesigner.validation.caret;x-internal:=true,
- org.eclipse.jst.pagedesigner.viewer;x-internal:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Import-Package: javax.servlet.jsp.el;version="2.0.0"
-
-
-
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/about.html b/jsf/plugins/org.eclipse.jst.pagedesigner/about.html
deleted file mode 100644
index 90bd74d4d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June, 2008</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/build.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/build.properties
deleted file mode 100644
index fdf6446ff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/build.properties
+++ /dev/null
@@ -1,24 +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
-###############################################################################
-jars.compile.order = .
-source.. = src/
-output.. = bin/
-bin.includes = .,\
- META-INF/,\
- icons/,\
- plugin.properties,\
- plugin.xml,\
- schema/,\
- about.html,\
- default.properties,\
- .options
-javacSource=1.5
-javacTarget=1.5
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/default.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/default.properties
deleted file mode 100644
index d6297e4d5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/default.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
-###############################################################################
-# This file contains all the Default Preference Settings
-
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/LineBreak.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/LineBreak.gif
deleted file mode 100644
index b46868549..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/LineBreak.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/MoveHandle.png b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/MoveHandle.png
deleted file mode 100644
index 679ef9918..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/MoveHandle.png
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding.gif
deleted file mode 100644
index 6638a992e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding_disabled.gif
deleted file mode 100644
index c5064fd96..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Binding_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Plugin.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Plugin.gif
deleted file mode 100644
index 471b1b56c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Plugin.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold.gif
deleted file mode 100644
index f81485150..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold_disabled.gif
deleted file mode 100644
index 639de4673..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_bold_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_designer.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_designer.gif
deleted file mode 100644
index fdfcae0ab..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_designer.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_hsplit.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_hsplit.gif
deleted file mode 100644
index 4dae95d76..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_hsplit.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic.gif
deleted file mode 100644
index fb765fe70..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic_disabled.gif
deleted file mode 100644
index 74753155d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_italic_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont.gif
deleted file mode 100644
index 39afd385b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont_disabled.gif
deleted file mode 100644
index fe38ccbf2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_largefont_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_paragraph.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_paragraph.gif
deleted file mode 100644
index b129090b1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_paragraph.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont.gif
deleted file mode 100644
index f0b4eba11..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont_disabled.gif
deleted file mode 100644
index c02528af2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_smallfont_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_source.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_source.gif
deleted file mode 100644
index 86986dfa8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_source.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline.gif
deleted file mode 100644
index b8ac9775a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline_disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline_disabled.gif
deleted file mode 100644
index f06517b0f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_underline_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_vsplit.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_vsplit.gif
deleted file mode 100644
index 6564d07f1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_Toolbar_vsplit.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_nopic.jpg b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_nopic.jpg
deleted file mode 100644
index f98b2330f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/PD_nopic.jpg
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/library_obj.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/library_obj.gif
deleted file mode 100644
index cb55e33b5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/library_obj.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/newsuade_wiz.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/newsuade_wiz.gif
deleted file mode 100644
index ecd75f41b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/newsuade_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/large/PD_Palette_Default.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/large/PD_Palette_Default.gif
deleted file mode 100644
index a320fcb59..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/large/PD_Palette_Default.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Default.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Default.gif
deleted file mode 100644
index 5e7fb3339..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Default.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export.gif
deleted file mode 100644
index 095beb0c4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Disabled.gif
deleted file mode 100644
index 04800a616..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Hover.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Hover.gif
deleted file mode 100644
index 095beb0c4..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Export_Hover.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import.gif
deleted file mode 100644
index 0af690308..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Disabled.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Disabled.gif
deleted file mode 100644
index 5c828d472..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Disabled.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Hover.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Hover.gif
deleted file mode 100644
index 0af690308..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/palette/GENERIC/small/PD_Palette_Import_Hover.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_down.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_down.gif
deleted file mode 100644
index e85fa908d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_down.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_up.gif b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_up.gif
deleted file mode 100644
index 5eeef332d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/pin_up.gif
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/skin.png b/jsf/plugins/org.eclipse.jst.pagedesigner/icons/skin.png
deleted file mode 100644
index 8f229e9b0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/icons/skin.png
+++ /dev/null
Binary files differ
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.ecore b/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.ecore
deleted file mode 100644
index 7343bdf31..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.ecore
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="dtinfo"
- nsURI="http://org.eclipse.jsf.pagedesigner/dtinfo.ecore" nsPrefix="dti">
- <eClassifiers xsi:type="ecore:EClass" name="DTInfo">
- <eStructuralFeatures xsi:type="ecore:EReference" name="tagConvertInfo" lowerBound="1"
- eType="#//TagConvertInfo" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="tag-convert-info"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tagDecorateInfos" upperBound="-1"
- eType="#//TagDecorateInfo" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="tag-decorate-info"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TagConvertInfo">
- <eStructuralFeatures xsi:type="ecore:EReference" name="operations" upperBound="-1"
- eType="#//Operation" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="operation"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- iD="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
- eType="#//Parameter" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="parameter"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="operations" upperBound="-1"
- eType="#//Operation" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="operation"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TagDecorateInfo">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- iD="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="minHeight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="minWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiLevel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="needBorderDecorator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="needTableDecorator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonVisual" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonVisualImagePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolveChildText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="resolveAttributeValue"
- eType="#//ResolveAttributeValue" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="resolve-attribute-value"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="setNonVisualChildElements"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="widget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ResolveAttributeValue">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributeName" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.genmodel b/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.genmodel
deleted file mode 100644
index a85b14430..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/model/DTInfo.genmodel
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2007 Oracle Corporation"
- modelDirectory="/org.eclipse.jst.pagedesigner/src" editDirectory="/org.eclipse.jst.pagedesigner/src"
- editorDirectory="/org.eclipse.jst.pagedesigner/src" modelPluginID="org.eclipse.jst.pagedesigner"
- modelName="DTInfo" editPluginClass="org.eclipse.jst.pagedesigner.PDPlugin" editorPluginClass="org.eclipse.jst.pagedesigner.PDPlugin"
- testsDirectory="/org.eclipse.jst.pagedesigner/src" testSuiteClass="org.eclipse.jst.pagedesigner.PDPlugin"
- importerID="org.eclipse.emf.importer.ecore">
- <foreignModel>DTInfo.ecore</foreignModel>
- <genPackages prefix="DTInfo" basePackage="org.eclipse.jst.pagedesigner.dtmanager"
- disposableProviderFactory="true" classPackageSuffix="internal.impl" utilityPackageSuffix="internal.util"
- providerPackageSuffix="internal.provider" presentationPackageSuffix="internal.presentation"
- testsPackageSuffix="internal.tests" generateExampleClass="false" ecorePackage="DTInfo.ecore#/">
- <genClasses ecoreClass="DTInfo.ecore#//DTInfo">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//DTInfo/tagConvertInfo"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//DTInfo/tagDecorateInfos"/>
- </genClasses>
- <genClasses ecoreClass="DTInfo.ecore#//TagConvertInfo">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//TagConvertInfo/operations"/>
- </genClasses>
- <genClasses image="false" ecoreClass="DTInfo.ecore#//Operation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//Operation/id"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//Operation/parameters"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//Operation/operations"/>
- </genClasses>
- <genClasses ecoreClass="DTInfo.ecore#//Parameter">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//Parameter/value"/>
- </genClasses>
- <genClasses ecoreClass="DTInfo.ecore#//TagDecorateInfo">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/id"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/minHeight"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/minWidth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/multiLevel"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/needBorderDecorator"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/needTableDecorator"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/nonVisual"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/nonVisualImagePath"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/resolveChildText"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DTInfo.ecore#//TagDecorateInfo/resolveAttributeValue"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/setNonVisualChildElements"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//TagDecorateInfo/widget"/>
- </genClasses>
- <genClasses ecoreClass="DTInfo.ecore#//ResolveAttributeValue">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DTInfo.ecore#//ResolveAttributeValue/attributeName"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.ecore b/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.ecore
deleted file mode 100644
index 5b3c237b2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.ecore
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="quickedittabsections"
- nsURI="http://org.eclipse.jsf.pagedesigner/QuickEditTabSections.ecore" nsPrefix="qe">
- <eClassifiers xsi:type="ecore:EClass" name="QuickEditTabSections">
- <eStructuralFeatures xsi:type="ecore:EReference" name="sections" upperBound="-1"
- eType="#//SectionInfo" containment="true">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="element"/>
- <details key="name" value="section"/>
- </eAnnotations>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SectionInfo">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" eType="#//SECTION_TYPE"
- defaultValueLiteral="ATTRIBUTE"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SECTION_TYPE">
- <eLiterals name="ATTRIBUTE"/>
- <eLiterals name="SECTION" value="1"/>
- </eClassifiers>
-</ecore:EPackage>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.genmodel b/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.genmodel
deleted file mode 100644
index 4aed6beb5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/model/QuickEditTabSections.genmodel
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2007 Oracle Corporation"
- modelDirectory="/org.eclipse.jst.pagedesigner/src" editDirectory="/org.eclipse.jst.pagedesigner/src"
- editorDirectory="/org.eclipse.jst.pagedesigner/src" modelPluginID="org.eclipse.jst.pagedesigner"
- modelName="QuickEditTabSections" editPluginClass="org.eclipse.jst.pagedesigner.PDPlugin"
- editorPluginClass="/org.eclipse.jst.pagedesigner.PDPlugin" importerID="org.eclipse.emf.importer.ecore"
- complianceLevel="5.0" providerRootExtendsClass="">
- <foreignModel>QuickEditTabSections.ecore</foreignModel>
- <genPackages prefix="QuickEditTabSections" basePackage="org.eclipse.jst.pagedesigner.editors.properties"
- disposableProviderFactory="true" classPackageSuffix="internal.impl" utilityPackageSuffix="internal.util"
- providerPackageSuffix="internal.provider" presentationPackageSuffix="internal.presentation"
- testsPackageSuffix="internal.tests" generateExampleClass="false" multipleEditorPages="false"
- generateModelWizard="false" ecorePackage="QuickEditTabSections.ecore#/">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="QuickEditTabSections.ecore#//SECTION_TYPE">
- <genEnumLiterals ecoreEnumLiteral="QuickEditTabSections.ecore#//SECTION_TYPE/ATTRIBUTE"/>
- <genEnumLiterals ecoreEnumLiteral="QuickEditTabSections.ecore#//SECTION_TYPE/GROUP"/>
- </genEnums>
- <genClasses ecoreClass="QuickEditTabSections.ecore#//QuickEditTabSections">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference QuickEditTabSections.ecore#//QuickEditTabSections/sections"/>
- </genClasses>
- <genClasses image="false" ecoreClass="QuickEditTabSections.ecore#//Section">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute QuickEditTabSections.ecore#//Section/id"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute QuickEditTabSections.ecore#//Section/type"/>
- </genClasses>
- </genPackages>
-</genmodel:GenModel>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.properties b/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.properties
deleted file mode 100644
index 46d229880..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.properties
+++ /dev/null
@@ -1,37 +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
-###############################################################################
-####################################################
-# Plugin XML information.
-####################################################
-pluginName=JavaServer Faces Tools - Web Page Editor
-providerName=Eclipse.org
-
-editor.binding.context.name=Using Web Page Editor
-editor.binding.context.description=Key binding context when using the web page editor
-# ====================================================================
-
-
-editor.name.0 = Web Page Editor
-category.name.0 = Web Page Editor Layout
-command.name.0 = Vertical Layout
-command.name.1 = Horizontal Layout
-command.name.2 = Graphical Designer
-command.name.3 = Source Code
-
-extension-point.name.0 = Web Page Editor Extension
-extension-point.name.1 = property contributor
-extension-point.name.2 = popupMenu Contributor
-extension-point.name.3 = Content Model Meta Data
-propertyTab.label.QuickEdit = Quick Edit
-propertyTab.label.Attributes = Attributes
-
-ext-pt.WPEPropPage.name = Web Page Editor
-preferencepage.webPageEditor.name=Web Page Editor \ No newline at end of file
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.xml b/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.xml
deleted file mode 100644
index e9c25c4a7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/plugin.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-<?eclipse version="3.0"?>
-<plugin>
- <extension-point id="pageDesignerExtension" name="%extension-point.name.0" schema="schema/pageDesignerExtension.exsd" />
- <extension-point id="propertyContributor" name="%extension-point.name.1" schema="schema/propertyContributor.exsd" />
- <extension-point id="popupMenuContributor" name="%extension-point.name.2" schema="schema/popupMenuContributor.exsd"/>
-
- <extension point="org.eclipse.ui.editors">
- <editor class="org.eclipse.jst.pagedesigner.editors.HTMLEditor"
- contributorClass="org.eclipse.jst.pagedesigner.editors.actions.PageDesignerActionBarContributor2"
- default="false"
- extensions="jsp,jspx,jsf,html,htm,xhtml"
- icon="icons/PD_Plugin.gif"
- id="org.eclipse.jst.pagedesigner.PageDesignerEditor"
- name="%editor.name.0">
- </editor>
- </extension>
-
- <extension point="org.eclipse.ui.actionSetPartAssociations">
- <actionSetPartAssociation targetID="org.eclipse.debug.ui.launchActionSet">
- <part id="org.eclipse.jst.pagedesigner.PageDesignerEditor"/>
- </actionSetPartAssociation>
- </extension>
-
- <extension point="org.eclipse.core.runtime.adapters">
- <factory
- class="org.eclipse.jst.pagedesigner.utils.UriAdapterFactory"
- adaptableType="org.eclipse.core.resources.IProject">
- <adapter type="org.eclipse.wst.sse.core.internal.util.URIResolver" />
- </factory>
- <factory
- adaptableType="org.eclipse.jst.pagedesigner.parts.NodeEditPart"
- class="org.eclipse.jst.pagedesigner.utils.IFileAdapterFactory">
- <adapter type="org.eclipse.core.resources.IFile">
- </adapter>
- </factory>
- <factory
- adaptableType="org.eclipse.jst.pagedesigner.parts.NodeEditPart"
- class="org.eclipse.jst.pagedesigner.utils.IResourceAdapterFactory">
- <adapter type="org.eclipse.core.resources.IResource">
- </adapter>
- </factory>
- <factory
- adaptableType="org.eclipse.jst.pagedesigner.parts.NodeEditPart"
- class="org.eclipse.jst.pagedesigner.utils.IWorkbenchAdapterFactory">
- <adapter
- type="org.eclipse.ui.model.IWorkbenchAdapter">
- </adapter>
- </factory>
- </extension>
-
- <extension
- point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
- <propertyTabs
- contributorId="org.eclipse.jst.pagedesigner.tabPropertyContributor">
- <propertyTab label="%propertyTab.label.QuickEdit" category="Quick Edit" id="org.eclipse.jst.pagedesigner.tabQuickEdit" />
- <propertyTab label="%propertyTab.label.Attributes" category="Attributes" id="org.eclipse.jst.pagedesigner.tabAttributes" />
- </propertyTabs>
- </extension>
-
- <extension
- point="org.eclipse.ui.views.properties.tabbed.propertySections">
- <propertySections
- contributorId="org.eclipse.jst.pagedesigner.tabPropertyContributor">
- <propertySection
- afterSection="top"
- class="org.eclipse.jst.pagedesigner.properties.AllPropertySection"
- id="section.allproperty"
- tab="org.eclipse.jst.pagedesigner.tabAttributes">
- </propertySection>
- </propertySections>
- </extension>
-
- <extension point="org.eclipse.jst.pagedesigner.pageDesignerExtension">
- <linkCreator class="org.eclipse.jst.pagedesigner.actions.link.HtmlLinkCreator" linkIdentifier="Html Link"/>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.AppendChildElementOperation"
- id="AppendChildElementOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.AppendChildTextFromXPathOperation"
- id="AppendChildTextFromXPathOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.AppendChildTextOperation"
- id="AppendChildTextOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.ConvertAttributeToTextOperation"
- id="ConvertAttributeToTextOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CopyAllAttributesOperation"
- id="CopyAllAttributesOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CopyAttributeOperation"
- id="CopyAttributeOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CopyAttributeWithRenameOperation"
- id="CopyAttributeWithRenameOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CopyChildrenOperation"
- id="CopyChildrenOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CreateAttributeFromXPathOperation"
- id="CreateAttributeFromXPathOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CreateAttributeOperation"
- id="CreateAttributeOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CreateElementOperation"
- id="CreateElementOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.IfNotOperation"
- id="IfNotOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.IfOperation"
- id="IfOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.IterateOverElementsOperation"
- id="IterateOverElementsOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.MakeParentElementCurrentOperation"
- id="MakeParentElementCurrentOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.RemoveAttributeOperation"
- id="RemoveAttributeOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.RenameAttributeOperation"
- id="RenameAttributeOperation">
- </tagTransformOperation>
- <tagTransformOperation
- class="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.CheckModeOperation"
- id="CheckModeOperation">
- </tagTransformOperation>
- <elValueResolver
- class="org.eclipse.jst.pagedesigner.preview.DefaultELValueResolver">
- </elValueResolver>
- </extension>
-
- <extension id="org.eclipse.jst.pagedesigner.commands" point="org.eclipse.ui.commands">
- <category id="org.eclipse.jst.pagedesigner.pagelayout" name="%category.name.0"/>
- <command categoryId="org.eclipse.jst.pagedesigner.pagelayout"
- id="org.eclipse.jst.pagedesigner.vertical"
- name="%command.name.0"/>
- <command categoryId="org.eclipse.jst.pagedesigner.pagelayout"
- id="org.eclipse.jst.pagedesigner.horizotal"
- name="%command.name.1"/>
- <command categoryId="org.eclipse.jst.pagedesigner.pagelayout"
- id="org.eclipse.jst.pagedesigner.design"
- name="%command.name.2"/>
- <command categoryId="org.eclipse.jst.pagedesigner.pagelayout"
- id="org.eclipse.jst.pagedesigner.source"
- name="%command.name.3"/>
- </extension>
-
- <extension point="org.eclipse.ui.bindings">
- <key commandId="org.eclipse.jst.pagedesigner.vertical"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- sequence="M1+M2+F9"/>
- <key commandId="org.eclipse.jst.pagedesigner.horizotal"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- sequence="M1+M2+F10"/>
- <key commandId="org.eclipse.jst.pagedesigner.design"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- sequence="M1+M2+F11"/>
- <key commandId="org.eclipse.jst.pagedesigner.source"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- sequence="M1+M2+F12"/>
- <key sequence="M1+F5"
- commandId="org.eclipse.ui.part.nextPage"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
- <key sequence="M1+M2+F5"
- commandId="org.eclipse.ui.part.previousPage"
- contextId="org.eclipse.jst.pagedesigner.editorContext"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
- </extension>
-
- <extension point="org.eclipse.wst.sse.ui.editorConfiguration">
- <contentOutlineConfiguration
- class="org.eclipse.jst.pagedesigner.editors.OutlineConfiguration"
- target="org.eclipse.jst.pagedesigner.editors.DesignerStructuredTextEditorJSP"/>
- </extension>
-
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- class="org.eclipse.jst.pagedesigner.dtmanager.dtinfo.DTInfoPackage"
- genModel="model/DTInfo.genmodel"
- uri="http://org.eclipse.jsf.pagedesigner/dtinfo.ecore">
- </package>
- <package
- class="org.eclipse.jst.pagedesigner.editors.properties.quickedittabsections.QuickEditTabSectionsPackage"
- genModel="model/QuickEditTabSections.genmodel"
- uri="http://org.eclipse.jsf.pagedesigner/QuickEditTabSections.ecore">
- </package>
- </extension>
-
- <extension
- point="org.eclipse.ui.contexts">
- <context
- description="%editor.binding.context.description"
- id="org.eclipse.jst.pagedesigner.editorContext"
- name="%editor.binding.context.name"
- parentId="org.eclipse.ui.textEditorScope">
- </context>
- </extension>
- <extension
- point="org.eclipse.jst.jsf.core.MetaDataEnabledFeatures">
- <MetaDataEnabledFeature
- class="org.eclipse.jst.pagedesigner.editors.properties.internal.PropertyDescriptor"
- typeid="org.eclipse.jst.jsf.core.attributevalues.BaseType">
- </MetaDataEnabledFeature>
- </extension>
- <extension
- point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
- <propertyContributor
- contributorId="org.eclipse.jst.pagedesigner.tabPropertyContributor"
- tabDescriptorProvider="org.eclipse.jst.pagedesigner.properties.internal.WPETabDescriptorProvider">
- <propertyCategory></propertyCategory>
- </propertyContributor>
- </extension>
- <extension
- point="org.eclipse.ui.propertyPages">
- <page
- adaptable="true"
- class="org.eclipse.jst.pagedesigner.ui.dialogs.WPEPropertyPage"
- id="org.eclipse.jst.pagedesigner.WPEPropertyPage"
- name="%ext-pt.WPEPropPage.name"
- objectClass="org.eclipse.core.resources.IProject">
- <enabledWhen>
- <and>
- <adapt type="org.eclipse.core.resources.IProject">
- <or>
- <test
- forcePluginActivation="true"
- property="org.eclipse.wst.common.project.facet.core.projectFacet"
- value="jst.web">
- </test>
- <test
- forcePluginActivation="true"
- property="org.eclipse.wst.common.project.facet.core.projectFacet"
- value="wst.web">
- </test>
- </or>
- </adapt>
- </and>
- </enabledWhen>
- </page>
- </extension>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.wst.html.ui.preferences.web"
- class="org.eclipse.jst.pagedesigner.ui.preferences.PDPreferencePage"
- id="org.eclipse.jst.jsf.pagedesigner.ui.preferences.PDPreferences"
- name="%preferencepage.webPageEditor.name"/>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.jst.pagedesigner.ui.preferences.PDPreferences">
- </initializer>
- </extension>
-</plugin>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/pageDesignerExtension.exsd b/jsf/plugins/org.eclipse.jst.pagedesigner/schema/pageDesignerExtension.exsd
deleted file mode 100644
index 4cc47e273..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/pageDesignerExtension.exsd
+++ /dev/null
@@ -1,306 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.pagedesigner" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.pagedesigner" id="pageDesignerExtension" name="Web Page Editor Extension"/>
- </appInfo>
- <documentation>
- &lt;p&gt;&lt;b&gt;This extension point is provisional and subject to change&lt;/b&gt;&lt;/p&gt;
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appInfo>
- <meta.element />
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="localDropHandler" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="attributeCellEditorFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tagConverterFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="elementEditFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="linkCreator" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tagAttributeCellEditorFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="tagTransformOperation" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="dtResourceProvider" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="propertyPageFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="paletteFactory" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="attributeValueResolver" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="elValueResolver" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="localDropHandler">
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="attributeCellEditorFactory">
- <annotation>
- <documentation>
- deprecated - use tagAttributeCellEditorFactory
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" deprecated="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="tagAttributeCellEditorFactory">
- <annotation>
- <documentation>
- provides ability for 3rd parties to supply their own cell and dialog field editors for MD enabled tag library attributes in the WPE tabbed property sheets
- </documentation>
- </annotation>
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="tagConverterFactory">
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="elementEditFactory">
- <complexType>
- <attribute name="class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="linkCreator">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.actions.link.ILinkCreator"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="linkIdentifier" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="tagTransformOperation">
- <annotation>
- <documentation>
- define a tag transformation operation class
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The transform operation id. Referencers will use plugin-qualified references. i.e if the plugin extending this was &lt;code&gt;org.foo.bar&lt;/code&gt;, then the meta data instance that referenced this operation would specify:
- &lt;pre&gt;
- &lt;operation id=&quot;org.foo.bar.MyTransformId&quot;/&gt;
- &lt;/pre&gt;
-
-The exception to this rule is that if the reference is not plugin-qualified, then the reference is assumed to be a &lt;i&gt;core&lt;/i&gt; transformation and uses the &lt;code&gt;org.eclipse.jst.pagedesigner&lt;/code&gt; prefix.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- class extending the &lt;code&gt;org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation&lt;/code&gt;
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="dtResourceProvider">
- <annotation>
- <documentation>
- Defines a Design-Time Resource Provider class for a specific ID.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- The ID of the Design-Time Resource Provider class. This is used to map usage of each DT Resource Provider class to a specific page neing edited, and so is typically the NS URI of the tag library for which the class provides resources.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- Class extending &lt;code&gt;org.eclipse.jst.pagedesigner.dtresourceprovider.AbstractDTResourceProvider&lt;/code&gt;.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.dtresourceprovider.AbstractDTResourceProvider:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="propertyPageFactory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- Provisional API. If an extension point is found in the system, the Web Page Editor will use the factory implementation to provide its property page.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.editors.AbstractPropertySheetPageFactory:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="paletteFactory">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- Provisional API. If an extension point is found in the system, the Web Page Editor will use the factory implementation to provide its paletteViewerPage
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.editors.palette.AbstractPaletteFactory:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="attributeValueResolver">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.jst.pagedesigner.dtmanager.converter.internal.AbstractAttributeValueResolver:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="elValueResolver">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.jst.pagedesigner.preview.IELValueResolver"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 2.0
- </documentation>
- </annotation>
-
-
-
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright 2006 Sybase and others
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- </documentation>
- </annotation>
-
-</schema>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/popupMenuContributor.exsd b/jsf/plugins/org.eclipse.jst.pagedesigner/schema/popupMenuContributor.exsd
deleted file mode 100644
index 27956f489..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/popupMenuContributor.exsd
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.pagedesigner">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.jst.pagedesigner" id="popupMenuContributor" name="popupMenu Contributor"/>
- </appInfo>
- <documentation>
- &lt;p&gt;&lt;b&gt;This extension point is provisional and subject to change&lt;/b&gt;&lt;/p&gt;
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="menuItemContributor" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="menuItemContributor">
- <complexType>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="URI" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 2.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright 2006 Sybase and others
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- </documentation>
- </annotation>
-
-</schema>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/propertyContributor.exsd b/jsf/plugins/org.eclipse.jst.pagedesigner/schema/propertyContributor.exsd
deleted file mode 100644
index 934161d45..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/propertyContributor.exsd
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.pagedesigner" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.jst.pagedesigner" id="propertyContributor" name="property contributor"/>
- </appinfo>
- <documentation>
- &lt;p&gt;&lt;b&gt;This extension point is unused and deprecated, and will be removed&lt;/b&gt;&lt;/p&gt;
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element deprecated="true"/>
- </appinfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="propertyContributor" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="propertyContributor">
- <annotation>
- <appinfo>
- <meta.element deprecated="true"/>
- </appinfo>
- </annotation>
- <complexType>
- <attribute name="sectionDescriptorProvider" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 2.0
- </documentation>
- </annotation>
-
-
-
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright 2006 Sybase and others
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- </documentation>
- </annotation>
-
-</schema>
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/tagProperty.xsd b/jsf/plugins/org.eclipse.jst.pagedesigner/schema/tagProperty.xsd
deleted file mode 100644
index f970c0844..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/schema/tagProperty.xsd
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="taglib">
- <complexType>
- <sequence>
- <element ref="tag" maxOccurs="unbounded"></element>
- <element ref="definition" minOccurs="0" maxOccurs="1"></element>
- </sequence>
- <attribute ref="uri" />
- </complexType>
- </element>
-
- <element name="tag">
- <complexType>
- <sequence>
- <element ref="category" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- <element ref="referedcategory" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- </sequence>
- <attribute ref="name"></attribute>
- </complexType>
- </element>
-
- <element name="category">
- <complexType>
- <sequence>
- <element ref="attribute" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- <element ref="referedattribute" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- </sequence>
- <attribute ref="name"></attribute>
- <attribute ref="displaylabel"></attribute>
- </complexType>
- </element>
-
- <element name="referedcategory">
- <complexType>
- <sequence>
- <element ref="includeattrs" minOccurs="0"
- maxOccurs="1">
- </element>
- <element ref="excludeattrs" minOccurs="0"
- maxOccurs="1">
- </element>
- </sequence>
- <attribute ref="ref"></attribute>
- <attribute ref="displaylabel"></attribute>
- </complexType>
- </element>
-
- <element name="definition">
- <complexType>
- <sequence>
- <element ref="categories" minOccurs="0" maxOccurs="1"></element>
- <element ref="attributes" minOccurs="0" maxOccurs="1"></element>
- </sequence>
- </complexType>
- </element>
-
- <element name="attribute">
- <complexType>
- <sequence>
- <element ref="option" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- </sequence>
- <attribute ref="name"></attribute>
- <attribute ref="displaylabel"></attribute>
- <attribute ref="required"></attribute>
- <attribute ref="type"></attribute>
- <attribute ref="typeparam"></attribute>
- </complexType>
- </element>
-
- <element name="referedattribute">
- <complexType>
- <attribute ref="ref"></attribute>
- <attribute ref="overridename"></attribute>
- <attribute ref="displaylabel"></attribute>
- </complexType>
- </element>
-
- <element name="includeattrs">
- <complexType>
- <sequence>
- <element ref="attribute" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- <element ref="referedattribute" minOccurs="0"
- maxOccurs="unbounded">
- </element>
- </sequence>
- </complexType>
- </element>
-
- <element name="excludeattrs">
- <complexType>
- <attribute ref="refs"></attribute>
- </complexType>
- </element>
-
- <element name="categories">
- <complexType>
- <sequence>
- <element ref="category"></element>
- </sequence>
- </complexType>
- </element>
-
- <element name="attributes">
- <complexType>
- <sequence>
- <element ref="attribute"></element>
- </sequence>
- </complexType>
- </element>
-
- <element name="option">
- <complexType>
- <attribute ref="key"></attribute>
- <attribute ref="value"></attribute>
- <attribute ref="default"></attribute>
- </complexType>
- </element>
-
- <attribute name="name" type="string"></attribute>
-
- <attribute name="displaylabel" type="string"></attribute>
-
- <attribute name="ref" type="string"></attribute>
-
- <attribute name="refs" type="string"></attribute>
-
- <attribute name="uri" type="string"></attribute>
-
- <attribute name="type" type="string"></attribute>
-
- <attribute name="typeparam" type="string"></attribute>
-
- <attribute name="key" type="string"></attribute>
-
- <attribute name="value" type="string"></attribute>
-
- <attribute name="overridename" type="string"></attribute>
- <attribute name="default" type="string" fixed="default"></attribute>
- <attribute name="required" type="string" fixed="required"></attribute>
-
-</schema> \ No newline at end of file
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 72f4ee8a2..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/JMTResources.properties
+++ /dev/null
@@ -1,260 +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
-
-HeadElementEdit.Submenu.InsertStylesheetLink=Stylesheet Link
-
-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
-
-DOMUtil.ExceptionWhileCloningNode=Exception while cloning node. \ 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 6236e2328..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ChangeStyleAction.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.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;
-
- private String _attribute;
-
- /**
- * @param part
- * @param ele
- */
- public ChangeStyleAction(ElementEditPart part, IDOMElement ele) {
- this(part, ele, "style");//$NON-NLS-1$
- }
-
- /**
- * @param part
- * @param ele
- * @param styleAttributeName
- */
- public ChangeStyleAction(ElementEditPart part, IDOMElement ele, String styleAttributeName) {
- super(MY_TEXT);
- this._editPart = part;
- this._element = ele;
- this._attribute = styleAttributeName;
- }
-
- 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, _attribute, 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 5442a31f9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/actions/single/ColorSupport.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.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[] {
- "Aqua", //$NON-NLS-1$
- "Black", //$NON-NLS-1$
- "Blue", //$NON-NLS-1$
- "Fuchsia", //$NON-NLS-1$
- "Gray", //$NON-NLS-1$
- "Green", //$NON-NLS-1$
- "Lime", //$NON-NLS-1$
- "Maroon", //$NON-NLS-1$
- "Navy", //$NON-NLS-1$
- "Olive", //$NON-NLS-1$
- "Orange", //$NON-NLS-1$
- "Purple", //$NON-NLS-1$
- "Red", //$NON-NLS-1$
- "Silver", //$NON-NLS-1$
- "Teal", //$NON-NLS-1$
- "White", //$NON-NLS-1$
- "Yellow" //$NON-NLS-1$
- };
- static final String[] COLOR_MENU_LABELS = 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_MENU_LABELS[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 c969a159c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/adapters/internal/BodyInfo.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.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 hard coded as singleton 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 ca0be3f5f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/DesignerCommand.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.SimpleGraphicalEditor;
-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.HTMLGraphicalViewer;
-import org.eclipse.jst.pagedesigner.viewer.IHTMLGraphicalViewer;
-import org.eclipse.ui.IEditorPart;
-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());
- }
- //Bug 332479 - [WPE] Design page processing still takes place even when design page is hidden
- if (!htmlEditorIsInSourceOnlyMode()) {
- 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.
-
- //Bug 332479 - [WPE] Design page processing still takes place even when design page is hidden
- if (!htmlEditorIsInSourceOnlyMode()) {
- 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);
- }
-
- //Bug 332479 - [WPE] Design page processing still takes place even when design page is hidden
- if (!htmlEditorIsInSourceOnlyMode()) {
- 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;
- }
-
- /**
- * Returns true if HTMLEditor is in source-only mode.
- * @return <code>true</code> if HTMLEditor is in source-only mode, else <code>false</code>.
- */
- protected boolean htmlEditorIsInSourceOnlyMode() {
- boolean ret = false;
- if (_viewer instanceof HTMLGraphicalViewer) {
- IEditorPart parent = ((HTMLGraphicalViewer)_viewer).getParent();
- if (parent instanceof SimpleGraphicalEditor) {
- HTMLEditor htmlEditor = ((SimpleGraphicalEditor)parent).getHTMLEditor();
- if (htmlEditor != null) {
- ret = (htmlEditor.getDesignerMode() == HTMLEditor.MODE_SOURCE);
- }
- }
- }
- return ret;
- }
-
-}
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 178aba7f0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/AddSubNodeCommand.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.commands.single;
-
-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;
-
-/**
- * @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 nodeName = null;
- if (ITLDConstants.URI_HTML.equals(_url)) {
- nodeName = _tagName;
- } else {
- String prefix = JSPUtil.getOrCreatePrefix(_parent.getModel(), _url, null);
- nodeName = prefix + ":" + _tagName; //$NON-NLS-1$
- }
-
- _child = (IDOMElement) _parent.getOwnerDocument().createElement(nodeName);
-
- if (_child == null) {
- return;
- }
-
- 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 f518f4066..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/commands/single/ChangeStyleCommand.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.commands.single;
-
-import java.util.Map;
-
-import org.eclipse.jst.pagedesigner.commands.CommandResources;
-import org.eclipse.jst.pagedesigner.dom.DOMStyleUtil;
-import org.eclipse.jst.pagedesigner.properties.celleditors.CSSStyleDeclarationFactory;
-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;
-
- private String _styleAttrName;
-
- /**
- * @param node
- * @param map
- */
- public ChangeStyleCommand(IDOMElement node, Map map) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _styleProperties = map;
- _styleAttrName = "style"; //$NON-NLS-1$
- }
-
- /**
- * @param node
- * @param styleAttrName
- * @param map
- */
- public ChangeStyleCommand(IDOMElement node, String styleAttrName, Map map) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _styleProperties = map;
- _styleAttrName = styleAttrName;
- }
-
- /**
- * @param node
- * @param context
- * @deprecated
- */
- public ChangeStyleCommand(IDOMElement node, CSSPropertyContext context) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _context = context;
- _styleAttrName = "style"; //$NON-NLS-1$
- }
-
- /**
- * @param node
- * @param styleAttrName
- * @param context
- */
- public ChangeStyleCommand(IDOMElement node, String styleAttrName, CSSPropertyContext context) {
- super(CommandResources
- .getString("ChangeStyleCommand.Label.ChangeStyle"), node); //$NON-NLS-1$
- _context = context;
- _styleAttrName = styleAttrName;
- }
-
- /*
- * (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, _styleAttrName, _styleProperties);
- } else if (_context != null) {
- ICSSStyleDeclaration styleDeclaration = CSSStyleDeclarationFactory.getInstance().getStyleDeclaration(getOriginalElement(), _styleAttrName);
-
- if (styleDeclaration == null) {
- getOriginalElement().setAttribute(_styleAttrName,
- ""); //$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 6fd287515..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/AbstractTagConverter.java
+++ /dev/null
@@ -1,500 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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 {
- //Bug 319317 - Third-party plug-in providing javax.servlet.jsp.el version 2.1 or greater breaks WPE preview
- Map options = new HashMap();
- options.put("ELEMENT", _hostElement); //$NON-NLS-1$
- return (String) PageExpressionContext.getCurrent()
- .evaluateExpression(value, String.class, options);
- } 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 7f4dd8b7f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterUtil.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.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) {
- String hostElementString = hostElement.toString();
- if (hostElementString != null && hostElementString.startsWith("/")) { //$NON-NLS-1$
- return false;
- }
- 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 8248c3100..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/jsp/JSPConverterFactory.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.converter.jsp;
-
-import org.eclipse.core.resources.IFile;
-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((IFile)wsResolver.getResource(),"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 32dea97ca..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/CSSTempUtil.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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) {
- 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 da72dd26c..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dnd/internal/DesignerSourceDropTargetListener.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.dnd.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-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.jst.pagedesigner.editors.palette.ITagDropSourceData;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.dnd.DND;
-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.part.ResourceTransfer;
-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(), ResourceTransfer.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) ||
- ResourceTransfer.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) ||
- ResourceTransfer.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) {
- command.execute();
- }
-
- // For a resource transfer, we don't want the source drag listener
- // to do cleanup and actually remove the source file. See the
- // Javadoc note in the Navigator view's CommonDropAdapterAssistant
- // handleDrop() method.
- if (event != null) {
- if (event.detail != DND.DROP_NONE) {
- event.detail = DND.DROP_COPY;
- }
- }
- }
-
- 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;
- } else if (ResourceTransfer.getInstance().isSupportedType(event.currentDataType)) {
- Object data = event.data;
- PaletteDropInsertCommand command = null;
- if (data instanceof IResource[]) {
- IResource[] resources = (IResource[]) data;
- if (resources.length > 0 && (resources[0] instanceof IFile)) {
- IFile file = (IFile) resources[0];
- ITagDropSourceData dropSource = (ITagDropSourceData) file
- .getAdapter(ITagDropSourceData.class);
- if (dropSource != null) {
- command = new PaletteDropInsertCommand(
- PageDesignerResources
- .getInstance()
- .getString(
- "DesignerSourceDropTargetListener.InserCommandLabel"), //$NON-NLS-1$
- _textEditor, dropSource, _location);
- }
- }
- }
- 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 d729bb1a1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/DOMStyleUtil.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.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 {
-
- private static final String STYLE_ATTR = "style"; //$NON-NLS-1$
- /**
- * @param original
- * @param cssProperty
- * @return the inline style property
- */
- public static String getInlineStyleProperty(Element original,
- String cssProperty) {
- return getInlineStyleProperty(original, STYLE_ATTR, cssProperty);
- }
-
- /**
- * @param original
- * @param styleAttributeName
- * @param cssProperty
- * @return the inline style property
- */
- public static String getInlineStyleProperty(Element original, String styleAttributeName,
- String cssProperty) {
- if (original instanceof ElementCSSInlineStyle) {
- CSSStyleDeclaration styledecl = ((ElementCSSInlineStyle) original)
- .getStyle();
- if (styledecl == null) {
- if (original.getAttribute(styleAttributeName) == null) {
- 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(styleAttributeName);
- 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 - style attribute
- *
- * @param original
- * @param map
- */
- public static void insertStyle(Element original, Map map) {
- insertStyle(original, STYLE_ATTR, map);
- }
-
- /**
- * insert style into element
- *
- * @param original
- * @param styleAttrName
- * @param map
- */
- public static void insertStyle(Element original, String styleAttrName, Map map) {
- if (original instanceof ElementCSSInlineStyle) {
- CSSStyleDeclaration styledecl = ((ElementCSSInlineStyle) original)
- .getStyle();
- if (styledecl == null) {
- if (original.getAttribute(styleAttrName) == null) {
- original.setAttribute(styleAttrName, ""); //$NON-NLS-1$
- 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(styleAttrName);
- 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(styleAttrName, buffer.toString());
- }
- /**
- * @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_ATTR) != null) {
- 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 149bc7190..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("DOMUtil.ExceptionWhileCloningNode", 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("DOMUtil.ExceptionWhileCloningNode", 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("DOMUtil.ExceptionWhileCloningNode", 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 72f763af4..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 in front of next non-blank and non-transparent
- * char. The caller should ensure position's container node is not
- * transparent 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 position 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 acbc7a7f5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dom/EditModelQuery.java
+++ /dev/null
@@ -1,1816 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.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();
-
- 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 d18b9e6c5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/DefaultDTInfoFactory.java
+++ /dev/null
@@ -1,125 +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.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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.contentmodel.CMDocType;
-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(final Element element) {
- IDTInfo dtInfo = null;
- final String nsURI = getURI(element);
- if (nsURI != null) {
- final IFile file = getFile(element);
- if (file != null) {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- if (query != null) {
- final Trait trait = query.getQueryHelper().getTrait(nsURI, element.getLocalName(), DTINFO_TRAIT_KEY);
- if (trait != null) {
- final DTInfo dtInfoModelObject = (DTInfo)trait.getValue();
- if (dtInfoModelObject != null) {
- dtInfo = new DefaultDTInfo(dtInfoModelObject, trait);
- }
- }
- }
- }
- }
- return dtInfo;
- }
-
-
- private String getURI(Element element) {
- String uri = CMUtil.getElementNamespaceURI(element);
-
- // give the content model priority
- if (uri == null)
- {
- uri = element.getNamespaceURI();
- }
-
- if (uri == null) //may occur when taglib not setup correctly or incomplete tag elements
- return null;
- if (uri.equals("jsp")) //$NON-NLS-1$
- uri = CMDocType.JSP11_DOC_TYPE;
- if (uri.equals("html")) //$NON-NLS-1$
- uri = CMDocType.HTML_DOC_TYPE;
- return uri;
- }
-
-
- /**
- * 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(final Element element) {
- IProject project = null;
- if (element instanceof IDOMNode) {
- final IDOMModel model = ((IDOMNode)element).getModel();
- if (model != null) {
- project = StructuredModelUtil.getProjectFor(model);
- }
- }
- return project;
- }
-
- /**
- * Gets the IFile of the specified
- * Element.
- *
- * @param element Element instance.
- * @return IFile instance that contains the specified
- * Element.
- */
- protected IFile getFile(final Element element) {
- IFile file = null;
- if (element instanceof IDOMNode) {
- final IDOMModel model = ((IDOMNode)element).getModel();
- if (model != null) {
- file = StructuredModelUtil.getFileFor(model);
- }
- }
- return file;
- }
-}
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 5e171d1df..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/AttributeValueResolverRegistryReader.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.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 CompareOrgEclipseJstContributorsLastComparator<IAttributeValueResolver>()
- );
- }
-
- /**
- * @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 2316f4eff..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterContext.java
+++ /dev/null
@@ -1,99 +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.converter.IConverterFactory;
-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);
- }
- }
-
- /**
- * Utility method to get the current converter mode. Values are
- * defined in <code>IConverterFactory</code>.
- *
- * <br>This method is available on the DTTagConverter but was not
- * part of the ITagConverter and not available as a public API.
- * The addition of this method allows an ITransformOperation for
- * a DTTagConverter to get at the mode.
- * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=252861
- *
- * @return the converter mode. If unable to get the mode, return -1.
- */
- public int getMode() {
- if (tagConverter != null) {
- return ((DTTagConverter) tagConverter).getMode();
- }
-
- return IConverterFactory.MODE_DESIGNER;
- }
-}
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 9bd39d415..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/internal/DTTagConverterDecorator.java
+++ /dev/null
@@ -1,469 +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 java.util.HashMap;
-import java.util.Map;
-
-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
- {
- //Bug 319317 - Third-party plug-in providing javax.servlet.jsp.el version 2.1 or greater breaks WPE preview
- Map options = new HashMap();
- options.put("ELEMENT", srcElement); //$NON-NLS-1$
- newTextNodeValue = (String) PageExpressionContext
- .getCurrent().evaluateExpression(
- textNodeValue, String.class, options);
- }
- 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)
- {
- //Bug 319317 - Third-party plug-in providing javax.servlet.jsp.el version 2.1 or greater breaks WPE preview
- Map options = new HashMap();
- options.put("ELEMENT", originalElement); //$NON-NLS-1$
- return (String) current
- .evaluateExpression(oldAttributeValue, String.class, options);
- }
- } 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/CheckModeOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CheckModeOperation.java
deleted file mode 100644
index 554bab794..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CheckModeOperation.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010 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 and/or initial documentation
-*******************************************************************************/
-package org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jst.pagedesigner.converter.IConverterFactory;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.internal.DTTagConverterContext;
-import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation;
-import org.w3c.dom.Element;
-
-
-/**
- * Transform operation that executes child ITransformOperation
- * instances if the view mode matches the argument (parameter) provided.
- *
- * <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.
- */
-public class CheckModeOperation extends AbstractTransformOperation {
-
- /**
- * Constant indicating the current render mode is design
- */
- public static final String MODE_DESIGN = "design"; //$NON-NLS-1$
- /**
- * Constant indicating the current render mode is preview
- */
- public static final String MODE_PREVIEW = "preview"; //$NON-NLS-1$
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.ITransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- @Override
- public Element transform(Element srcElement, Element curElement) {
- if (getParameters().length < 1) {
- getLog().error("Warning.TransformOperationFactory.TooFewParameters", //$NON-NLS-1$
- getTransformOperationID());
- return null;
- }
-
- String modeParam = getParameters()[0];
- Assert.isNotNull(modeParam);
-
- int currentMode = getMode();
- if ((MODE_DESIGN.equals(modeParam) && currentMode == IConverterFactory.MODE_DESIGNER)
- || (MODE_PREVIEW.equals(modeParam) && currentMode == IConverterFactory.MODE_PREVIEW)) {
- return executeChildOperations(srcElement, curElement);
- }
-
- // if we haven't transformed the element at all, and this is
- // just the initial transform, return null
- if (srcElement == curElement) {
- return null;
- }
-
- // otherwise, return the currently transformed element
- return curElement;
- }
-
- /**
- * @return the converter mode. If unable to get the mode, return -1.
- */
- protected int getMode() {
- if (tagConverterContext != null
- && tagConverterContext instanceof DTTagConverterContext) {
- return ((DTTagConverterContext) tagConverterContext).getMode();
- }
-
- return -1;
- }
-}
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 31ea3643f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/CreateAttributeFromXPathOperation.java
+++ /dev/null
@@ -1,124 +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 java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.namespace.NamespaceContext;
-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 static final String DEFAULT_PREFIX = "prefix"; //$NON-NLS-1$
-
- private String attributeName;
- private String xPathExpression;
- private String nsURI;
- private String prefixedTokens;
-
- /*
- * (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 (getParameters().length > 3) {
- nsURI = getParameters()[2];
- Assert.isNotNull(nsURI);
- prefixedTokens = getParameters()[3];
- Assert.isNotNull(prefixedTokens);
- }
-
- if (srcElement != null) {
- XPath xPath = XPathFactory.newInstance().newXPath();
- try {
- Object resultObject = xPath.evaluate(xPathExpression, srcElement, XPathConstants.STRING);
- if (resultObject instanceof String && curElement != null) {
- if (((String)resultObject).equals("0")) { //$NON-NLS-1$
- if (nsURI != null && prefixedTokens != null) {
- xPath.setNamespaceContext(new NSContext(nsURI, DEFAULT_PREFIX));
- resultObject = xPath.evaluate(getPrefixedExpression(DEFAULT_PREFIX), srcElement, XPathConstants.STRING);
- }
- }
- curElement.setAttribute(attributeName, (String)resultObject);
- }
- } catch(XPathExpressionException xee) {
- //could not evaluate - return curElement
- }
- }
- return curElement;
- }
-
- private String getPrefixedExpression(String prefix) {
- String prefixedExpression = xPathExpression;
- final List<String> tokens = new ArrayList<String>();
- final StringTokenizer tokenizer = new StringTokenizer(prefixedTokens, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- tokens.add(tokenizer.nextToken());
- }
- for (String token: tokens) {
- prefixedExpression = prefixedExpression.replace(token, prefix + ":" + token); //$NON-NLS-1$
- }
- return prefixedExpression;
- }
-
-
-
- class NSContext implements NamespaceContext {
-
- private String _namespaceURI;
- private String _prefix;
-
- public NSContext(String namespaceURI, String prefix) {
- _namespaceURI = namespaceURI;
- _prefix = prefix;
- }
-
- public String getNamespaceURI(String prefix) {
- return _namespaceURI;
- }
-
- public String getPrefix(String namespaceURI) {
- return _prefix;
- }
-
- public Iterator getPrefixes(String namespaceURI) {
- return Arrays.asList(new String[]{_prefix}).iterator();
- }
-
- }
-
-}
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 530fa2402..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/dtmanager/converter/operations/internal/IterateOverElementsOperation.java
+++ /dev/null
@@ -1,137 +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 java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.namespace.NamespaceContext;
-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 static final String DEFAULT_PREFIX = "prefix"; //$NON-NLS-1$
-
- private String xPathExpression;
- private String nsURI;
- private String prefixedTokens;
-
- /*
- * (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 (getParameters().length > 2) {
- nsURI = getParameters()[1];
- Assert.isNotNull(nsURI);
- prefixedTokens = getParameters()[2];
- Assert.isNotNull(prefixedTokens);
- }
-
- 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;
- if (nodes.getLength() < 1) {
- if (nsURI != null && prefixedTokens != null) {
- xPath.setNamespaceContext(new NSContext(nsURI, DEFAULT_PREFIX));
- resultObject = xPath.evaluate(getPrefixedExpression(DEFAULT_PREFIX), srcElement, XPathConstants.NODESET);
- if (resultObject instanceof 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;
- }
-
- private String getPrefixedExpression(String prefix) {
- String prefixedExpression = xPathExpression;
- final List<String> tokens = new ArrayList<String>();
- final StringTokenizer tokenizer = new StringTokenizer(prefixedTokens, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- tokens.add(tokenizer.nextToken());
- }
- for (String token: tokens) {
- prefixedExpression = prefixedExpression.replace(token, prefix + ":" + token); //$NON-NLS-1$
- }
- return prefixedExpression;
- }
-
-
-
- class NSContext implements NamespaceContext {
-
- private String _namespaceURI;
- private String _prefix;
-
- public NSContext(String namespaceURI, String prefix) {
- _namespaceURI = namespaceURI;
- _prefix = prefix;
- }
-
- public String getNamespaceURI(String prefix) {
- return _namespaceURI;
- }
-
- public String getPrefix(String namespaceURI) {
- return _prefix;
- }
-
- public Iterator getPrefixes(String namespaceURI) {
- return Arrays.asList(new String[]{_prefix}).iterator();
- }
-
- }
-
-}
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 369fd4eea..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/DesignerStructuredTextEditorJSP.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.editors;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jst.pagedesigner.dnd.internal.DesignerSourceDropTargetListener;
-import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditorDropTargetListener;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelStateListener;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-/**
- * @author mengbo
- */
-public class DesignerStructuredTextEditorJSP extends StructuredTextEditor
-{
- private ITextEditorDropTargetListener _dropTargetListener;
- private DropTarget _dropTarget;
- private IStructuredModel _structuredModel;
- private IModelStateListener _modelStateListener;
-
- @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);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.wst.sse.ui.StructuredTextEditor#doSetInput(org.eclipse.ui.IEditorInput)
- */
- @Override
- protected void doSetInput(IEditorInput input) throws CoreException {
- super.doSetInput(input);
- addModelStateListener();
- }
-
- @Override
- public void dispose()
- {
- if (_dropTargetListener != null)
- {
- _dropTargetListener = null;
- }
- if (_dropTarget != null)
- {
- _dropTarget.dispose();
- _dropTarget = null;
- }
- removeModelStateListener();
- if (_structuredModel != null) {
- _structuredModel.releaseFromRead();
- _structuredModel = null;
- }
- super.dispose();
- }
-
- private IStructuredModel getStructuredModel() {
- IStructuredModel model = null;
- if (_structuredModel != null) {
- model = _structuredModel;
- } else {
- IDocumentProvider provider = getDocumentProvider();
- if (provider != null) {
- IDocument document = provider.getDocument(getEditorInput());
- _structuredModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
- model = _structuredModel;
- }
- }
- return model;
- }
-
- private void addModelStateListener() {
- IStructuredModel model = getStructuredModel();
- if (model != null) {
- if (_modelStateListener == null) {
- _modelStateListener = new ModelStateListener();
- } else {
- model.removeModelStateListener(_modelStateListener);
- }
- model.addModelStateListener(_modelStateListener);
- }
- }
-
- private void removeModelStateListener() {
- IStructuredModel model = getStructuredModel();
- if (model != null) {
- if (_modelStateListener != null) {
- model.removeModelStateListener(_modelStateListener);
- _modelStateListener = null;
- }
- }
- }
-
- private class ModelStateListener implements IModelStateListener {
-
- public void modelAboutToBeChanged(IStructuredModel model) {
- //do nothing
- }
-
- public void modelChanged(IStructuredModel model) {
- //do nothing
- }
-
- public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) {
- //Bug 330412 - [WPE] Drag 'n' Drop of tag from palette doesn't notify team system of edit
- //Bug 330413 - [WPE] Modifying tag attribute using property sheet doesn't notify team system of edit
- if (isDirty) {
- IFile file = StructuredModelUtil.getFileFor(model);
- if (file != null) {
- file.getWorkspace().validateEdit(new IFile[]{file}, null);
- }
- }
- }
-
- 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
- }
- }
-
-}
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 56306c8df..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/HTMLEditor.java
+++ /dev/null
@@ -1,1220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.ISelection;
-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.actions.DesignPageActionContributor;
-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.texteditor.IDocumentProvider;
-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.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-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;
-
- private DesignPageActionContributor _designPageActionContributor;
-
- // 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) {
- IStructuredModel model = getModel();
- Object obj = ((IDOMModel)model).getDocument().getAdapterFor(
- IDocumentPageVariableAdapter.class);
- model.releaseFromEdit();
- 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) {
- IDocumentProvider documentProvider = _textEditor.getDocumentProvider();
- if (documentProvider != null) {
- IDocument document = documentProvider.getDocument(_textEditor.getEditorInput());
- if (document instanceof IStructuredDocument) {
- IModelManager modelManager = StructuredModelManager.getModelManager();
- if (modelManager != null) {
- model = modelManager.getExistingModelForEdit(document);
- if (model == null) {
- model = modelManager.getModelForEdit((IStructuredDocument)document);
- }
- }
- }
- }
- }
- 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 {
- //Bug 350990 - Web Page Editor intolerably slow
- if (_mode == MODE_SOURCE) {
- _designViewer.setModel(getModel());
- }
- DocumentEditPart part = (DocumentEditPart) this._designViewer
- .getGraphicViewer().getContents();
- PreviewHandlerNew.generatePreview(part, result);
- //Bug 350990 - Web Page Editor intolerably slow
- if (_mode == MODE_SOURCE) {
- _designViewer.setModel(null);
- }
- } catch (Exception ex) {
- result = new StringBuffer();
- IStructuredModel model = getModel();
- result.append(model.getStructuredDocument().getText());
- model.releaseFromEdit();
- // Error in page changing
- _log.info("Error.HTMLEditor.6", ex); //$NON-NLS-1$
- }
- 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) {
- boolean modeWasSourceOnly = (_mode == MODE_SOURCE);
- 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);
- //Bug 350990 - Web Page Editor intolerably slow
- _designViewer.setModel(null);
- if (_designPageActionContributor != null) {
- _designPageActionContributor.disableRangeModeActions();
- }
- break;
- case MODE_SASH_VERTICAL:
- default:
- _sashEditorPart.setOrientation(SWT.VERTICAL);
- }
- if (getEditorInput() != null) {
- EditorUtil.setEditorInputDesignModeProperty(getEditorInput(), String.valueOf(mode));
- }
- }
- this._mode = mode;
- if (modeWasSourceOnly) {
- //Bug 350990 - Web Page Editor intolerably slow
- _designViewer.setModel(getModel());
- resynch();
- }
- }
-
- /**
- * Sets the current DesignPageActionContributor instance.
- * @param designPageActionContributor Current DesignPageActionContributor instance.
- */
- public void setDesignPageActionContributor(
- final DesignPageActionContributor designPageActionContributor) {
- _designPageActionContributor = designPageActionContributor;
- }
-
- /*
- * 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;
- }
-
- private void resynch() {
- if (_textEditor != null && _designViewer != null) {
- ISelectionProvider provider = _textEditor.getSelectionProvider();
- if (provider != null) {
- ISelection selection = provider.getSelection();
- if (selection instanceof TextSelection) {
- TextSelection textSelection = (TextSelection)selection;
- SelectionSynchronizer synchronizer = _designViewer.getSynchronizer();
- if (synchronizer != null) {
- synchronizer.textSelectionChanged(
- textSelection.getOffset(),
- textSelection.getOffset() + textSelection.getLength());
- }
- }
- }
- }
- }
-
- 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 b1bcf8b60..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SelectionSynchronizer.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.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) {
- //Bug 332479 - [WPE] Design page processing still takes place even when design page is hidden
- if (!htmlEditorIsInSourceOnlyMode()) {
- 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;
- }
- }
- }
- }
-
- /**
- * Returns true if HTMLEditor is in source-only mode.
- * @return <code>true</code> if HTMLEditor is in source-only mode, else <code>false</code>.
- */
- protected boolean htmlEditorIsInSourceOnlyMode() {
- boolean ret = false;
- if (_editor != null) {
- HTMLEditor htmlEditor = _editor.getHTMLEditor();
- if (htmlEditor != null) {
- ret = (htmlEditor.getDesignerMode() == HTMLEditor.MODE_SOURCE);
- }
- }
- return ret;
- }
-
-}
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 a0130945d..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/SimpleGraphicalEditor.java
+++ /dev/null
@@ -1,912 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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);
- _model.releaseFromEdit();
- }
-
- _paletteViewerPage = null;
- _palette = null;
- _model = null;
- _viewer = null;
-
- 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;
- }
-
- /**
- * Returns <code>true</code> if the current model is valid.
- * @return <code>true</code> if the current model is valid, else <code>false</code>.
- */
- public boolean isModelValid() {
- return _model != null;
- }
-
- /*
- * (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);
- _model.releaseFromEdit();
- }
-
- 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 2f595287f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/DesignPageActionContributor.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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;
-
- private DesignerToolBarAction uAction = null;
- private DesignerToolBarAction bAction = null;
- private DesignerToolBarAction iAction = null;
- private DesignerToolBarAction smallAction = null;
- private DesignerToolBarAction bigAction = null;
-
- /**
- * @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();
-
- uAction = factory.getStyleAction(IHTMLConstants.TAG_U);
- toolbar.add(uAction);
-
- bAction = factory.getStyleAction(IHTMLConstants.TAG_B);
- toolbar.add(bAction);
-
- iAction = factory.getStyleAction(IHTMLConstants.TAG_I);
- toolbar.add(iAction);
-
- smallAction = factory.getStyleAction(IHTMLConstants.TAG_SMALL);
- toolbar.add(smallAction);
-
- bigAction = factory.getStyleAction(IHTMLConstants.TAG_BIG);
- toolbar.add(bigAction);
- // 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) {
- final IContributionItem[] items = getActionBars().getToolBarManager().getItems();
- if (items != null) {
- for (int i = 0; i < items.length; i++) {
- final IContributionItem item = items[i];
- if (item instanceof ActionContributionItem) {
- final IAction action = ((ActionContributionItem) item).getAction();
- if (action instanceof DesignerToolBarAction) {
- ((DesignerToolBarAction) action).setViewer(viewer);
- }
- }
- }
- }
- //under e4, contributions are not as expected, so we need to take extra steps
- uAction.setViewer(viewer);
- bAction.setViewer(viewer);
- iAction.setViewer(viewer);
- smallAction.setViewer(viewer);
- bigAction.setViewer(viewer);
- }
-
- /**
- * Disables actions that work on a range (which is not possible while the graphical viewer is
- * hidden).
- */
- public void disableRangeModeActions() {
- uAction.setEnabled(false);
- bAction.setEnabled(false);
- iAction.setEnabled(false);
- smallAction.setEnabled(false);
- bigAction.setEnabled(false);
- }
-
- /**
- * @see org.eclipse.ui.IEditorActionBarContributor#dispose()
- */
- public void dispose() {
- _editorPart = null;
- }
-}
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 3b272ecb0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/PageDesignerActionBarContributor2.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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;
- _htmlEditor.setDesignPageActionContributor(_designViewerActionBarContributor);
- //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 7d61076d9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/actions/SkinsMenuItemBuilder.java
+++ /dev/null
@@ -1,240 +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.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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;
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
-
- final Model model = query.findTagLibraryModel(nsURI);
- final Trait trait = query.findTrait(model, "display-label"); //$NON-NLS-1$
- this.name = TraitValueHelper.getValueAsString(trait);
- }
- public String getNSURI() {
- return nsURI;
- }
- public String getName() {
- if (name == null) {
- return nsURI;
- }
- 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 c19f8a162..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);
- if (this._manager != null) {
- 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 e8a87b407..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() != null) {
- ((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 2e9e79751..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/MetadataTagDropSourceData.java
+++ /dev/null
@@ -1,145 +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.internal.IMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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 IMetaDataModelContext metadataContext = CommandUtil
- .getMetadataModelContext(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 IMetaDataModelContext metaDataContext,
- final String id, final String tagName)
- {
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(metaDataContext);
- final Model model = query.findTagLibraryModel(metaDataContext.getModelIdentifier());
- if (model != null)
- {
- Trait trait = query.findTrait(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 = query.findTagEntity(model, tagName);
- if (tag != null)
- {// metadata exists
- trait = query.findTrait(tag,
- "tag-create"); //$NON-NLS-1$
- if (trait != null && trait.getValue() != null)
- {
- return (TagCreationInfo) trait.getValue();
- }
- }
- }
- return null;
- }
-
-} \ 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 274c6d283..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/TagImageManager.java
+++ /dev/null
@@ -1,214 +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.IFile;
-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.IMetaDataDomainContext;
-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.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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 file
- * @param nsUri
- * @param tagName
- * @return small image using metadata. May be null.
- */
- public Image getSmallIconImage(IFile file, String nsUri, String tagName) {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- return getImage(context, nsUri, tagName, true);
- }
-
- /**
- * 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.
- * @deprecated - use file rather than project
- */
- public Image getSmallIconImage(IProject project, String nsUri, String tagName) {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
- return getImage(context, nsUri, tagName, true);
- }
-
- /**
- * @param file
- * @param nsUri
- * @param tagName
- * @return large image using metadata. May be null.
- */
- public Image getLargeIconImage(IFile file, String nsUri, String tagName) {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- return getImage(context, nsUri, tagName, false);
- }
-
- /**
- * @param project
- * @param nsUri
- * @param tagName
- * @return large image using metadata. May be null.
- * @deprecated - use file rather than project
- */
- public Image getLargeIconImage(IProject project, String nsUri, String tagName) {
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
- return getImage(context, nsUri, tagName, false);
- }
-
- private Image getImage(final IMetaDataDomainContext context, final String nsUri, final String tagName, boolean getSmallImage) {
- Image image = null;
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- Model model = getModel(query, nsUri);
- if (model != null){
- ImageDescriptor imgDesc = getIconImageDescriptor(query, model, tagName, getSmallImage);
- 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(ITaglibDomainMetaDataQuery query, String nsUri) {
- return query.findTagLibraryModel(nsUri);
- }
-
-
- private ImageDescriptor getIconImageDescriptor(ITaglibDomainMetaDataQuery query, Model model, String tagName, boolean small) {
- ImageDescriptor icon = null;
-
- //use palette infos if available
- Trait trait = query.findTrait(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(query, tagAsEntity, TRAIT_ICON_SMALL, DEFAULT_SMALL_ICON);
- else
- icon = getImageDescriptorFromTagTraitValueAsString(query, 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(ITaglibDomainMetaDataQuery query, Entity entity, String key, ImageDescriptor defaultValue){
- Trait t = query.findTrait(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 fe47d518a..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteHelper.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.IMetaDataDomainContext;
-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.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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 IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(manager.getTagRegistryIdentifier().getProject());
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- final Model model = query.findTagLibraryModel(tldURI);
-// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
-// .createMetaDataModelContext(manager.getTagRegistryIdentifier().getProject(), tldURI);
-// final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- category = createTaglibPaletteDrawer(manager, doc, model, query);
-
- if (category != null) {
- loadTags(category, doc, model, query);
- 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, final ITaglibDomainMetaDataQuery query) {
-
- if (model != null) {// load from metadata - should always drop in here
- final Trait trait = query.findTrait(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, query);
- }
- }
- } 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, ITaglibDomainMetaDataQuery query) {
-
- TaglibPaletteDrawer category = null;
- if (model != null) {
- // do we create it?
- final boolean isHidden = getBooleanTagTraitValue(query, model, "hidden", false); //$NON-NLS-1$
- if (isHidden) {
- return null;
- }
-
- String label = getStringTagTraitValue(query, 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(query, model,
- "description", model.getId()); //$NON-NLS-1$
- category.setDescription(formatDescription(desc));
-
- final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(query,
- model, "small-icon", null); //$NON-NLS-1$
- if (largeIconImage != null)
- category.setLargeIcon(largeIconImage);
-
- final String prefix = getStringTagTraitValue(query, model,
- "default-prefix", null); //$NON-NLS-1$
- category.setDefaultPrefix(prefix);
-
- final boolean isVisible = !(getBooleanTagTraitValue(query, 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 ITaglibDomainMetaDataQuery query) {
-
- final boolean hidden = getBooleanTagTraitValue(query, entity, "hidden", false); //$NON-NLS-1$
- if (hidden)// do not create a palette entry
- return;
-
- final String tagName = entity.getId();
- final String label = getStringTagTraitValue(query, entity, "display-label", tagName); //$NON-NLS-1$
- final String desc = formatDescription(getStringTagTraitValue(query, entity,
- "description", tagName)); //$NON-NLS-1$
- final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(query,
- entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$
- final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(query,
- entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$
- final boolean expert = getBooleanTagTraitValue(query, 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 ITaglibDomainMetaDataQuery query) {
-
- final boolean hidden = getBooleanTagTraitValue(query, entity, "hidden", false); //$NON-NLS-1$
- if (hidden)// do not create a palette entry
- return;
-
- final String tagName = entity.getId();
- final String label = getStringTagTraitValue(query, entity, "display-label", tagName); //$NON-NLS-1$
- final String desc = formatDescription(getStringTagTraitValue(query, entity,
- "description", tagName)); //$NON-NLS-1$
- final ImageDescriptor smallIcon = getImageDescriptorFromTagTraitValueAsString(query,
- entity, "small-icon", DEFAULT_SMALL_ICON); //$NON-NLS-1$
- final ImageDescriptor largeIcon = getImageDescriptorFromTagTraitValueAsString(query,
- entity, "large-icon", DEFAULT_LARGE_ICON); //$NON-NLS-1$
- final boolean expert = getBooleanTagTraitValue(query, 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 ITaglibDomainMetaDataQuery query, final Entity entity, final String key,
- final boolean defaultValue) {
- final Trait trait = query.findTrait(entity, key);
- if (trait != null) {
- return TraitValueHelper.getValueAsBoolean(trait);
- }
- return defaultValue;
- }
-
- private String getStringTagTraitValue(final ITaglibDomainMetaDataQuery query, final Entity entity, final String key,
- final String defaultValue) {
-
- final Trait trait = query.findTrait(entity, key);
- if (trait != null) {
- final String val = TraitValueHelper.getValueAsString(trait);
- if (val != null)
- return val;
- }
- return defaultValue;
- }
-
- private ImageDescriptor getImageDescriptorFromTagTraitValueAsString(final ITaglibDomainMetaDataQuery query,
- final Entity entity, final String key, final ImageDescriptor defaultValue) {
- final Trait t = query.findTrait(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 IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- final Model model = query.findTagLibraryModel(ns.getNSUri());
-// final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
-// .createMetaDataModelContext(project, ns.getNSUri());
-// final Model model = TaglibDomainMetaDataQueryHelper.getModel(modelContext);
- category = createTaglibPaletteDrawer(manager, ns, model, query);
-
- if (category != null) {
- loadTags(category, ns, model, query);
- sortTags(category.getChildren());
- }
- return category;
- }
-
- private TaglibPaletteDrawer createTaglibPaletteDrawer(
- final IPaletteItemManager manager, final Namespace ns, final Model model, final ITaglibDomainMetaDataQuery query) {
-
- TaglibPaletteDrawer category = null;
- if (model != null) {
- // do we create it?
- final boolean isHidden = getBooleanTagTraitValue(query, model, "hidden", false); //$NON-NLS-1$
- if (isHidden) {
- return null;
- }
-
- String label = getStringTagTraitValue(query, 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(query, model,
- "description", model.getId()); //$NON-NLS-1$
- category.setDescription(formatDescription(desc));
-
- final ImageDescriptor largeIconImage = getImageDescriptorFromTagTraitValueAsString(query,
- model, "small-icon", null); //$NON-NLS-1$
- if (largeIconImage != null)
- category.setLargeIcon(largeIconImage);
-
- final String prefix = getStringTagTraitValue(query, model,
- "default-prefix", null); //$NON-NLS-1$
- category.setDefaultPrefix(prefix);
-
- final boolean isVisible = !(getBooleanTagTraitValue(query, 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, final ITaglibDomainMetaDataQuery query) {
-
- if (model != null) {// load from metadata - should always drop in here
- final Trait trait = query.findTrait(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, query);
- }
- }
- } 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 2eeaeeec7..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editors/palette/impl/PaletteItemManager.java
+++ /dev/null
@@ -1,567 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.IStatus;
-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);
- if (regId == null) {
- PDPlugin.log(new Status(IStatus.ERROR, PDPlugin.getPluginId(), "Unable to display palette for "+paletteContext.getFile().getName()+". Unknown content type for file.")); //$NON-NLS-1$//$NON-NLS-2$
- return null;
- }
- 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();
- }
-
- /**
- * Sort palette categories
- */
- protected 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/HeadItemCreationEditPolicy.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/HeadItemCreationEditPolicy.java
deleted file mode 100644
index a7de205e1..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/HeadItemCreationEditPolicy.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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 and/or initial documentation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.editpolicies;
-
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.DropRequest;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.CreateItemCommand;
-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.IDOMPosition;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationEditPolicy;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-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.w3c.dom.Node;
-
-/**
- *
- */
-public class HeadItemCreationEditPolicy extends ItemCreationEditPolicy {
-
- /**
- * @param host
- */
- public HeadItemCreationEditPolicy(ElementEditPart host) {
- super();
- setHost(host);
- }
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getCommand(org.eclipse.gef.Request)
- */
- @Override
- 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;
- }
-
- // since the head tag is a widget, the offset will need
- // to be updated in the position so that new node is
- // appended to the list of children.
- Node node = domposition.getContainerNode();
- domposition = new DOMPosition(node, node.getChildNodes().getLength());
-
- return new CreateItemCommand(
- PDPlugin
- .getResourceString("ItemCreationEditPolicy.CommandLabel.CreateItem"),//$NON-NLS-1$
- getViewer(getHost()).getModel(), domposition, r.getTagCreationProvider());
- }
- return null;
- }
-
- @Override
- protected IPositionMediator createDropChildValidator(DropRequest r) {
- DropData dropData = createDropData(r);
-
- if (dropData != null) {
- MyDnDPositionValidator validator = new MyDnDPositionValidator(
- new DropActionData(ActionData.PALETTE_DND, dropData));
- return validator;
- }
- return null;
- }
-
- private static class MyDnDPositionValidator extends DnDPositionValidator {
-
- public MyDnDPositionValidator(DropActionData dropActionData) {
- super(dropActionData);
- }
-
- @Override
- public boolean isValidPosition(IDOMPosition position) {
- // if position is really a IDOMRefPosition, convert it to DOMPosition
- Node node = null;
- if (position instanceof DOMRefPosition) {
- node = ((DOMRefPosition) position).getReferenceNode();
- if (IHTMLConstants.TAG_HEAD.equalsIgnoreCase(node.getLocalName())) {
- return true;
- }
- } else {
- node = position.getContainerNode();
- if (IHTMLConstants.TAG_HEAD.equalsIgnoreCase(node.getLocalName())) {
- return true;
- }
- }
-
- return super.isValidPosition(position);
- }
- }
-}
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 2ddff0ccc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HTMLElementEditFactory.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.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 HTMLHEAD_TAG_IDENTIFIER =
- TagIdentifierFactory.createJSPTagWrapper(ITLDConstants.URI_HTML, IHTMLConstants.TAG_HEAD);
- 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();
- } else if (HTMLHEAD_TAG_IDENTIFIER.isSameTagType(tagIdentifier)) {
- return new HeadElementEdit();
- } else if (tagIdentifier != null) {
- // No need to check the URI, it was checked to get this factory.
- // Just check the tag name, ignoring case in the HTML tag names.
- // The HTML tag meta data uses upper case and the programming
- // constants are in lower case.
- if (IHTMLConstants.TAG_LINK.equalsIgnoreCase(tagIdentifier.getTagName())) {
- return new StylesheetLinkElementEdit();
- }
- }
- 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/HeadElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HeadElementEdit.java
deleted file mode 100644
index 4840bbb54..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/HeadElementEdit.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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 and/or initial documentation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.html;
-
-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.jst.pagedesigner.editors.PageDesignerActionConstants;
-import org.eclipse.jst.pagedesigner.editpolicies.HeadItemCreationEditPolicy;
-import org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit;
-import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationRequest;
-import org.eclipse.jst.pagedesigner.parts.ElementEditPart;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Element;
-
-/**
- * Simple ElementEdit implementation to support context menu insert
- * actions and drag and drop of tags into the HTML head tag.
- */
-public class HeadElementEdit extends AbstractElementEdit
-{
- private static final Action EMPTY_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.jst.pagedesigner.elementedit.AbstractElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager, org.w3c.dom.Element)
- */
- @Override
- public void fillContextMenu(IMenuManager contextMenu, Element ele) {
- super.fillContextMenu(contextMenu, ele);
-
- final IDOMElement element = (IDOMElement) ele;
- IContributionItem item = contextMenu.find(PageDesignerActionConstants.INSERT_SUBMENU_ID);
- if (item instanceof IMenuManager) {
- final IMenuManager submenu = (IMenuManager) item;
- submenu.add(EMPTY_ACTION);
- submenu.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager manager) {
- submenu.removeAll();
- addHeadAddItems(submenu, element);
- }
- });
- }
- }
-
- private void addHeadAddItems(IMenuManager submenu, IDOMElement element) {
- submenu.add(new InsertStylesheetLinkAction(element));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.elementedit.IElementEdit#createEditPolicies(org.eclipse.jst.pagedesigner.parts.ElementEditPart)
- */
- @Override
- public void createEditPolicies(ElementEditPart part) {
- part.installEditPolicy(ItemCreationRequest.REQ_ITEM_CREATION,
- new HeadItemCreationEditPolicy(part));
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/InsertStylesheetLinkAction.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/InsertStylesheetLinkAction.java
deleted file mode 100644
index a2c932674..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/InsertStylesheetLinkAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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 and/or initial documentation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.html;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.commands.single.AddSubNodeCommand;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-
-/**
- */
-public class InsertStylesheetLinkAction extends Action
-{
- private IDOMElement _parentElement;
-
- /**
- * @param parentElement
- */
- public InsertStylesheetLinkAction(IDOMElement parentElement) {
- setText(PDPlugin.getResourceString("HeadElementEdit.Submenu.InsertStylesheetLink"));//$NON-NLS-1$
- _parentElement = parentElement;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- // TODO: figure out how to get the default attributes from
- // the tag create metadata. Get a tag creation provider?
- Map attributes = new LinkedHashMap();
- attributes.put("href", ""); //$NON-NLS-1$//$NON-NLS-2$
- attributes.put("rel", "Stylesheet"); //$NON-NLS-1$//$NON-NLS-2$
- attributes.put("type", "text/css"); //$NON-NLS-1$//$NON-NLS-2$
- Command command = new AddSubNodeCommand(
- PDPlugin.getResourceString("ItemCreationEditPolicy.CommandLabel.CreateItem"),//$NON-NLS-1$
- _parentElement, IHTMLConstants.TAG_LINK, ITLDConstants.URI_HTML,
- attributes);
- command.execute();
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/StylesheetLinkElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/StylesheetLinkElementEdit.java
deleted file mode 100644
index d3e4ea5a5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/elementedit/html/StylesheetLinkElementEdit.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 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 and/or initial documentation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.elementedit.html;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit;
-import org.eclipse.jst.pagedesigner.validation.caret.IPositionMediator;
-import org.eclipse.jst.pagedesigner.viewer.DefaultDropLocationStrategy;
-import org.eclipse.jst.pagedesigner.viewer.DesignPosition;
-import org.eclipse.jst.pagedesigner.viewer.IDropLocationStrategy;
-import org.w3c.dom.Node;
-
-/**
- * Simple ElementEdit implementation to support drag and drop
- * of style sheet link tags into the HTML head tag.
- */
-public class StylesheetLinkElementEdit extends AbstractElementEdit
-{
- public IDropLocationStrategy getDropRequestorLocationStrategy(TagIdentifier tag, EditPartViewer viewer) {
- return new MyDropLocationStrategy(viewer);
- }
-
- private static class MyDropLocationStrategy extends DefaultDropLocationStrategy
- {
- /**
- * @param viewer
- */
- public MyDropLocationStrategy(EditPartViewer viewer) {
- super(viewer);
- }
-
- public DesignPosition calculateDesignPosition(EditPart host,
- Point p, IPositionMediator validator) {
- Node node = (Node) host.getModel();
- if (host != null && IHTMLConstants.TAG_HEAD.equalsIgnoreCase(node.getLocalName())) {
- return new DesignPosition(host, 0);
- }
- return super.calculateDesignPosition(host, p, validator);
- }
- }
-}
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 9be6bce04..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/FigureFactory.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.figurehandler;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-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((IFile)wsResolver.getResource(),"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 f3d8a953e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/figurehandler/ObjectFigureHandler.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.figurehandler;
-
-import org.eclipse.core.resources.IFile;
-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) {
- //FIXME - file/project should NOT be null!
- _image = TagImageManager.getInstance().getSmallIconImage((IFile)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 e0a91a358..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/CreationData.java
+++ /dev/null
@@ -1,316 +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.IMetaDataModelContext;
-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.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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 IMetaDataModelContext} for the tag creation
- */
- private final IMetaDataModelContext _modelContext;
- private final ITaglibDomainMetaDataModelContext _taglibMetaDataContext;
-
- // mutable because it may be changed from the original _domPosition
- private IDOMPosition _adjustedPosition;
-
- private ITaglibDomainMetaDataQuery _query;
-
- /**
- * @param creationProvider
- * @param model
- * @param domPosition
- * @param modelContext
- * @param customizationData
- */
- public CreationData(final ITagDropSourceData creationProvider,
- final IDOMModel model, final IDOMPosition domPosition,
- final IMetaDataModelContext modelContext,
- final IAdaptable customizationData)
- {
- super();
- this._creationProvider = creationProvider;
- this._modelContext = modelContext;
- this._taglibMetaDataContext = null;
- this._domPosition = domPosition;
- this._adjustedPosition = _domPosition;
- this._model = model;
- this._customizationData = customizationData;
- this._prefix = getPrefix(getUri(), model, getDefaultPrefix());
-
- }
-
- /**
- * @param creationProvider
- * @param model
- * @param domPosition
- * @param taglibMetaDataContext
- * @param customizationData
- * @deprecated - use the other constructor
- */
- 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._modelContext = null;
- 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;
- }
-
- private ITaglibDomainMetaDataQuery getQuery() {
- if (_query == null)
- _query = MetaDataQueryFactory.getInstance().createQuery(_modelContext);
-
- return _query;
- }
- /**
- * @return the {@link Entity} for this tag element being created
- */
- public Entity getTagEntity() {
- if (_tagEntity == null){
- if (_modelContext != null)
- _tagEntity = getQuery().getQueryHelper().getEntity(_modelContext.getModelIdentifier(), getTagName());
- else
- _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(_taglibMetaDataContext, getTagName());
-
- }
- return _tagEntity;
- }
-
- /**
- * @return flag indicating that html form container ancestor is required
- */
- public boolean isHTMLFormRequired() {
- Trait t = null;
- if (_modelContext != null)
- t = getQuery().getQueryHelper().getTrait(getTagEntity(), "requires-html-form"); //$NON-NLS-1$
- else
- 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 = null;
- Trait t = null;
- if (_modelContext != null) {
- model = getQuery().findTagLibraryModel(_modelContext.getModelIdentifier());
- t = getQuery().findTrait(model, "is-jsf-component-library"); //$NON-NLS-1$
- } else {
- model = TaglibDomainMetaDataQueryHelper.getModel(_taglibMetaDataContext);
- 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 IMetaDataModelContext getMetaDataContext() {
- return _modelContext;
- }
-
- /**
- * @return the (deprecated) metadata context for the tag
- * @deprecated - use {@link IMetaDataModelContext}
- */
- 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 42c365684..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 the graphical viewer
- */
- protected 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 af126ece0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/itemcreation/command/UserCustomizedElementCustomizationCommand.java
+++ /dev/null
@@ -1,202 +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.internal.IMetaDataModelContext;
-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.CommandUtil;
-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 IMetaDataModelContext modelContext = CommandUtil.getMetadataModelContext(child.getTagIdentifier().getUri(), _model);
-// 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/DefaultELValueResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/DefaultELValueResolver.java
deleted file mode 100644
index a5ea01236..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/DefaultELValueResolver.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import org.w3c.dom.Element;
-
-/**
- * Default implementation of IELValueResolver, used when no contributor-provided resolver has
- * managed to resolve the EL expression.
- *
- * @author ian.trimble@oracle.com
- */
-public class DefaultELValueResolver implements IELValueResolver {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.preview.IELValueResolver#resolve(org.w3c.dom.Element, java.lang.String)
- */
- public String resolve(Element element, String elExpression) {
- String ret = elExpression;
- if (elExpression != null) {
- List<VariablePropertyPair> possibleVars = getPossiblePageVariables(elExpression);
- for (VariablePropertyPair pageVar: possibleVars) {
- Object objPageVar = PageExpressionContext.getCurrent().getPageVariable(pageVar.getVariableName());
- if (objPageVar instanceof Properties) {
- String resolvedValue = ((Properties)objPageVar).getProperty(pageVar.getPropertyName());
- if (resolvedValue != null) {
- ret = resolvedValue;
- break;
- }
- }
- }
- }
- return ret;
- }
-
- private List<VariablePropertyPair> getPossiblePageVariables(String elExpression) {
- List<VariablePropertyPair> possibleVars = new ArrayList<VariablePropertyPair>();
- if (
- elExpression != null &&
- (elExpression.startsWith("#{") || elExpression.startsWith("${")) //$NON-NLS-1$ //$NON-NLS-2$
- && elExpression.endsWith("}")) { //$NON-NLS-1$
- String exp = elExpression.substring(2, elExpression.length() - 1);
- int dotPos = exp.indexOf('.');
- while (dotPos > -1 && dotPos < exp.length() - 1) {
- String var = exp.substring(0, dotPos);
- String prop = exp.substring(dotPos + 1);
- possibleVars.add(new VariablePropertyPair(var, prop));
- dotPos = exp.indexOf('.', dotPos + 1);
- }
- }
- return possibleVars;
- }
-
-
-
- class VariablePropertyPair {
- private String variableName;
- private String propertyName;
-
- /**
- * Create an instance.
- *
- * @param variableName Variable name.
- * @param propertyName Property name.
- */
- public VariablePropertyPair(String variableName, String propertyName) {
- this.variableName = variableName;
- this.propertyName = propertyName;
- }
-
- /**
- * Get variable name.
- * @return Variable name.
- */
- public String getVariableName() {
- return variableName;
- }
-
- /**
- * Get property name.
- * @return Property name.
- */
- public String getPropertyName() {
- return propertyName;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return "VariablePropertyPair[" + variableName + ", " + propertyName + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/IELValueResolver.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/IELValueResolver.java
deleted file mode 100644
index 812895cc5..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/IELValueResolver.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.jst.pagedesigner.preview;
-
-import org.w3c.dom.Element;
-
-/**
- * Implementors are capable of resolving an EL expression into a value.
- */
-public interface IELValueResolver {
-
- /**
- * Resolve specified EL expression into a value.
- * @param element Element instance that can provide the document that the EL expression comes
- * from, thus providing context.
- * @param elExpression EL expression to resolve.
- * @return Value resolved from EL expression - if not resolvable, it is recommended that
- * implementors return the EL expression itself, as there may be more than one registered
- * resolver, and all get an opportunity to resolve.
- */
- public String resolve(Element element, String elExpression);
-
-}
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 191f79d64..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/preview/PageExpressionContext.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
- * Oracle - move to pluggable EL resolving
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.preview;
-
-import java.io.BufferedInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.servlet.jsp.el.ELException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-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.jsf.common.ui.internal.utils.ResourceUtils;
-import org.eclipse.jst.jsf.core.internal.tld.LoadBundleUtil;
-import org.eclipse.jst.pagedesigner.IJMTConstants;
-import org.eclipse.jst.pagedesigner.PDPlugin;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IPageVariablesProvider;
-import org.eclipse.jst.pagedesigner.jsp.core.pagevar.IVariableInfo;
-import org.w3c.dom.Element;
-
-/**
- * This is a static class. But it has "session" concept in it. To make it static
- * is only to simplify its use.
- *
- * @author mengbo, ian.trimble@oracle.com
- */
-public class PageExpressionContext {
- private static final Logger _log = PDPlugin.getLogger(PageExpressionContext.class);
-
- static PageExpressionContext _current;
-
- List _pageVarProviders = new ArrayList();
-
- 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) {
- _log.info("PageExpressionContext.Info.0", ex); //$NON-NLS-1$
- }
- }
-
- /**
- * This method is for design time expression evaluation.
- *
- * @param expression
- * @param expectedClass
- * @param options Current Element is passed with a key of "ELEMENT"
- * @return the result of evaluating the expression
- * @throws ELException
- */
- public Object evaluateExpression(String expression, Class expectedClass, Map options)
- throws ELException {
- //Bug 319317 - Third-party plug-in providing javax.servlet.jsp.el version 2.1 or greater breaks WPE preview
- String ret = expression;
- if (options != null) {
- Object objElement = options.get("ELEMENT"); //$NON-NLS-1$
- if (objElement instanceof Element) {
- ret = ELValueResolver.resolve((Element)objElement, expression);
- }
- }
- return ret;
- }
-
- /**
- * Gets an Object associated with a page variable.
- * @param varName Page variable name.
- * @return The Object associated with the named page variable, or null if the Object cannot be
- * located.
- */
- public Object getPageVariable(String varName) {
- Object ret = null;
- // 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())) {
- if (vars[i].getMode() == IVariableInfo.RESOURCEBUNDLE) {
- String resourceName = vars[i].getTypeInfoString();
- IStorage storage = null;
- try {
- storage = LoadBundleUtil.getLoadBundleResource(_prj, resourceName);
- } catch (CoreException cex) {
- _log.info("PageExpressionContext.Info.0", cex); //$NON-NLS-1$
- }
- if (storage != null) {
- InputStream input = null;
- try {
- input = new BufferedInputStream(storage.getContents());
- Properties properties = new Properties();
- properties.load(input);
- ret = properties;
- } catch (Exception ignored) {
- //ignore - we'll return null
- } finally {
- ResourceUtils.ensureClosed(input);
- }
- }
- }
- }
- }
- }
- }
- }
- return ret;
- }
-
-
-
- static class ELValueResolver {
-
- static List<IELValueResolver> elValueResolvers;
-
- public static String resolve(final Element element, final String elExpression) {
- String value = elExpression;
- if (elValueResolvers == null) {
- readELValueResolvers();
- }
- for (IELValueResolver elValueResolver: elValueResolvers) {
- value = elValueResolver.resolve(element, value);
- }
- return value;
- }
-
- private static void readELValueResolvers() {
- elValueResolvers = new ArrayList<IELValueResolver>();
- final IExtensionPoint pdExtPt =
- Platform.getExtensionRegistry().getExtensionPoint(
- PDPlugin.getPluginId(), IJMTConstants.EXTENSION_POINT_PAGEDESIGNER);
- final IExtension[] extensions = pdExtPt.getExtensions();
- for (final IExtension extension: extensions) {
- final IConfigurationElement[] configElements = extension.getConfigurationElements();
- for (final IConfigurationElement configElement: configElements) {
- if (configElement.getName().equals("elValueResolver")) { //$NON-NLS-1$
- try {
- final Object objValueResolver = configElement.createExecutableExtension("class"); //$NON-NLS-1$
- if (objValueResolver instanceof IELValueResolver) {
- if (configElement.getContributor().getName().startsWith("org.eclipse.jst")) { //$NON-NLS-1$
- //add to end (give precedence to contributor-provided resolvers)
- elValueResolvers.add((IELValueResolver)objValueResolver);
- } else {
- //add at beginning (give precedence to contributor-provided resolvers)
- elValueResolvers.add(0, (IELValueResolver)objValueResolver);
- }
- }
- } catch(CoreException ce) {
- PDPlugin.log("Error reading extensions for: " + configElement.toString(), ce); //$NON-NLS-1$
- }
- }
- }
- }
- }
-
- }
-
-}
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 026a5d4e8..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/AttributePropertySource.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 java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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;
-
- private ITaglibDomainMetaDataQuery _query;
-
- /**
- * 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$
- }
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext((IFile)wsresolver.getResource());
- _query = MetaDataQueryFactory.getInstance().createQuery(context);
- return _query.getQueryHelper().getEntity(uri, _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){
- //Bug 364667 - NullPointerException occurs when I try to display attributes for an HTML element in Web Page Editor
- if (_query != null) {
- Entity attrEntity = _query.findTagAttributeEntity(_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 c0a956d2f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/WPETabbedPropertySheetPage.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.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(getEditor(), 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 could be null here
- if (manager != 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/AbstractCSSModelAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/AbstractCSSModelAdapter.java
deleted file mode 100644
index f5cc96240..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/AbstractCSSModelAdapter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.css.core.internal.document.CSSModelImpl;
-import org.eclipse.wst.css.core.internal.provisional.adapters.ICSSModelAdapter;
-import org.eclipse.wst.css.core.internal.provisional.contenttype.ContentTypeIdForCSS;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.html.core.internal.htmlcss.StyleListener;
-import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
-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.IDOMNode;
-import org.w3c.dom.Element;
-
-/**
- * A slightly modified copy of {@link org.eclipse.wst.html.core.internal.htmlcss.AbstractCSSModelAdapter}.
- */
-public abstract class AbstractCSSModelAdapter implements ICSSModelAdapter {
- private final static String CSS_ID = ContentTypeIdForCSS.ContentTypeID_CSS;
-
- private Element element = null;
- private ICSSModel model = null;
-
- /**
- */
- AbstractCSSModelAdapter() {
- super();
- }
- /**
- * @return ICSSModel
- */
- protected ICSSModel createModel() {
- // create embedded CSS model (not for external CSS)
- if (getElement() == null)
- return null;
- IStructuredModel baseModel = ((IDOMNode) getElement()).getModel();
- ICSSModel newModel = (ICSSModel) baseModel.getModelManager().createUnManagedStructuredModelFor(CSS_ID);
- ((CSSModelImpl) newModel).setOwnerDOMNode(getElement());
- return newModel;
- }
-
- /**
- * @return Element
- */
- public Element getElement() {
- return this.element;
- }
-
- /**
- * @return ICSSModel
- */
- protected ICSSModel getExistingModel() {
- return this.model;
- }
-
- /**
- * @param target element
- *
- */
- protected void notifyStyleChanged(Element target) {
- INodeNotifier notifier = (INodeNotifier) target;
- if (notifier == null)
- return;
- Collection adapters = notifier.getAdapters();
- if (adapters == null)
- return;
- Iterator it = adapters.iterator();
- if (it == null)
- return;
- while (it.hasNext()) {
- INodeAdapter adapter = (INodeAdapter) it.next();
- if (adapter instanceof StyleListener) {
- StyleListener listener = (StyleListener) adapter;
- listener.styleChanged();
- }
- }
- }
-
- /**
- */
- void setElement(Element element) {
- this.element = element;
- }
-
- /**
- * check
- * 1. If attributes of element is valid (type,rel ...)
- * 2. If content model supports this element / attribute (future ?)
- * @return validness flag
- */
- protected boolean isValidAttribute() {
- return (getElement() != null);//metadata has already established that this is a style attribute
- }
-
- /**
- * @param model
- */
- protected void setModel(ICSSModel model) {
- this.model = model;
- }
-}
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 6165de394..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSDialogCellEditor.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.properties.celleditors;
-
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.pagedesigner.commands.single.ChangeStyleCommand;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-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;
-
-/**
- * A css dialog cell editor
- *
- */
-public class CSSDialogCellEditor extends EditableDialogCellEditor {
- private IDOMElement _element;
- private IPropertyPageDescriptor _attr;
-
- /**
- * @param parent
- * @param attr
- * @param element
- */
- public CSSDialogCellEditor(Composite parent, IPropertyPageDescriptor attr, IDOMElement element) {
- super(parent);
- _element = element;
- _attr = attr;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.DialogCellEditor#openDialogBox(org.eclipse.swt.widgets.Control)
- */
- protected Object openDialogBox(Control cellEditorWindow) {
- final ICSSStyleDeclaration styleDeclaration = CSSStyleDeclarationFactory.getInstance().
- getStyleDeclaration(_element, _attr.getAttributeName());
-
- final PreferenceManager manager = new PreferenceManager();
- final Shell shell = cellEditorWindow.getShell();
-
- final CSSPropertyContext context = new CSSPropertyContext(styleDeclaration);
- final 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()
- {
- final ChangeStyleCommand c = new ChangeStyleCommand(_element, _attr.getAttributeName(), context);
- c.execute();
- }
- });
- }
- }
-
- String style = (_element == null ? null : _element
- .getAttribute(_attr.getAttributeName()));
- return style == null ? "" : style; //$NON-NLS-1$
- }
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSStyleDeclarationFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSStyleDeclarationFactory.java
deleted file mode 100644
index f9b864358..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CSSStyleDeclarationFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.w3c.dom.Node;
-
-/**
- * Creates {@link ICSSStyleDeclaration} adapters for tags where the attribute of interest is not necessarily named "style".
- * This is to be used in conjunction with the inline CSS Style Dialog only where metadata has already
- * established that the tag attribute is styleable.
- */
-public class CSSStyleDeclarationFactory {
-
- private static CSSStyleDeclarationFactory instance = null;
- /**
- */
- private CSSStyleDeclarationFactory() {
- super();
- }
-
- /**
- * @param element - must not be null
- * @param attrName - must not be null
- * @return ICSSStyleDeclaration
- *
- */
- public ICSSStyleDeclaration getStyleDeclaration(final IDOMElement element, final String attrName) {
- if ( element.getNodeType() != Node.ELEMENT_NODE)
- return null;
-
- final TagStyleAttrAdapter newAdapter = new TagStyleAttrAdapter(attrName);
- newAdapter.setElement(element);
- return (ICSSStyleDeclaration)newAdapter.getStyle();
- }
-
- /**
- * @return CSSStyleDeclarationAdapterFactory singleton
- */
- public synchronized static CSSStyleDeclarationFactory getInstance() {
- if (instance == null)
- instance = new CSSStyleDeclarationFactory();
- return instance;
- }
-
-
-}
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 53c91a10e..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/CellEditorFactory.java
+++ /dev/null
@@ -1,266 +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.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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.IAttributeRuntimeValueType;
-import org.eclipse.jst.pagedesigner.meta.ITagAttributeCellEditorFactory;
-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
- */
-@SuppressWarnings("deprecation")
-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);
- final IFile file = getFile(element);
- if (project != null) {
-// String typeParam = TraitValueHelper.getValueAsString(TaglibDomainMetaDataQueryHelper.getTrait(attr.getMetaDataContext().getEntity(),"type-param"));
- ResourceDialogCellEditor cellEditor = new ResourceDialogCellEditor(
- parent);
-
- IMetaDataDomainContext context = null;
-
- if (file != null)
- context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- else
- context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
-
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- Trait fileExt = query.findTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$
- Trait separator = query.findTrait(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(file);
-
- 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, attr,
- (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)) {
-
- //FIXME - should not be passing null project
- final IMetaDataDomainContext context = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext((IProject)null);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(context);
- Trait fileExt = query.findTrait(attr.getMetaDataContext().getEntity(), "file-extensions"); //$NON-NLS-1$
- Trait seperator = query.findTrait(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/TagStyleAttrAdapter.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/TagStyleAttrAdapter.java
deleted file mode 100644
index 818be8333..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/celleditors/TagStyleAttrAdapter.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package org.eclipse.jst.pagedesigner.properties.celleditors;
-
-import org.eclipse.wst.css.core.internal.parser.CSSSourceParser;
-import org.eclipse.wst.css.core.internal.provisional.adapters.IStyleDeclarationAdapter;
-import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel;
-import org.eclipse.wst.sse.core.internal.ltk.parser.RegionParser;
-import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
-import org.eclipse.wst.sse.core.internal.provisional.events.IStructuredDocumentListener;
-import org.eclipse.wst.sse.core.internal.provisional.events.NewDocumentEvent;
-import org.eclipse.wst.sse.core.internal.provisional.events.NoChangeEvent;
-import org.eclipse.wst.sse.core.internal.provisional.events.RegionChangedEvent;
-import org.eclipse.wst.sse.core.internal.provisional.events.RegionsReplacedEvent;
-import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentRegionsReplacedEvent;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.css.CSSStyleDeclaration;
-
-/**
- * CSS style adapter for tags where the attribute name is not "style"
- * <p>
- * Basically a copy of StyleAttrAdapter with a few mods
- */
-@SuppressWarnings("deprecation")
-public class TagStyleAttrAdapter extends AbstractCSSModelAdapter implements IStructuredDocumentListener, IStyleDeclarationAdapter {
-
- private boolean ignoreNotification = false;
- private String _styleAttrName;
-
- /**
- * @param attrName
- */
- TagStyleAttrAdapter(final String attrName) {
- super();
- _styleAttrName = attrName;
- }
-
- /**
- */
- public ICSSModel getModel() {
- ICSSModel model = getExistingModel();
- if (model == null && isModelNecessary()) {
- model = createModel();
- if (model == null)
- return null;
-
- IStructuredDocument structuredDocument = model.getStructuredDocument();
- if (structuredDocument == null)
- return null;
-
- RegionParser parser = structuredDocument.getParser();
- if (parser instanceof CSSSourceParser) {
- ((CSSSourceParser)parser).setParserMode(CSSSourceParser.MODE_DECLARATION);
- } else {
- return null;
- }
-
- structuredDocument.addDocumentChangedListener(this);
-
- setModel(model); // need to set before valueChanged()
- valueChanged();
- }
- if (model != null && !isModelNecessary()) {
- model = null;
- valueChanged();
- }
- return model;
- }
-
- /**
- */
- public CSSStyleDeclaration getStyle() {
- ICSSModel model = getModel();
- if (model == null)
- return null;
- return (CSSStyleDeclaration) model.getDocument();
- }
-
- /**
- * Allowing the INodeAdapter to compare itself against the type
- * allows it to return true in more than one case.
- */
- public boolean isAdapterForType(Object type) {
- return (type == IStyleDeclarationAdapter.class);
- }
-
- /**
- */
- public void newModel(NewDocumentEvent event) {
- if (event == null)
- return;
- if (event.getOriginalRequester() == this)
- return;
-
- setValue();
- }
-
- /**
- */
- public void noChange(NoChangeEvent structuredDocumentEvent) {//
- }
-
- /**
- */
- public void nodesReplaced(StructuredDocumentRegionsReplacedEvent event) {
- if (event == null)
- return;
- if (event.getOriginalRequester() == this)
- return;
-
- setValue();
- }
-
- /**
- */
- public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
- if (this.ignoreNotification)
- return;
-
- if (eventType != INodeNotifier.CHANGE)
- return;
- Attr attr = (Attr) changedFeature;
- if (attr == null)
- return;
- String name = attr.getName();
- if (name.equalsIgnoreCase(_styleAttrName)) {
- valueChanged();
- }
- }
-
- /**
- */
- public void regionChanged(RegionChangedEvent event) {
- if (event == null)
- return;
- if (event.getOriginalRequester() == this)
- return;
-
- setValue();
- }
-
- /**
- */
- public void regionsReplaced(RegionsReplacedEvent event) {
- if (event == null)
- return;
- if (event.getOriginalRequester() == this)
- return;
-
- setValue();
- }
-
- /**
- */
- private void setValue() {
- Element element = getElement();
- if (element == null)
- return;
- ICSSModel model = getExistingModel();
- if (model == null)
- return;
- IStructuredDocument structuredDocument = model.getStructuredDocument();
- if (structuredDocument == null)
- return;
-
- String value = null;
- IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
- if (flatNodes != null) {
- int count = flatNodes.getLength();
- if (count > 0) {
- StringBuffer buffer = new StringBuffer();
- for (int i = 0; i < count; i++) {
- IStructuredDocumentRegion flatNode = flatNodes.item(i);
- if (flatNode == null)
- continue;
- buffer.append(flatNode.getText());
- }
- value = buffer.toString();
- }
- }
-
- this.ignoreNotification = true;
- if (value == null || value.length() == 0) {
- element.removeAttribute(_styleAttrName);
- }
- else {
- Attr attr = element.getAttributeNode(_styleAttrName);
- if (attr != null) {
- ((IDOMNode) attr).setValueSource(value);
- }
- else {
- Document document = element.getOwnerDocument();
- attr = document.createAttribute(_styleAttrName);
- ((IDOMNode) attr).setValueSource(value);
- element.setAttributeNode(attr);
- }
- }
- this.ignoreNotification = false;
-
- notifyStyleChanged(element);
- }
-
- /**
- */
- private void valueChanged() {
- Element element = getElement();
- if (element == null)
- return;
- if (!isModelNecessary()) { // removed
- setModel(null);
-
- notifyStyleChanged(element);
- return;
- }
-
- ICSSModel model = getExistingModel();
- if (model == null)
- return; // defer
- IStructuredDocument structuredDocument = model.getStructuredDocument();
- if (structuredDocument == null)
- return; // error
-
- String value = null;
- Attr attr = element.getAttributeNode(_styleAttrName);
- if (attr != null)
- value = ((IDOMNode) attr).getValueSource();
- structuredDocument.setText(this, value);
-
- notifyStyleChanged(element);
- }
-
- /**
- * @return boolean
- */
- private boolean isModelNecessary() {
- return getElement() != null;
- }
-}
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 1a8480914..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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 = getAttributeEntity(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;
- }
-
- //we don't have enough context to use a query. Must look at childEntities.
- private Entity getAttributeEntity(final Entity tagEntity, final String attrName) {
- for (final Entity attr : tagEntity.getChildEntities()) {
- if (attr.getId().equals(attrName))
- return attr;
- }
- return null;
- }
-
- 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){
- IFile file = (IFile)IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getResource();
- IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- ITaglibDomainMetaDataQuery _query = MetaDataQueryFactory.getInstance().createQuery(mdcontext);
- _tagEntity = _query.getQueryHelper().getEntity(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().getId();
- }
-
-
- /**
- * 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 4c90a3591..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/QuickEditTabManager.java
+++ /dev/null
@@ -1,239 +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.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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;
- String uri = getTagURIForNodeName(part, selection, node);
- if (uri != null) {
- final ITaglibDomainMetaDataQuery query = getQuery(part, node);
- if (query != null) {
- _tagEntity = query.getQueryHelper().getEntity(uri, node.getLocalName());
- if (_tagEntity != null) {
- Trait pds = query.findTrait(_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 new QName(_tagEntity.getModel().getId(), _tagEntity.getId());
- }
-
- /**
- * Dispose
- */
- public void dispose() {
- _lastQuickEditTabGroup= null;
- _lastElement = null;
- _lastTagID = null;
- _nullQuickEditTabGroup = null;
- _quickEditTabSections = null;
- _groupsManager = null;
- }
-
- private String getTagURIForNodeName(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) {
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(ed.getDocument(), node);
- if (context != null){
- ITaglibContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getTaglibContextResolver(context);
- if (resolver != null){
- return resolver.getTagURIForNodeName(node);
- }
- }
- }
- return null;
- }
-
- private ITaglibDomainMetaDataQuery getQuery(IWorkbenchPart part, Element node) {
- HTMLEditor ed = null;
- if (part instanceof HTMLEditor)
- ed = (HTMLEditor)part;
- if (ed == null)
- return null;
-
-
- if (ed.getEditorInput() instanceof FileEditorInput) {
- final FileEditorInput input = (FileEditorInput)ed.getEditorInput();
- final IMetaDataDomainContext mdContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(input.getFile());
- return MetaDataQueryFactory.getInstance().createQuery(mdContext);
- }
- 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 d8d8e8c06..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/common/sash/SashEditorSite.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * @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
-
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.services.IServiceLocator#getService(java.lang.Class)
- */
- public Object getService(Class api) {
- Object service = null;
- if (api != null && _sashEditor != null) {
- final IWorkbenchPartSite site = _sashEditor.getSite();
- if (site != null) {
- service = site.getService(api);
- }
- }
- return service;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.services.IServiceLocator#hasService(java.lang.Class)
- */
- public boolean hasService(Class api) {
- boolean has = false;
- if (api != null && _sashEditor != null) {
- final IWorkbenchPartSite site = _sashEditor.getSite();
- if (site != null) {
- has = site.hasService(api);
- }
- }
- return has;
- }
-
-}
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 f2f3f003b..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogfields/StyleButtonDialogField.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.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
- * @deprecated
- */
-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 bf740f4c0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/ui/dialogs/WPEPropertyPage.java
+++ /dev/null
@@ -1,457 +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.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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;
- final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(project);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(mdcontext);
- final Model model = query.findTagLibraryModel(nsURI);
- final Trait trait = query.findTrait(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 4c963f2c9..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/CommandUtil.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.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.ITaglibDomainMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-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.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 IMetaDataModelContext modelContext = CommandUtil.getMetadataModelContext(
- 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.
- * @deprecated - will be removed in post Indigo release
- */
- 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 IProject project = StructuredModelUtil.getProjectFor(model);
- final ITaglibDomainMetaDataModelContext modelContext = TaglibDomainMetaDataQueryHelper
- .createMetaDataModelContext(project, uri);
- return modelContext;
- }
-
- /**
- * @param uri
- * @param model
- * @return the metadata model context for uri in the DOM model or null if none.
- */
- public static IMetaDataModelContext getMetadataModelContext(
- final String uri, final IDOMModel model)
- {
- final IFile file = StructuredModelUtil.getFileFor(model);
- final IMetaDataDomainContext modelContext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
-
- return new MetaDataModelContext(uri, 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 f189f78b0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/HTMLUtil.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.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_LINK,
- 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/IFileAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IFileAdapterFactory.java
deleted file mode 100644
index 5a7aca6f6..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IFileAdapterFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * IAdapterFactory capable of adapting to IFile instances.
- *
- * @author ian.trimble@oracle.com
- */
-public class IFileAdapterFactory implements IAdapterFactory {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- IFile adapter = null;
- if (adapterType.equals(IFile.class)) {
- if (adaptableObject instanceof NodeEditPart) {
- final IDOMNode node = ((NodeEditPart)adaptableObject).getIDOMNode();
- if (node != null) {
- final IDOMModel model = node.getModel();
- if (model != null) {
- adapter = StructuredModelUtil.getFileFor(model);
- }
- }
- }
- }
- return adapter;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- public Class[] getAdapterList() {
- return new Class[]{IFile.class};
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IResourceAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IResourceAdapterFactory.java
deleted file mode 100644
index c67eacb71..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IResourceAdapterFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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.utils;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * IAdapterFactory capable of adapting to IResource instances.
- *
- * @author ian.trimble@oracle.com
- */
-public class IResourceAdapterFactory implements IAdapterFactory {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- IResource adapter = null;
- if (adapterType.equals(IResource.class)) {
- if (adaptableObject instanceof NodeEditPart) {
- final IDOMNode node = ((NodeEditPart)adaptableObject).getIDOMNode();
- if (node != null) {
- final IDOMModel model = node.getModel();
- if (model != null) {
- adapter = StructuredModelUtil.getFileFor(model);
- }
- }
- }
- }
- return adapter;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- public Class[] getAdapterList() {
- return new Class[]{IResource.class};
- }
-
-}
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IWorkbenchAdapterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IWorkbenchAdapterFactory.java
deleted file mode 100644
index 3b58801ca..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/IWorkbenchAdapterFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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.utils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.pagedesigner.parts.NodeEditPart;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * IAdapterFactory capable of adapting to IWorkbenchAdapter instances.
- *
- * @author ian.trimble@oracle.com
- */
-public class IWorkbenchAdapterFactory implements IAdapterFactory {
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- IWorkbenchAdapter adapter = null;
- if (adapterType.equals(IWorkbenchAdapter.class)) {
- if (adaptableObject instanceof NodeEditPart) {
- final IDOMNode node = ((NodeEditPart)adaptableObject).getIDOMNode();
- if (node != null) {
- final IDOMModel model = node.getModel();
- if (model != null) {
- final IFile file = StructuredModelUtil.getFileFor(model);
- if (file != null) {
- adapter = new IWorkbenchAdapter() {
- public Object[] getChildren(Object object) {
- return new Object[0];
- }
- public ImageDescriptor getImageDescriptor(Object object) {
- return null;
- }
- public String getLabel(Object object) {
- return file.getName();
- }
- public Object getParent(Object object) {
- return file.getParent();
- }
- };
- }
- }
- }
- }
- }
- return adapter;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- public Class[] getAdapterList() {
- return new Class[]{IWorkbenchAdapter.class};
- }
-
-}
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 6afd64bf0..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/utils/JSPUtil.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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.Model;
-import org.eclipse.jst.jsf.common.metadata.Trait;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.TraitValueHelper;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryContextFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.MetaDataQueryFactory;
-import org.eclipse.jst.jsf.common.metadata.query.internal.taglib.ITaglibDomainMetaDataQuery;
-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(final String uri, final IDOMModel model) {
- final IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(model.getStructuredDocument(), 0);
- if (context != null) {
- IFile file = StructuredModelUtil.getFileFor(model);
-// IWorkspaceContextResolver resolver = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context);
-// if (resolver != null) {
- if (file != null) {
- final IMetaDataDomainContext mdcontext = MetaDataQueryContextFactory.getInstance().createTaglibDomainModelContext(file);
- final ITaglibDomainMetaDataQuery query = MetaDataQueryFactory.getInstance().createQuery(mdcontext);
- final Model m = query.findTagLibraryModel(uri);
- final Trait t = query.findTrait(m, "isTagDir"); //$NON-NLS-1$
- 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 2991d2669..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.getWebContentContainer(_project) == null) {
- return;
- }
- IFolder webinf = WebrootUtil.getWebContentContainer(_project).getFolder(
- new Path(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.getWebContentContainer(_project)
- .getFolder(new Path(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 b44bdb1fe..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/validation/caret/RootContainerPositionRule.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.validation.caret;
-
-import java.util.Arrays;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.jst.pagedesigner.IHTMLConstants;
-import org.eclipse.jst.pagedesigner.dom.EditModelQuery;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-/**
- * This rule deal with containers 'body', 'head', 'view', 'subview'.
- *
- * @author mengbo
- */
-public class RootContainerPositionRule extends DefaultPositionRule {
- static final String[] HTML_ROOT_CONTAINERS = { IHTMLConstants.TAG_BODY, IHTMLConstants.TAG_HEAD };
-
- /**
- * @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;// isWithinBasicContainer(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 = isWithinBasicContainer(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 isWithinBasicContainer(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 0f11741f3..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 current
- *
- * @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 finds the position, if there is one which is widget or text
- * and it contains p, or there is not such widget, then boxLine will return
- * the widget that are in a same line 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 support 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 {
- // can't edit it.
- if (!validator.hasEditableArea(target)) {
- if (lPart.contains(p) && //
- (validator.isValidPosition(new DesignRefPosition(
- target.getPart(), true)) || //
- validator.isValidPosition(new DesignRefPosition(
- target.getPart(), false)))) {
- 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(), false)))) {
- 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;
- }
-
- /**
- * Similar 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 similar 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 support 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 {
- // can'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 whitespace tag. Since we
- * still need to improve whitespace tags's layout further 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 98ea7e83f..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/HTMLGraphicalViewer.java
+++ /dev/null
@@ -1,555 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, 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
- */
-public 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);
- }
- }
-
- /**
- * Gets parent editor part.
- * @return Parent editor part.
- */
- public IEditorPart getParent() {
- return _parentPart;
- }
-
- // 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