Fixes for
- [282760] Web page editor doesn't keep the outline view correctly sync'd
- missing palette item image
- temporary fix for palette drop into source viewer
diff --git a/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/icons/palette/HTML/large/HTML_BR.gif b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/icons/palette/HTML/large/HTML_BR.gif
new file mode 100644
index 0000000..b468685
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.standard.tagsupport/icons/palette/HTML/large/HTML_BR.gif
Binary files differ
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
index f4ee256..e60a460 100644
--- 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
@@ -16,6 +16,7 @@
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.DropTargetEvent;
import org.eclipse.swt.dnd.TextTransfer;
@@ -75,18 +76,19 @@
if (TemplateTransfer.getInstance().isSupportedType(
event.currentDataType)) {
if (_textEditor.getTextViewer() != null) {
- Point p = new Point(event.x, event.y);
- SourceViewerDragDropHelper.getInstance().updateCaret(
- _textEditor, p);
- _location = text.getCaretOffset();
- if (TemplateTransfer.getInstance().isSupportedType(
- event.currentDataType)) {
- _location = SourceViewerDragDropHelper.getInstance()
- .getValidLocation(_textEditor, _location);
- }
- SourceViewerDragDropHelper.getInstance().showCaret(
- _textEditor, _location);
- }
+ Point p = new Point(event.x, event.y);
+ SourceViewerDragDropHelper.getInstance().updateCaret(
+ _textEditor, p);
+ _location = text.getCaretOffset();
+ if (TemplateTransfer.getInstance().isSupportedType(
+ event.currentDataType)) {
+ _location = SourceViewerDragDropHelper.getInstance()
+ .getValidLocation(_textEditor, _location);
+ }
+ SourceViewerDragDropHelper.getInstance().showCaret(
+ _textEditor, _location);
+ }
+
} else if (TextTransfer.getInstance().isSupportedType(
event.currentDataType)) {
super.dragOver(event);
@@ -127,16 +129,27 @@
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$
+ if (!(hasIllegalCharacters(dropSourceData))) {
+ // "Create new item"
+ command = new PaletteDropInsertCommand(
+ PageDesignerResources
+ .getInstance()
+ .getString(
+ "DesignerSourceDropTargetListener.InserCommandLabel"), _textEditor, dropSourceData, _location); //$NON-NLS-1$
+ }
}
return command;
}
return null;
}
+
+ private boolean hasIllegalCharacters(final IDropSourceData data) {
+ //temporary fix for adopter product where palette item has illegal characters in identifier
+ //has effect of disabling drop into source view
+ if (data instanceof ITagDropSourceData) {
+ final ITagDropSourceData tag = (ITagDropSourceData)data;
+ return tag.getTagName().indexOf("##") > 0; //$NON-NLS-1$
+ }
+ return false;
+ }
}
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
index e247dc1..d35de2d 100644
--- 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
@@ -16,6 +16,7 @@
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;
@@ -39,9 +40,13 @@
_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;