r1666 - in branches/bxe_2_0: css js relaxng

[email protected] Thu, 3 May 2007 17:41:57 +0200 (CEST)
Newsgroups gmane.editors.bitflux.cvs
Message-ID <[email protected]>
Author: chregu
Date: Thu May  3 17:41:57 2007
New Revision: 1666

Log:
enable bxe:noteditable context="true"


Modified:
   branches/bxe_2_0/css/editor.css
   branches/bxe_2_0/js/bxeFunctions.js
   branches/bxe_2_0/js/widget.js
   branches/bxe_2_0/relaxng/RelaxNG.js

Modified: branches/bxe_2_0/css/editor.css
==============================================================================
--- branches/bxe_2_0/css/editor.css	(original)
+++ branches/bxe_2_0/css/editor.css	Thu May  3 17:41:57 2007
@@ -286,12 +286,9 @@
     padding-right: 1px;
 	-moz-user-modify: read-write !important;
 	-moz-user-input: enabled  !important;
-/*	-moz-user-select: normal  !important;*/
 	-moz-outline: dotted black 1px ! important;
 	-moz-user-focus: normal;
- /*   white-space: pre-wrap;
-    white-space: -moz-pre-wrap;*/
-
+ 
 }
 
 .bold, .b {
@@ -369,7 +366,7 @@
 }
 
 [__bxe_noteditable=true] {
-    -moz-user-modify: read-only;
+    -moz-user-modify: read-only !important;
     /*-moz-user-input: disabled;*/
     -moz-user-select: none;
 }

Modified: branches/bxe_2_0/js/bxeFunctions.js
==============================================================================
--- branches/bxe_2_0/js/bxeFunctions.js	(original)
+++ branches/bxe_2_0/js/bxeFunctions.js	Thu May  3 17:41:57 2007
@@ -1339,7 +1339,7 @@
 		return true;
 	}
 	
-	if (node.XMLNode._node.nodeType != Node.ATTRIBUTE_NODE && node.XMLNode.vdom.bxeNoteditable) {
+	if (node.XMLNode._node.nodeType != Node.ATTRIBUTE_NODE && node.XMLNode.vdom.bxeNoteditableContextMenu == false) {
 		return false;
 	}
 
@@ -2403,13 +2403,19 @@
 					node.XMLNode = _existingNode.getXMLNode();
 					if (node.XMLNode.vdom && node.XMLNode.vdom.bxeNoteditable) {
 						notEditable = true;
+						
 					}
 				}
 				
 				if (notEditable) {
-					node.removeAttribute("__bxe_id");
+					if (!node.XMLNode.vdom.bxeNoteditableContextMenu) {
+						node.removeAttribute("__bxe_id");
+						node.XMLNode = null;
+						
+					} else {
+						node.addEventListener("click",MouseClickEvent,false);
+					}
 					node.setAttribute("__bxe_noteditable","true");
-					node.XMLNode = null;
 				} else {
 					node.XMLNode._htmlnode = node;
 					var _child = node.firstChild;

Modified: branches/bxe_2_0/js/widget.js
==============================================================================
--- branches/bxe_2_0/js/widget.js	(original)
+++ branches/bxe_2_0/js/widget.js	Thu May  3 17:41:57 2007
@@ -810,30 +810,31 @@
 	var sel  = window.getSelection();
 	var cssr = sel.getEditableRange();
 	//var ip = documentCreateInsertionPoint(cssr.top, cssr.startContainer, cssr.startOffset);
-	var selNode = cssr.startContainer.XMLNode;
-	if (!(sel.isCollapsed) && node.getAttribute("__bxe_defaultcontent") != "true") {
+	if (cssr) {
+		var selNode = cssr.startContainer.XMLNode;
+		if (!(sel.isCollapsed) && node.getAttribute("__bxe_defaultcontent") != "true") {
 			var ac = nodeX.allowedChildren;
 			
 			for (i = 0; i < ac.length; i++) {
 				if (ac[i].nodeType != 3) {
-				if (!(ac[i].vdom.bxeDontshow) && !bxe_config.dontShowInContext[ac[i].namespaceURI + ":" +ac[i].localName] &&  ac[i].vdom.canHaveChildren ) {
-					var menui =this.Popup.addMenuItem( ac[i].vdom.bxeName, function(e) { 
-						var widget = e.currentTarget.Widget;
-						var sel = window.getSelection();
-						sel.removeAllRanges();
-						var rng = widget.Cssr.cloneRange();
-						sel.addRange(rng);
-						eDOMEventCall("toggleTextClass",document,{"localName":widget.InsertLocalName,"namespaceURI":widget.InsertNamespaceURI})
-					});
-					menui.InsertLocalName = ac[i].localName;
-					menui.InsertNamespaceURI = ac[i].namespaceURI;
-					menui.AppendToNode = nodeX;
-					menui.Cssr = cssr;
-				}
+					if (!(ac[i].vdom.bxeDontshow) && !bxe_config.dontShowInContext[ac[i].namespaceURI + ":" +ac[i].localName] &&  ac[i].vdom.canHaveChildren ) {
+						var menui =this.Popup.addMenuItem( ac[i].vdom.bxeName, function(e) { 
+							var widget = e.currentTarget.Widget;
+							var sel = window.getSelection();
+							sel.removeAllRanges();
+							var rng = widget.Cssr.cloneRange();
+							sel.addRange(rng);
+							eDOMEventCall("toggleTextClass",document,{"localName":widget.InsertLocalName,"namespaceURI":widget.InsertNamespaceURI})
+						});
+						menui.InsertLocalName = ac[i].localName;
+						menui.InsertNamespaceURI = ac[i].namespaceURI;
+						menui.AppendToNode = nodeX;
+						menui.Cssr = cssr;
+					}
 				}
 			}
-	} 
-	
+		} 
+	}
 	this.Popup._node = node;
 	this.Popup.addSeparator(bxe_i18n.getText(" Element Order "));
 	node = nodeX;

Modified: branches/bxe_2_0/relaxng/RelaxNG.js
==============================================================================
--- branches/bxe_2_0/relaxng/RelaxNG.js	(original)
+++ branches/bxe_2_0/relaxng/RelaxNG.js	Thu May  3 17:41:57 2007
@@ -451,7 +451,12 @@
 					this.bxeNoaddappenddelete = true;
 					break;
 				case "noteditable":
-					this.bxeNoteditable = true;
+					this.bxeNoteditable = true;       
+					if (childNodes[i].getAttribute('contextmenu') == 'true') {
+						this.bxeNoteditableContextMenu = true;
+					} else {
+						this.bxeNoteditableContextMenu = false;
+					}
 					break;
 				case "helptext":
 					this.bxeHelptext = childNodes[i].firstChild.data;
-- 
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs