Author: mareshkau
Date: 2007-08-17 08:25:14 -0400 (Fri, 17 Aug 2007)
New Revision: 3213
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-744, context menu functionality was restored
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -235,9 +235,7 @@
xulRunnerEditor = (XulRunnerEditor) visualEditor.getControl();
// TODO Sergey Vasilyev figure out with nsIPressShell
// presShell = browser.getPresShell();
- // TODO Max Areshkau figure out with nsISelectionController
visualSelectionController = new
VpeSelectionController(xulRunnerEditor.getSelection());
- // TODO Max Areshkau figure out with VpeSelectionBuilder
selectionBuilder = new VpeSelectionBuilder(domMapping, sourceBuilder, visualBuilder,
visualSelectionController);
visualKeyHandler = new VpeVisualKeyHandler(sourceEditor, domMapping, pageContext){
public void doSave(IProgressMonitor monitor){
@@ -1138,6 +1136,14 @@
}
}
+ /**
+ * Calls when on when browser receive context menu event.
+ *
+ * @param contextFlags -not used in this function, just for becouse this parametr
+ * exist in nsIContextMenuListener
+ * @param event event from browser used here
+ * @param node where this event are occur
+ */
public void onShowContextMenu(long contextFlags, nsIDOMEvent event, nsIDOMNode node) {
nsIDOMNode visualNode = VisualDomUtil.getTargetNode(event);
@@ -1305,6 +1311,7 @@
}
private boolean startActiveEditor(int newType) {
+ //TODO Max Areshkau( add in test purposes, remove after all)
System.out.print("start");
if (type == ACTIVE_EDITOR_NONE) {
if( newType == ACTIVE_EDITOR_SOURCE &&
@@ -1319,6 +1326,7 @@
}
private void stopActiveEditor() {
+ //TODO Max Areshkau( add in test purposes, remove after all)
System.out.println("stop");
type = ACTIVE_EDITOR_NONE;
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -787,7 +787,7 @@
nsIDOMNode parent = commonNode.getParentNode();
commonNode = parent;
}
- return (nsIDOMElement)commonNode;
+ return (nsIDOMElement)commonNode.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
} else {
return null;
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -1201,7 +1201,7 @@
if (visualNode != null) {
nsIDOMNode parent = visualNode.getParentNode();
if (parent != null && parent.getNodeType() == nsIDOMNode.ELEMENT_NODE) {
- nsIDOMElement element = (nsIDOMElement)parent;
+ nsIDOMElement element =
(nsIDOMElement)parent.queryInterface(nsIDOMElement.NS_IDOMELEMENT_IID);
nsIDOMAttr style = element.getAttributeNode("style");
if (style != null) {
String styleValue = style.getNodeValue();
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -18,6 +18,8 @@
import org.mozilla.interfaces.nsIDOMEventListener;
import org.mozilla.interfaces.nsIDOMKeyEvent;
import org.mozilla.interfaces.nsIDOMMouseEvent;
+import org.mozilla.interfaces.nsIDOMNSHTMLElement;
+import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.interfaces.nsIDragSession;
import org.mozilla.interfaces.nsISelection;
import org.mozilla.interfaces.nsISelectionListener;
@@ -51,6 +53,8 @@
public static final String DBLCLICK="dblclick";
+ public static final String CONTEXTMENUEVENTTYPE="contextmenu";
+
public MozillaDomEventListener() {
createCOMInterfaces();
}
@@ -367,11 +371,15 @@
nsIDOMKeyEvent keyEvent = (nsIDOMKeyEvent)
domEvent.queryInterface(nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID);
getEditorDomEventListener().keyPress(keyEvent);
+ } else if(CONTEXTMENUEVENTTYPE.equals(domEvent.getType())) {
+ //first param are null 0, because this not used in event handler
+ getEditorDomEventListener().onShowContextMenu(0, domEvent, (nsIDOMNode)
domEvent.getTarget().queryInterface(nsIDOMNode.NS_IDOMNODE_IID));
}
//not using default mozilla event handlers
domEvent.stopPropagation();
domEvent.preventDefault();
}catch(Throwable th) {
+ //TODO Max Areshkau remove when all will be adjusted
th.printStackTrace();
}
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -361,7 +361,7 @@
}
if (xulRunnerEditor != null) {
// TODO Max Areshkau add context menu listener support
-// visualEditor.setContextMenuListener(listener);
+// xulRunnerEditor.setContextMenuListener(listener);
}
}
@@ -508,6 +508,9 @@
contentAreaEventTarget.addEventListener("mouseup",
contentAreaEventListener, false); //$NON-NLS-1$
contentAreaEventTarget.addEventListener("mousemove",
contentAreaEventListener, false); //$NON-NLS-1$
+ //context menu event handler(add by Max Areshkau)
+ contentAreaEventTarget.addEventListener(MozillaDomEventListener.CONTEXTMENUEVENTTYPE,
contentAreaEventListener, false);
+
documentEventTarget = (nsIDOMEventTarget)
getDomDocument().queryInterface(nsIDOMEventTarget.NS_IDOMEVENTTARGET_IID);
documentEventTarget.addEventListener("keypress", contentAreaEventListener,
false); //$NON-NLS-1$
} else {
@@ -552,7 +555,7 @@
public void setSelectionRectangle(nsIDOMElement element, int resizerConstrains, boolean
scroll) {
if (contentAreaEventListener != null) {
// TODO Max Areshkau add selection support
-// visualEditor.setSelectionRectangle((nsIDOMElement)element, resizerConstrains,
scroll);
+ xulRunnerEditor.setSelectionRectangle((nsIDOMElement)element, resizerConstrains,
scroll);
}
}
Modified:
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java
===================================================================
---
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2007-08-17
12:16:50 UTC (rev 3212)
+++
branches/jbosstools_xulrunner/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/editor/XulRunnerEditor.java 2007-08-17
12:25:14 UTC (rev 3213)
@@ -173,4 +173,11 @@
// }
// return null;
}
+
+ public void setSelectionRectangle(nsIDOMElement element,
+ int resizerConstrains, boolean scroll) {
+ // TODO Max Areshkau restore selection functionality
+
+ }
+
}