twingle/twingle/content/workspace editorbindings.xml,1.3,1.4 genericviewer.xml,1.2,1.3 midasbindings.xml,1.4,1.5
[email protected] Mon, 10 Mar 2003 03:43:05 -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-serv24024
Modified Files:
editorbindings.xml genericviewer.xml midasbindings.xml
Log Message:
new editable widgets interface
Index: editorbindings.xml
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/editorbindings.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** editorbindings.xml 10 Mar 2003 07:40:44 -0000 1.3
--- editorbindings.xml 10 Mar 2003 10:43:03 -0000 1.4
***************
*** 9,18 ****
<content>
<xul:tabbox flex="1">
! <xul:tabs>
! <xul:tab label="Contents" oncommand="document.getBindingParent(this).onCommandStart('articleeditor');"/>
! <xul:tab label="Source" oncommand="document.getBindingParent(this).onCommandStart('sourceeditor');" />
! <xul:tab label="Preview" oncommand="document.getBindingParent(this).loadPreview()"/>
! <xul:tab label="Properties"/>
! <xul:tab label="Web Manage"/>
</xul:tabs>
<xul:tabpanels>
--- 9,18 ----
<content>
<xul:tabbox flex="1">
! <xul:tabs oncommand='document.getBindingParent(this).onTabsClick(this,event);'>
! <xul:tab label="Contents" />
! <xul:tab label="Source" />
! <xul:tab label="Preview" />
! <xul:tab label="Properties" />
! <xul:tab label="Web Manage" />
</xul:tabs>
<xul:tabpanels>
***************
*** 23,29 ****
<xul:sourceeditor flex="1" />
</xul:tabpanel>
-
<xul:tabpanel>
! <xul:iframe id="iframe" flex="1" src=""/>
</xul:tabpanel>
<xul:tabpanel>
--- 23,28 ----
<xul:sourceeditor flex="1" />
</xul:tabpanel>
<xul:tabpanel>
! <xul:preview flex="1" />
</xul:tabpanel>
<xul:tabpanel>
***************
*** 36,79 ****
</xul:tabbox>
</content>
- <implementation>
- <constructor>
- <![CDATA[
- dump("\narticleviewer constructor start");
- this.articleeditor = document.getAnonymousNodes(this)[0].getElementsByTagNameNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","midaseditor")[0];
- this.sourceeditor = document.getAnonymousNodes(this)[0].getElementsByTagNameNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","sourceeditor")[0];
- this.oldTab = 'articleeditor';
-
- dump("\narticleviewer constructor end");
- ]]>
- </constructor>
-
-
- <method name="onCommandStart">
- <parameter name="prop"/>
- <body>
- eval("this."+ prop + ".data = this." + this.oldTab + ".data");
- this.oldTab = prop;
- </body>
- </method>
-
- <method name="loadPreview">
- <body>
- <![CDATA[
- var ifr = document.getAnonymousNodes(this)[0].getElementsByTagNameNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul','iframe')[0];
- if (!ifr.getAttribute('src')) {
- ifr.setAttribute('src',this.previewurl);
- } else {
- ifr.webNavigation.reload(ifr.webNavigation.LOAD_FLAGS_NONE);
- }
- ]]>
- </body>
-
- </method>
-
-
- </implementation>
</binding>
! <!-- this binding is not used anywhere at the moment, <midaseditor> is used instead-->
<binding id="articleeditorbinding">
<content>
--- 35,41 ----
</xul:tabbox>
</content>
</binding>
! <!-- this binding is not used anywhere at the moment, <midaseditor> is used instead-->
<binding id="articleeditorbinding">
<content>
***************
*** 103,106 ****
</implementation>
</binding>
!
</bindings>
--- 65,68 ----
</implementation>
</binding>
!
</bindings>
Index: genericviewer.xml
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/genericviewer.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** genericviewer.xml 9 Mar 2003 22:50:53 -0000 1.2
--- genericviewer.xml 10 Mar 2003 10:43:03 -0000 1.3
***************
*** 9,16 ****
<content>
<xul:tabbox flex="1">
! <xul:tabs>
<xul:tab label="Contents"/>
<xul:tab label="Source"/>
-
<xul:tab label="Preview"/>
<xul:tab label="Properties"/>
--- 9,15 ----
<content>
<xul:tabbox flex="1">
! <xul:tabs oncommand='document.getBindingParent(this).onTabsClick(this);'>
<xul:tab label="Contents"/>
<xul:tab label="Source"/>
<xul:tab label="Preview"/>
<xul:tab label="Properties"/>
***************
*** 24,30 ****
<xul:sourceditor/>
</xul:tabpanel>
-
<xul:tabpanel>
! <xul:iframe flex="1" src=""/>
</xul:tabpanel>
<xul:tabpanel>
--- 23,28 ----
<xul:sourceditor/>
</xul:tabpanel>
<xul:tabpanel>
! <xul:preview/>
</xul:tabpanel>
<xul:tabpanel>
***************
*** 33,37 ****
<xul:tabpanel>
<xul:label/>
-
</xul:tabpanel>
</xul:tabpanels>
--- 31,34 ----
***************
*** 43,54 ****
<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);
--- 40,49 ----
<field name="previewurl"/>
<constructor>
! <![CDATA[
! // code by paul
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);
***************
*** 56,65 ****
tabs.appendChild(thistab);
tabs.selectedItem = thistab;
</constructor>
</implementation>
</binding>
! <binding id="genericsourceeditor">
<content>
<xul:vbox flex="1">
--- 51,85 ----
tabs.appendChild(thistab);
tabs.selectedItem = thistab;
+
+ // code by chregu
+ this.currentPanelEditWidget = document.getAnonymousNodes(this)[0].selectedPanel.childNodes[0];
+
+ ]]>
</constructor>
+
+ <property name="content">
+ <getter>
+ return this.currentPanelEditWidget.content;
+ </getter>
+ </property>
+
+ <method name="onTabsClick">
+ <parameter name="tabs"/>
+ <body>
+ <![CDATA[
+ tab = tabs.parentNode.selectedTab;
+ panel = tabs.parentNode.selectedPanel;
+ panelwidget = panel.childNodes[0];
+ if (panelwidget.update()) {
+ this.currentPanelEditWidget = panelwidget;
+ }
+ ]]>
+ </body>
+ </method>
</implementation>
</binding>
! <binding id="genericsourceeditor" extends="#genericwidget">
<content>
<xul:vbox flex="1">
***************
*** 73,77 ****
</constructor>
! <property name="data">
<getter>
return(this.sourceFrame.value);
--- 93,97 ----
</constructor>
! <property name="content">
<getter>
return(this.sourceFrame.value);
***************
*** 82,90 ****
</property>
</implementation>
-
-
</binding>
</bindings>
--- 102,145 ----
</property>
+ <method name="update">
+ <body>
+ this.content = this.parentWidget.content;
+ return true;
+ </body>
+ </method>
+
</implementation>
</binding>
+ <binding id="genericpreview">
+ <content>
+ <xul:vbox flex="1">
+ <xul:iframe id="iframe" flex="1" src=""/>
+ </xul:vbox>
+ </content>
+
+ <implementation>
+ <method name="update">
+ <body>
+ var ifr = document.getAnonymousNodes(this)[0].getElementsByTagNameNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul','iframe')[0];
+ if (!ifr.getAttribute('src')) {
+ ifr.setAttribute('src',document.getBindingParent(this).previewurl);
+ } else {
+ ifr.webNavigation.reload(ifr.webNavigation.LOAD_FLAGS_NONE);
+ }
+ return false;
+ </body>
+ </method>
+ </implementation>
+ </binding>
+
+ <binding id="genericwidget">
+
+ <implementation>
+ <constructor>
+ this.parentWidget = document.getBindingParent(this);
+ </constructor>
+ </implementation>
+ </binding>
</bindings>
Index: midasbindings.xml
===================================================================
RCS file: /cvs/root/twingle/twingle/content/workspace/midasbindings.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** midasbindings.xml 9 Mar 2003 22:50:53 -0000 1.4
--- midasbindings.xml 10 Mar 2003 10:43:03 -0000 1.5
***************
*** 7,38 ****
! <binding id="midaseditorbinding">
<content>
<xul:tabbox flex="1">
! <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:tabbox>
</content>
<implementation>
<constructor>
! this.loadHTML();
</constructor>
<fields name="editFrame"/>
!
! <property name="data">
<getter>
! var ser = new XMLSerializer();
! var children = this.editFrame.contentDocument.body.childNodes;
! var out = "";
! for (i = 0; i < children.length; i++ ) {
out += ser.serializeToString(children[i]);
}
! return out;
</getter>
<setter>
--- 7,42 ----
! <binding id="midaseditorbinding" extends="genericviewer.xml#genericwidget">
<content>
<xul:tabbox flex="1">
! <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:tabbox>
</content>
<implementation>
<constructor>
! // this has to be changed. it only works, if this widget is on the first tab... waiting for proposal of paul about better solution
! this.startUp()
</constructor>
<fields name="editFrame"/>
!
! <property name="content">
<getter>
! <![CDATA[
!
! var ser = new XMLSerializer();
! var children = this.editFrame.contentDocument.body.childNodes;
! var out = "";
! for (i = 0; i < children.length; i++ ) {
out += ser.serializeToString(children[i]);
}
! return out;
! ]]>
</getter>
<setter>
***************
*** 41,44 ****
--- 45,61 ----
</property>
+ <method name="update">
+ <body>
+ this.content = this.parentWidget.content;
+ return true;
+ </body>
+ </method>
+
+ <method name="startUp">
+ <body>
+ this.loadHTML();
+ </body>
+ </method>
+
<method name="setEditFrame">
<body>
***************
*** 78,82 ****
]]></body>
</method>
!
</implementation>
--- 95,99 ----
]]></body>
</method>
!
</implementation>