r1498 - in branches/bxe_2_0: mozile plugins relaxng
[email protected] Mon, 5 Jun 2006 11:15:43 +0200 (CEST)
| Newsgroups | gmane.editors.bitflux.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: chregu
Date: Mon Jun 5 11:15:41 2006
New Revision: 1498
Modified:
branches/bxe_2_0/mozile/mozCE.js
branches/bxe_2_0/plugins/ClipboardPasteDialog.js
branches/bxe_2_0/relaxng/RelaxNG.js
Log:
make clipboard chooser work
Modified: branches/bxe_2_0/mozile/mozCE.js
==============================================================================
--- branches/bxe_2_0/mozile/mozCE.js (original)
+++ branches/bxe_2_0/mozile/mozCE.js Mon Jun 5 11:15:41 2006
@@ -709,7 +709,7 @@
/**
* POST05: paste more than text
*/
-Selection.prototype.paste = function()
+Selection.prototype.paste = function(paraElementVdom)
{
var clipboard = mozilla.getClipboard();
var content = clipboard.getData(MozClipboard.TEXT_FLAVOR);
@@ -727,16 +727,34 @@
}
if (content && content.data) {
- var elementName = bxe_config.options['autoParaElementName'];
+ var elementNameParent = null;
+ var elementNamespace = null;
+
+ if (paraElementVdom) {
+ if (paraElementVdom.bxeClipboardChild) {
+ var elementName = paraElementVdom.bxeClipboardChild;
+ elementNameParent = paraElementVdom.nodeName;
+ } else {
+ var elementName = paraElementVdom.nodeName;
+ }
+ } else {
+ var elementName = bxe_config.options['autoParaElementName'];
+ elementNamespace = bxe_config.options['autoParaElementNamespace']
+
+ }
+
if (elementName && clipboard._system && content.data.search(/[\n\r]./) > -1) {
content = content.data;
content = content.replace(/&/g,"&").replace(/</g,"<");
- var elementNamespace = bxe_config.options['autoParaElementNamespace']
var elementName_start = elementName;
if (elementNamespace) {
elementName_start += " xmlns='"+elementNamespace +"'";
}
content = "<"+elementName_start + ">"+ content.replace(/[\n\r]+/g,"</"+elementName+"><"+elementName_start+" >")+"</"+elementName+">";
+
+ if (elementNameParent) {
+ content = "<" + elementNameParent + ">" + content + "</" + elementNameParent + ">";
+ }
bxe_insertContent_async(content,BXE_SELECTION,BXE_SPLIT_IF_INLINE);
} else {
window.getSelection().insertNode(content);
Modified: branches/bxe_2_0/plugins/ClipboardPasteDialog.js
==============================================================================
--- branches/bxe_2_0/plugins/ClipboardPasteDialog.js (original)
+++ branches/bxe_2_0/plugins/ClipboardPasteDialog.js Mon Jun 5 11:15:41 2006
@@ -1,7 +1,7 @@
function BxeClipboardPasteDialog() {
this.init = function (options) {
-
+
}
this.start = function() {
@@ -27,16 +27,33 @@
return false;
}
+ var cssr = sel.getEditableRange();
+ var selNode = cssr.startContainer.XMLNode;
+ if (selNode.nodeType != 1) {
+ var selNode = selNode.parentNode;
+ }
+
var mod = mozilla.getWidgetModalBox("Paste here", function(values) {
var clipboard = mozilla.getClipboard();
var content = clipboard.setData(values.clipboard);
clipboard._system = true;
- window.getSelection().paste();
+ window.getSelection().paste(_eles[values['element']]);
});
+ var ac = selNode.parentNode.allowedChildren;
+ var _chooser = new Array();
+ var _eles = new Array();
+ for (i = 0; i < ac.length; i++) {
+ if (ac[i].nodeType != 3 && ac[i].vdom.bxeClipboard ) {
+ _chooser.push(ac[i].vdom.bxeName);
+ _eles[ac[i].vdom.bxeName] = ac[i].vdom;
+ }
+ }
+
mod.addItem("clipboard", "", "textarea");
+ mod.addItem("element", "", "select",null,_chooser,false);
mod.show(100,50,"fixed");
}
Modified: branches/bxe_2_0/relaxng/RelaxNG.js
==============================================================================
--- branches/bxe_2_0/relaxng/RelaxNG.js (original)
+++ branches/bxe_2_0/relaxng/RelaxNG.js Mon Jun 5 11:15:41 2006
@@ -462,6 +462,15 @@
case "tabletype":
this.bxeTabletype = childNodes[i].firstChild.data;
break;
+ case "clipboard":
+ this.bxeClipboard = childNodes[i].firstChild.data;
+ if (childNodes[i].hasAttribute("child")) {
+ this.bxeClipboardChild = childNodes[i].getAttribute("child")
+ } else {
+ this.bxeClipboardChild = false;
+ }
+
+ break;
}
}
--
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs