Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/ConverterFactoryRegistry.java2
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/converter/DefaultUnknownTagConverter.java6
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/editpolicies/ElementMenuBar.java13
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/ElementEditPart.java3
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/parts/HTMLEditPartsFactory.java13
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/viewer/DefaultDropLocationStrategy.java8
6 files changed, 23 insertions, 22 deletions
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
index 65abf05ad..40e419164 100644
--- 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
@@ -109,7 +109,7 @@ public class ConverterFactoryRegistry {
}
);
}
- return new DefaultUnknownTagConverter(ele);
+ return new DefaultUnknownTagConverter(ele, mode);
}
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
index d09a2fe11..397fcf7fb 100644
--- 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
@@ -26,8 +26,9 @@ public class DefaultUnknownTagConverter extends AbstractTagConverter {
/**
* @param host
*/
- public DefaultUnknownTagConverter(Element host) {
+ public DefaultUnknownTagConverter(Element host, int mode) {
super(host);
+ setMode(mode);
}
/*
@@ -48,7 +49,8 @@ public class DefaultUnknownTagConverter extends AbstractTagConverter {
style += "border: none; padding: 0; margin: 0";
divEle.setAttribute("style", style);
Element div2 = createElement("span");
- div2.setAttribute("style", "background-color: cyan; border: none;");
+ String border = isPreviewMode() ? "border-style: solid;border-width: 1px" : "border:none";
+ div2.setAttribute("style", "background-color: white;"+border+";color:gray");
Text txt = createText(hostEle.getTagName());
div2.appendChild(txt);
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
index 9471782ad..bfb74a2ae 100644
--- 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
@@ -76,17 +76,18 @@ public class ElementMenuBar extends Figure implements ISelectionProvider, ISelec
* Removes editpart from the list of non-visual edit parts that this menu
* bar is managing the visuals for.
* @param editpart
- * @throws IllegalArgumentException if editpart is not currently managed
- * by the menu bar
*/
public void removeNonVisualChild(final NonVisualComponentEditPart editpart)
{
- if (!getChildParts().remove(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)
{
- throw new IllegalArgumentException("editpart is not a child: "+editpart);
+ remove(editpart.getFigure());
}
-
- remove(editpart.getFigure());
}
public boolean hasEditPartFocus()
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
index 216d187f5..8b4129b01 100644
--- 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
@@ -520,7 +520,6 @@ public class ElementEditPart extends SubNodeEditPart {
parent.remove(childFigure);
}
-
if (childEditPart instanceof NonVisualComponentEditPart)
{
_nonVisualElementBar.removeNonVisualChild((NonVisualComponentEditPart) childEditPart);
@@ -561,6 +560,8 @@ public class ElementEditPart extends SubNodeEditPart {
*/
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();
}
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
index fe680195c..ec44b37cc 100644
--- 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
@@ -54,18 +54,11 @@ public class HTMLEditPartsFactory implements EditPartFactory {
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)
{
- ITagConverter converter = (ITagConverter) model;
- if (!converter.isVisualByHTML())
- {
- part = new NonVisualComponentEditPart();
- }
- else
- {
- part = new ElementEditPart();
- }
-
+ part = new NonVisualComponentEditPart();
}
if (part != null) {
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
index c547ba5a1..dea33f45a 100644
--- 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
@@ -106,8 +106,12 @@ public class DefaultDropLocationStrategy extends AbstractDropLocationStrategy
Rectangle hintRect = new Rectangle(hintLocation, hintSize);
- // to avoid enlarge feedback pane.
- //hintRect = hintRect.intersect(getFeedbackLayer().getBounds());
+ // 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.translateToRelative(hintRect);
dropHintLabel.setBounds(hintRect);

Back to the top