twingle/twingle/content/workspace editorbindings.xml,NONE,1.1 genericviewer.xml,NONE,1.1 midasbindings.xml,NONE,1.1 bindings.xml,1.1.1.1,1.2
[email protected] Sun, 9 Mar 2003 11:58:40 -0700 (MST)
| Newsgroups | gmane.comp.cms.oscom.twingle.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvs/root/twingle/twingle/content/workspace
In directory alpha.oscom.org:/tmp/cvs-serv20073/content/workspace
Modified Files:
bindings.xml
Added Files:
editorbindings.xml genericviewer.xml midasbindings.xml
Log Message:
First prototype of Midaseditor
- Saving does not work
- Switching from Source-edit to Midas-edit neither
- It's just a prototype, doesn't have much architecture thoughts behind it
--- NEW FILE: editorbindings.xml ---
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="articleviewerbinding" extends="genericviewer.xml#genericviewerbinding">
<content>
<xul:tabbox flex="1">
<xul:tabs>
<xul:tab label="Contents"/>
<xul:tab label="Preview" oncommand="
var articleviewer = document.getAnonymousNodes(this)[0].parentNode.parentNode.parentNode.parentNode;
var ifr = document.getAnonymousNodes(this)[0].parentNode.parentNode.parentNode.getElementsByTagNameNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul','iframe')[0];
if (!ifr.getAttribute('src')) {
ifr.setAttribute('src',articleviewer.previewurl);
} else {
ifr.webNavigation.reload(ifr.webNavigation.LOAD_FLAGS_NONE);;
}
"/>
<xul:tab label="Properties"/>
<xul:tab label="Web Manage"/>
</xul:tabs>
<xul:tabpanels>
<xul:tabpanel flex="1">
<!-- <xul:articleeditor flex="1" id="bla"/> -->
<xul:midaseditor flex="1" id="bla"/>
</xul:tabpanel>
<xul:tabpanel>
<xul:iframe id="iframe" flex="1" src=""/>
</xul:tabpanel>
<xul:tabpanel>
<xul:label value="some properties"/>
</xul:tabpanel>
<xul:tabpanel>
<xul:label value="some web manage"/>
</xul:tabpanel>
</xul:tabpanels>
</xul:tabbox>
</content>
<implementation>
<constructor>
<![CDATA[
dump("\narticleviewer constructor start");
var articleeditor = document.getAnonymousNodes(this)[0].getElementsByTagNameNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","midaseditor")[0];
dump("\narticleviewer constructor end");
]]>
</constructor>
<!-- <field name="resourcetitle"/>
<field name="sourceurl"></field>
--> </implementation>
</binding>
<binding id="articleeditorbinding">
<content>
<xul:vbox flex="1">
<xul:hbox>
<xul:button label="ReLoad (not working..)"
oncommand="document.getBindingParent(this).loadHTML();"/>
<xul:spacer flex="1"/>
</xul:hbox>
<xul:textbox name="editor" xbl:inherits="value,flex"
value="in articleeditorbinding" height="300px" flex="1"/>
</xul:vbox>
</content>
<implementation>
<method name="loadHTML">
<body><![CDATA[
var textbox = document.getAnonymousNodes(this)[0].getElementsByTagNameNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","textbox")[0];
var p = new XMLHttpRequest();
p.textbox = textbox;
p.onload = function(e) {p = e.target; p.textbox.setAttribute("value",p.responseText);}
p.open("GET",this.parentNode.parentNode.parentNode.parentNode.sourceurl );
p.send("",true);
]]></body>
</method>
</implementation>
</binding>
</bindings>
--- NEW FILE: genericviewer.xml ---
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="genericviewerbinding" extends="xul:tabpanel">
<content>
<xul:tabbox flex="1">
<xul:tabs>
<xul:tab label="Contents"/>
<xul:tab label="Preview"/>
<xul:tab label="Properties"/>
<xul:tab label="Web Manage"/>
</xul:tabs>
<xul:tabpanels>
<xul:tabpanel flex="1">
<xul:textbox value="Some sample text" flex="1"/>
</xul:tabpanel>
<xul:tabpanel>
<xul:iframe flex="1" src=""/>
</xul:tabpanel>
<xul:tabpanel>
<xul:label/>
</xul:tabpanel>
<xul:tabpanel>
<xul:label/>
</xul:tabpanel>
</xul:tabpanels>
</xul:tabbox>
</content>
<implementation>
<field name="resourcetitle"/>
<field name="sourceurl"></field>
<field name="previewurl"/>
<constructor>
var folderviewer = document.getAnonymousNodes(this)[0].parentNode;
var parent = folderviewer.parentNode.parentNode;
var tabs = parent.getElementsByTagName("tabs")[0];
var rt = this.resourcetitle;
var thistab = document.createElement("tab");
thistab.setAttribute("label",rt);
thistab.setAttribute("id",rt + "-tab");
tabs.appendChild(thistab);
tabs.selectedItem = thistab;
</constructor>
</implementation>
</binding>
</bindings>
--- NEW FILE: midasbindings.xml ---
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="midaseditorbinding">
<content>
<xul:tabbox flex="1">
<xul:tabs>
<xul:tab label="Midas"
/>
<xul:tab label="Source" oncommand="document.getAnonymousNodes(this)[0].parentNode.parentNode.parentNode.getElementsByAttribute('name','sourceedit')[0].setAttribute('value',document.getBindingParent(this).dataSource)"/>
</xul:tabs>
<xul:tabpanels>
<xul:tabpanel>
<xul:vbox flex="1">
<xul:hbox>
<xul:button label="bold" oncommand='document.getBindingParent(this).midasCommand("Bold");'/>
<xul:button label="italics" oncommand='document.getBindingParent(this).midasCommand("Italic");'/>
</xul:hbox>
<xul:iframe src="" height="300px" flex="1"/>
</xul:vbox>
</xul:tabpanel>
<xul:tabpanel>
<xul:textbox name="sourceedit" height="300px" flex="1"/>
</xul:tabpanel>
</xul:tabpanels>
</xul:tabbox>
</content>
<implementation>
<constructor>
this.loadHTML();
</constructor>
<fields name="editFrame"/>
<property readonly="true" name="dataSource">
<getter>
var ser = new XMLSerializer();
return ser.serializeToString(this.editFrame.contentDocument);
</getter>
</property>
<method name="setEditFrame">
<body>
<![CDATA[
this.editFrame = document.getAnonymousNodes(this)[0].getElementsByTagNameNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","iframe")[0];
]]>
</body>
</method>
<method name="enableDesignMode">
<parameter name="event"/>
<body>
<![CDATA[
// this = iframe here, since it's called from the onload event of the iframe
this.contentDocument.designMode = "on";
]]>
</body>
</method>
<method name="loadHTML">
<body><![CDATA[
this.setEditFrame();
this.editFrame.onload = this.enableDesignMode;
if (this.editFrame.getAttribute("src") == "" ) {
this.editFrame.setAttribute("src", this.parentNode.parentNode.parentNode.parentNode.sourceurl );
}
]]></body>
</method>
<method name="midasCommand">
<parameter name="commandName"/>
<body><![CDATA[
this.editFrame.contentDocument.execCommand(commandName, false, null);
]]></body>
</method>
</implementation>
</binding>
</bindings>
Index: bindings.xml
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/bindings.xml,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** bindings.xml 5 Mar 2003 19:30:32 -0000 1.1.1.1
--- bindings.xml 9 Mar 2003 18:58:38 -0000 1.2
***************
*** 38,71 ****
<constructor>
- /* Grab the tabbox and add a tab */
- var folderviewer = document.getAnonymousNodes(this)[0].parentNode;
- var parent = folderviewer.parentNode.parentNode;
- var tabs = parent.getElementsByTagName("tabs")[0];
- var rt = this.getAttribute("resourcetitle");
-
- var thistab = document.createElement("tab");
- thistab.setAttribute("label",rt);
- thistab.setAttribute("id",rt + "-tab");
- tabs.appendChild(thistab);
-
- // Fetch the source and put it in the editor
- var p = new XMLHttpRequest();
- function myfunc (e) {
- if (p.responseXML) {
- var t = document.getAnonymousNodes(this)[0]
- var xulns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- // Set the edit widget source
- t.childNodes[1].childNodes[0]
- .getElementsByTagNameNS(xulns,"textbox")[0]
- .setProperty("value","ieieei");
- }
- }
-
- // p.onload = myfunc;
- // var sourceurl = this.getAttribute("sourceurl");
- // dump("\n this.sourceurl is " + sourceurl);
- // p.open("GET", sourceurl, false);
- // p.send(null);
-
</constructor>
</implementation>
--- 38,41 ----