You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2005/02/17 23:57:31 UTC

svn commit: r154214 [3/10] - in incubator/graffito/trunk/applications: ./ browser/ browser/src/ browser/src/java/ browser/src/java/org/ browser/src/java/org/apache/ browser/src/java/org/apache/portals/ browser/src/java/org/apache/portals/graffito/ browser/src/java/org/apache/portals/graffito/portlets/ browser/src/java/org/apache/portals/graffito/portlets/resources/ browser/src/java/org/apache/portals/graffito/portlets/util/ browser/src/java/org/apache/portals/graffito/servlets/ browser/src/java/org/apache/portals/graffito/util/ browser/src/webapp/ browser/src/webapp/WEB-INF/ browser/src/webapp/WEB-INF/tabs/ browser/src/webapp/WEB-INF/velocity/ browser/src/webapp/WEB-INF/view/ browser/src/webapp/WEB-INF/view/document/ browser/src/webapp/WEB-INF/view/folder/ browser/src/webapp/WEB-INF/view/security/ browser/src/webapp/kupu/ browser/src/webapp/kupu/kupudrawers/ browser/src/webapp/kupu/kupudrawers/logos/ browser/src/webapp/kupu/kupuimages/ browser/src/webapp/kupu/kupupopups/

Added: incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/view/tab.vm
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/view/tab.vm?view=auto&rev=154214
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/view/tab.vm (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/view/tab.vm Thu Feb 17 15:57:09 2005
@@ -0,0 +1,52 @@
+#*
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*#
+
+#**
+
+@author <a href="mailto:christophe.lombart@sword-technologies.com">Christophe Lombart</a>
+@version $Id:  Exp $
+
+*#
+#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
+#set ($tabPages = $tab.getPages())
+
+
+<div id="tabs">
+<table border="0" cellpadding="0" cellspacing="0" width="65%">
+  <tbody>
+	<tr>  
+		<td  style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+		<td  style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+		<td  style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+		#foreach($tabPage in $tabPages)
+			#if($tabPage.isSelected())	
+				<td class="LTabLeft" style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+				<td class="LTab" align="center" valign="middle">$tabPage.getLabel()</td>
+				<td class="LTabRight" style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+			#else
+				<td class="LTabLeftLow" style="font-size: 1pt;" nowrap="true">&nbsp;</td>
+				<td class="LTabLow" align="center" valign="middle"><a href="">$tabPage.getLabel()</a></td>
+				<td class="LTabRightLow" style="font-size: 1pt;" nowrap="true">&nbsp;</td>			
+			#end	                     
+		#end
+	</tr>        
+  </tbody>			
+</table>	
+</div>
+<div class="portlet-section-alternate" /></div>
+#parse($tab.getSelectedPage().getPage())
+
+

Added: incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/web.xml?view=auto&rev=154214
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/web.xml (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/WEB-INF/web.xml Thu Feb 17 15:57:09 2005
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+                         "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+  <display-name>Graffito Browser</display-name>
+  <description>Graffito Browser Application</description>
+
+  <servlet>
+    <servlet-name>JetspeedContainer</servlet-name>
+    <display-name>Jetspeed Container</display-name>
+    <description>MVC Servlet for Jetspeed Portlet Applications</description>
+    <servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet</servlet-class>
+  </servlet>
+
+  	<!-- Define Velocity Servlet -->
+	<servlet>
+		<servlet-name>velocity</servlet-name>
+		<servlet-class>org.apache.portals.bridges.velocity.BridgesVelocityViewServlet</servlet-class>
+		<init-param>
+			<param-name>org.apache.velocity.toolbox</param-name>
+			<param-value>/WEB-INF/velocity/toolbox.xml</param-value>
+		</init-param>
+		<init-param>
+			<param-name>org.apache.velocity.properties</param-name>
+			<param-value>/WEB-INF/velocity/velocity.properties</param-value>
+		</init-param>
+		<load-on-startup>10</load-on-startup>
+	</servlet>
+
+	<!-- Define Velocity Servlet -->
+	<servlet>
+		<servlet-name>viewer</servlet-name>
+		<servlet-class>org.apache.portals.graffito.servlets.GraffitoViewerServlet</servlet-class>
+		<load-on-startup>10</load-on-startup>
+	</servlet>
+		
+    <!-- Map *.vm files to Velocity  -->
+	<servlet-mapping>
+		<servlet-name>velocity</servlet-name>
+		<url-pattern>*.vm</url-pattern>
+	</servlet-mapping>	
+
+	<servlet-mapping>
+		<servlet-name>viewer</servlet-name>
+		<url-pattern>/viewer</url-pattern>
+	</servlet-mapping>
+
+  <servlet-mapping>
+     <servlet-name>
+        JetspeedContainer
+     </servlet-name>
+     <url-pattern>
+       /container/*
+     </url-pattern>
+  </servlet-mapping>
+  
+  
+</web-app>

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu/fulldoc.html
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/applications/browser/src/webapp/kupu/fulldoc.html?view=auto&rev=154214
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu/fulldoc.html (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu/fulldoc.html Thu Feb 17 15:57:09 2005
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <title>Test Content Document</title>
+
+ <!-- headers to prevent the browser from caching, these *must* be provided,
+        either in meta-tag form or as HTTP headers -->
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+
+ <!-- make sure the browser's charset is UTF-8 -->
+ <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+
+ <!-- some meta data, customizations could build property tools that
+        edit more of them -->
+ <meta name="Subject" content="" />
+ <meta name="Publisher" content="No publisher" />
+ <meta name="Description" content="Document-centric editing overview." />
+ <meta name="Contributors" content="" />
+ <meta name="Effective_date" content="None" />
+ <meta name="Expiration_date" content="None" />
+ <meta name="Type" content="Document" />
+ <meta name="Format" content="text/html" />
+ <meta name="Language" content="" />
+ <meta name="Rights" content="" />
+ <style type="text/css">
+    /* this is an example CSS that defines styles for all classes
+        available in the class pulldown of the table. of course 
+        customizations can include completely different styles, and
+        also for different elements (changeable or not) */
+
+    table {
+        border-width: 0px;
+        padding: 3px;
+    }
+
+    table.plain td {
+        border-width: 1px;
+        border-style: solid;
+        border-color: black;
+    }
+
+    table.listing {
+        border-width: 0px;
+    }
+
+    table.listing td {
+        border-style: solid;
+        border-width: 1px;
+        border-color: black;
+    }
+    
+    table.listing th {
+        border-style: solid;
+        border-width: 1px;
+        border-color: black;
+        background-color: gray;
+        color: white;
+    }
+    
+    table.grid {
+        border-width: 0px;
+    }
+
+    table.grid td {
+        border-style: solid;
+        border-width: 1px;
+        border-color: black;
+    }
+    
+    table.grid th {
+        border-style: solid;
+        border-width: 1px;
+        border-color: black;
+    }
+    
+    table.data {
+        border-style: solid;
+        border-width: 1px;
+        border-color: black;
+    }
+
+    table.data td {
+        border-style: solid;
+        border-width: 1px;
+        border-color: gray;
+    }
+    
+    table.data th {
+        border-style: solid;
+        border-width: 1px;
+        border-color: gray;
+    }
+
+    .repeatable {
+        background-color: pink;
+    }
+    
+ </style>
+ </head>
+<body>
+
+<h1>Document-Centric Editing</h1>
+
+<p>There are two approaches to content editing in a web browser.  The
+first is a <em>data-oriented</em> approach, where the content is split into
+concrete parts.  The editing occurs in a <code>&lt;form&gt;</code> with various 
+fields. This approach fits best when there are specific pieces of information 
+needed for the resource.</p>
+<p>The second is a <em>document-oriented</em> approach, where the essence of 
+the resource is free-flowing. This does not mean that the content is 
+unstructured, but it is less rigid than fields. Often there are elements that
+provide metadata for the resource.</p>
+
+<p>Most information in organizations is free-flowing, as studies show.
+For these cases, a rich editor like Kupu makes sense.  Equally, these
+cases point towards a <em>document-centric</em> approach, rather than
+rigid <a title="HTML Specification" href="http://www.w3.org/Markup">HTML</a> 
+forms.</p>
+
+<p>The following table shows different aspects, and happens to give 
+us a chance to test table editing in Kupu:</p>
+
+<h4>Comparing Data- and Document-Centric</h4>
+<table border="0" class="plain" cellspacing="0">
+<tbody>
+    <tr>
+        <th>&nbsp;</th>
+        <th>Data-centric</th>
+        <th>Document-centric</th>
+    </tr>
+    <tr>
+        <td>Implementation</td>
+        <td>form fields</td>
+        <td>iframe</td>
+    </tr>
+    <tr>
+        <td>Metadata</td>
+        <td>form elements</td>
+        <td>iframe document "head"</td>
+    </tr>
+</tbody>
+</table>
+
+
+</body>
+</html>

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.html
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.html?view=auto&rev=154214
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.html (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.html Thu Feb 17 15:57:09 2005
@@ -0,0 +1,364 @@
+<?xml version="1.0"?>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Test Editor</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <link href="kupustyles.css" rel="stylesheet" type="text/css"/>
+    <link href="kupudrawerstyles.css" rel="stylesheet" type="text/css"/>
+    <script type="text/javascript" src="sarissa.js"> </script>
+    <script type="text/javascript" src="kupuhelpers.js"> </script>
+    <script type="text/javascript" src="kupueditor.js"> </script>
+    <script type="text/javascript" src="kupubasetools.js"> </script>
+    <script type="text/javascript" src="kupuloggers.js"> </script>
+    <script type="text/javascript" src="kupucontentfilters.js"> </script>
+    <script type="text/javascript" src="kupucontextmenu.js"> </script>
+    <script type="text/javascript" src="kupuinit.js"> </script>
+    <script type="text/javascript" src="kupustart.js"> </script>
+    <script type="text/javascript" src="kupusaveonpart.js"> </script>
+    <script type="text/javascript" src="kupusourceedit.js"> </script>
+    <script type="text/javascript" src="kupudrawers.js"> </script>
+  </head>
+  <body onload="kupu = startKupu()">
+    <h1>Kupu Editor Test Page</h1>
+    <div style="display: none;">
+      <xml id="kupuconfig">
+        <kupuconfig>
+          <dst>fulldoc.html</dst>
+          <use_css>1</use_css>
+          <reload_after_save>0</reload_after_save>
+          <strict_output>1</strict_output>
+          <content_type>application/xhtml+xml</content_type>
+          <compatible_singletons>1</compatible_singletons>
+          <table_classes>
+            <class>plain</class>
+            <class>listing</class>
+            <class>grid</class>
+            <class>data</class>
+          </table_classes>
+          <image_xsl_uri>kupudrawers/drawer.xsl</image_xsl_uri>
+          <link_xsl_uri>kupudrawers/drawer.xsl</link_xsl_uri>
+          <image_libraries_uri>kupudrawers/imagelibrary.xml</image_libraries_uri>
+          <link_libraries_uri>kupudrawers/linklibrary.xml</link_libraries_uri>
+          <search_images_uri> </search_images_uri>
+          <search_links_uri> </search_links_uri>
+        </kupuconfig>
+      </xml>
+    </div>
+    <div class="kupu-fulleditor">
+      <div class="kupu-tb" id="toolbar">
+        <span id="kupu-tb-buttons">
+          <span class="kupu-tb-buttongroup" style="float: right" id="kupu-logo">
+            <button type="button" class="kupu-logo" title="Kupu 1.2rc1" accesskey="k" onclick="window.open('http://kupu.oscom.org');">&#xA0;</button>
+          </span>
+          <select id="kupu-tb-styles">
+            <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="P" i18n:translate="paragraph-normal">
+        Normal
+      </option>
+            <option value="H1"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 1
+      </option>
+            <option value="H2"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 2
+      </option>
+            <option value="H3"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 3
+      </option>
+            <option value="H4"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 4
+      </option>
+            <option value="H5"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 5
+      </option>
+            <option value="H6"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 6
+      </option>
+            <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="PRE" i18n:translate="paragraph-formatted">
+        Formatted
+      </option>
+          </select>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-save" id="kupu-save-button" title="save: alt-s" i18n:attributes="title" accesskey="s">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-bold" id="kupu-bold-button" title="bold: alt-b" i18n:attributes="title" accesskey="b">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-italic" id="kupu-italic-button" title="italic: alt-i" i18n:attributes="title" accesskey="i">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-underline" id="kupu-underline-button" title="underline: alt-u" i18n:attributes="title" accesskey="u">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-subsuper">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-subscript" id="kupu-subscript-button" title="subscript: alt--" i18n:attributes="title" accesskey="-">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-superscript" id="kupu-superscript-button" title="superscript: alt-+" i18n:attributes="title" accesskey="+">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-forecolor" id="kupu-forecolor-button" title="text color: alt-f" i18n:attributes="title" accesskey="f">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button" title="background color: alt-h" i18n:attributes="title" accesskey="h">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-justify">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" title="left justify: alt-l" i18n:attributes="title" accesskey="l">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifycenter" id="kupu-justifycenter-button" title="center justify: alt-c" i18n:attributes="title" accesskey="c">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifyright" id="kupu-justifyright-button" title="right justify: alt-r" i18n:attributes="title" accesskey="r">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-list">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertorderedlist" title="numbered list: alt-#" id="kupu-list-ol-addbutton" i18n:attributes="title" accesskey="#">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertunorderedlist" title="unordered list: alt-*" id="kupu-list-ul-addbutton" i18n:attributes="title" accesskey="*">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-definitionlist">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertdefinitionlist" title="definition list: alt-=" id="kupu-list-dl-addbutton" i18n:attributes="title" accesskey="=">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-indent">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-outdent" id="kupu-outdent-button" title="outdent: alt-&lt;" i18n:attributes="title" accesskey="&lt;">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-indent" id="kupu-indent-button" title="indent: alt-&gt;" i18n:attributes="title" accesskey="&gt;">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-image" id="kupu-imagelibdrawer-button" title="image" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-inthyperlink" id="kupu-linklibdrawer-button" title="internal link" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="external link" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-table" id="kupu-tabledrawer-button" title="table" i18n:attributes="title">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-removeimage invisible" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-removelink invisible" id="kupu-removelink-button" title="Remove link" i18n:attributes="title">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-undo">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-undo" id="kupu-undo-button" title="undo: alt-z" i18n:attributes="title" accesskey="z">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-redo" id="kupu-redo-button" title="redo: alt-y" i18n:attributes="title" accesskey="y">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-source">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-source" id="kupu-source-button" title="edit HTML code" i18n:attributes="title">&#xA0;</button>
+          </span>
+        </span>
+        <select id="kupu-ulstyles">
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="disc" i18n:translate="list-disc">&#x25CF;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="square" i18n:translate="list-square">&#x25A0;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="circle" i18n:translate="list-circle">&#x25CB;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="none" i18n:translate="list-nobullet">no bullet</option>
+        </select>
+        <select id="kupu-olstyles">
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="decimal" i18n:translate="list-decimal">1</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="upper-roman" i18n:translate="list-upperroman">I</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="lower-roman" i18n:translate="list-lowerroman">i</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="upper-alpha" i18n:translate="list-upperalpha">A</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="lower-alpha" i18n:translate="list-loweralpha">a</option>
+        </select>
+        <div style="display:block;">
+          <div id="kupu-librarydrawer" class="kupu-drawer">
+      </div>
+        </div>
+        <div id="kupu-linkdrawer" class="kupu-drawer">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">External Link</h1>
+          <div id="kupu-linkdrawer-addlink" class="kupu-panels">
+            <table>
+              <tr>
+                <td>
+                  <div class="kupu-toolbox-label"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="items-matching-keyword">
+            Link the highlighted text to this URL
+          </span>:
+        </div>
+                  <input id="kupu-linkdrawer-input" class="kupu-toolbox-st" type="text"/>
+                </td>
+                <td class="kupu-preview-button">
+                  <button type="button" onclick="drawertool.current_drawer.preview()">Preview</button>
+                </td>
+              </tr>
+              <tr>
+                <td colspan="2" align="center">
+                  <iframe frameborder="1" scrolling="auto" width="440" height="198" id="kupu-linkdrawer-preview" src="kupublank.html">
+        </iframe>
+                </td>
+              </tr>
+            </table>
+            <div class="kupu-dialogbuttons">
+              <button type="button" onclick="drawertool.current_drawer.save()">Ok</button>
+              <button type="button" onclick="drawertool.closeDrawer()">Cancel</button>
+            </div>
+          </div>
+        </div>
+        <div id="kupu-tabledrawer" class="kupu-drawer">
+          <h1>Table</h1>
+          <div class="kupu-panels">
+            <table width="99%">
+              <tr class="kupu-panelsrow">
+                <td class="kupu-panel">
+                  <table width="100%">
+                    <tbody>
+                      <tr>
+                        <td class="kupu-toolbox-label">Table Class</td>
+                        <td width="50%">
+                          <select id="kupu-tabledrawer-classchooser" onchange="drawertool.current_drawer.tool.setTableClass(this.options[this.selectedIndex].value)">
+                            <option value="plain">Plain</option>
+                            <option value="listing">Listing</option>
+                            <option value="grid">Grid</option>
+                            <option value="data">Data</option>
+                          </select>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td colspan="2" class="">
+                          <div id="kupu-tabledrawer-addtable">
+                            <table width="100%">
+                              <tr>
+                                <td class="kupu-toolbox-label" width="50%">Rows</td>
+                                <td>
+                                  <input type="text" id="kupu-tabledrawer-newrows"/>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td class="kupu-toolbox-label">Columns</td>
+                                <td>
+                                  <input type="text" id="kupu-tabledrawer-newcols"/>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td class="kupu-toolbox-label">Headings</td>
+                                <td class="kupu-toolbox-label">
+                                  <input name="kupu-tabledrawer-makeheader" id="kupu-tabledrawer-makeheader" type="checkbox"/>
+                                  <label for="kupu-tabledrawer-makeheader">Create</label>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td colspan="2" style="text-align: center">
+                                  <button type="button" onclick="drawertool.current_drawer.createTable()">Add Table</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td colspan="2" style="text-align: center">
+                                  <button type="button" onclick="drawertool.current_drawer.tool.fixAllTables()">Fix All Tables</button>
+                                </td>
+                              </tr>
+                            </table>
+                          </div>
+                          <div id="kupu-tabledrawer-edittable">
+                            <table width="100%">
+                              <tr>
+                                <td width="50%">Current column alignment</td>
+                                <td>
+                                  <select id="kupu-tabledrawer-alignchooser" onchange="drawertool.current_drawer.tool.setColumnAlign(this.options[this.selectedIndex].value)">
+                                    <option value="left">Left</option>
+                                    <option value="center">Center</option>
+                                    <option value="right">Right</option>
+                                  </select>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Column</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addcolumn-button" onclick="drawertool.current_drawer.tool.addTableColumn()">Add</button>
+                                  <button type="button" id="kupu-tabledrawer-delcolumn-button" onclick="drawertool.current_drawer.tool.delTableColumn()">Remove</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Row</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addrow-button" onclick="drawertool.current_drawer.tool.addTableRow()">Add</button>
+                                  <button type="button" id="kupu-tabledrawer-delrow-button" onclick="drawertool.current_drawer.tool.delTableRow()">Remove</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Fix Table</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addrow-button" onclick="drawertool.current_drawer.tool.fixTable()">Fix</button>
+                                </td>
+                              </tr>
+                            </table>
+                          </div>
+                        </td>
+                      </tr>
+                    </tbody>
+                  </table>
+                </td>
+              </tr>
+            </table>
+            <div class="kupu-dialogbuttons">
+              <button type="button" onclick="drawertool.closeDrawer()">Close</button>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div xmlns="" class="kupu-toolboxes">
+        <div class="kupu-toolbox" id="kupu-toolbox-properties">
+          <h1>Properties</h1>
+          <div class="kupu-toolbox-label">Title:</div>
+          <input class="wide" id="kupu-properties-title"/>
+          <div class="kupu-toolbox-label">Description:</div>
+          <textarea class="wide" id="kupu-properties-description"> </textarea>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-links">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="links">Links</h1>
+          <div id="kupu-toolbox-addlink">
+            <div class="kupu-toolbox-label">
+              <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="items-matching-keyword">
+            Link the highlighted text to this URL:
+          </span>
+            </div>
+            <input id="kupu-link-input" class="wide" type="text"/>
+            <div class="kupu-toolbox-buttons">
+              <button type="button" id="kupu-link-button" class="kupu-toolbox-action">Make Link</button>
+            </div>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-images">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="images">Images</h1>
+          <div class="kupu-toolbox-label">
+            <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">
+                Insert image at the following URL:
+              </span>
+          </div>
+          <input id="kupu-image-input" value="kupuimages/kupu_icon.gif" class="wide" type="text"/>
+          <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">
+              Image float:
+            </span>
+          <select class="wide" id="kupu-image-float-select">
+            <option value="none">No float</option>
+            <option value="left">Left</option>
+            <option value="right">Right</option>
+          </select>
+          <div class="kupu-toolbox-buttons">
+            <button type="button" id="kupu-image-addbutton" class="kupu-toolbox-action">Insert Image</button>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-tables">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="table-inspector">Tables</h1>
+          <div class="kupu-toolbox-label">Table Class:
+        <select class="wide" id="kupu-table-classchooser"> </select>
+      </div>
+          <div id="kupu-toolbox-addtable">
+            <div class="kupu-toolbox-label">Rows:</div>
+            <input class="wide" type="text" id="kupu-table-newrows"/>
+            <div class="kupu-toolbox-label">Columns:</div>
+            <input class="wide" type="text" id="kupu-table-newcols"/>
+            <div class="kupu-toolbox-label">
+          Headings:
+          <input name="kupu-table-makeheader" id="kupu-table-makeheader" type="checkbox"/>
+          <label for="kupu-table-makeheader">Create</label>
+        </div>
+            <div class="kupu-toolbox-buttons">
+              <button type="button" id="kupu-table-fixall-button">Fix Table</button>
+              <button type="button" id="kupu-table-addtable-button">Add Table</button>
+            </div>
+          </div>
+          <div id="kupu-toolbox-edittable">
+            <div class="kupu-toolbox-label">Col Align:
+            <select class="wide" id="kupu-table-alignchooser"><option value="left">Left</option><option value="center">Center</option><option value="right">Right</option></select>
+          </div>
+            <div class="kupu-toolbox-buttons">
+              <br/>
+              <button type="button" id="kupu-table-addcolumn-button">Add Column</button>
+              <button type="button" id="kupu-table-delcolumn-button">Remove Column</button>
+              <br/>
+              <button type="button" id="kupu-table-addrow-button">Add Row</button>
+              <button type="button" id="kupu-table-delrow-button">Remove Row</button>
+              <button type="button" id="kupu-table-fix-button">Fix</button>
+            </div>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-debug">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="debug-log">Debug Log</h1>
+          <div id="kupu-toolbox-debuglog" class="kupu-toolbox-label">
+      </div>
+        </div>
+      </div>
+      <table id="kupu-colorchooser" cellpadding="0" cellspacing="0" style="position: fixed; border-style: solid; border-color: black; border-width: 1px;">
+    </table>
+      <div class="kupu-editorframe">
+        <form>
+          <iframe id="kupu-editor" frameborder="0" src="fulldoc.html" scrolling="auto">
+        </iframe>
+          <textarea class="kupu-editor-textarea" id="kupu-editor-textarea"> </textarea>
+        </form>
+      </div>
+    </div>
+  </body>
+</html>

Added: incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.vm
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.vm?view=auto&rev=154214
==============================================================================
--- incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.vm (added)
+++ incubator/graffito/trunk/applications/browser/src/webapp/kupu/kupu.vm Thu Feb 17 15:57:09 2005
@@ -0,0 +1,373 @@
+<?xml version="1.0"?>
+
+#set ($MESSAGES = $portletConfig.getResourceBundle($renderRequest.Locale))
+#set ($document = $browserInfo.getCurrentCmsObject())
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Test Editor</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <link href="/graffito-browser/kupu/kupustyles.css" rel="stylesheet" type="text/css"/>
+    <link href="/graffito-browser/kupu/kupudrawerstyles.css" rel="stylesheet" type="text/css"/>
+    <script type="text/javascript" src="/graffito-browser/kupu/sarissa.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupuhelpers.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupueditor.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupubasetools.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupuloggers.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupucontentfilters.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupucontextmenu.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupuinit.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupustart.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupusaveonpart.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupusourceedit.js"> </script>
+    <script type="text/javascript" src="/graffito-browser/kupu/kupudrawers.js"> </script>
+  </head>
+  <body onload="kupu = startKupu()">	
+    <h1>Kupu Editor Test Page</h1>
+    <div style="display: none;">
+      <xml id="kupuconfig">
+        <kupuconfig>
+          <dst>fulldoc.html</dst>
+          <use_css>1</use_css>
+          <reload_after_save>0</reload_after_save>
+          <strict_output>1</strict_output>
+          <content_type>application/xhtml+xml</content_type>
+          <compatible_singletons>1</compatible_singletons>
+          <table_classes>
+            <class>plain</class>
+            <class>listing</class>
+            <class>grid</class>
+            <class>data</class>
+          </table_classes>
+          <image_xsl_uri>/graffito-browser/kupu/kupudrawers/drawer.xsl</image_xsl_uri>
+          <link_xsl_uri>/graffito-browser/kupu/kupudrawers/drawer.xsl</link_xsl_uri>
+          <image_libraries_uri>/graffito-browser/kupu/kupudrawers/imagelibrary.xml</image_libraries_uri>
+          <link_libraries_uri>/graffito-browser/kupu/kupudrawers/linklibrary.xml</link_libraries_uri>
+          <search_images_uri> </search_images_uri>
+          <search_links_uri> </search_links_uri>
+        </kupuconfig>
+      </xml>
+    </div>
+    <div class="kupu-fulleditor">
+      <div class="kupu-tb" id="toolbar">
+        <span id="kupu-tb-buttons">
+          <span class="kupu-tb-buttongroup" style="float: right" id="kupu-logo">
+            <button type="button" class="kupu-logo" title="Kupu 1.2rc1" accesskey="k" onclick="window.open('http://kupu.oscom.org');">&#xA0;</button>
+          </span>
+          <select id="kupu-tb-styles">
+            <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="P" i18n:translate="paragraph-normal">
+        Normal
+      </option>
+            <option value="H1"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 1
+      </option>
+            <option value="H2"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 2
+      </option>
+            <option value="H3"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 3
+      </option>
+            <option value="H4"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 4
+      </option>
+            <option value="H5"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 5
+      </option>
+            <option value="H6"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="heading">Heading</span> 6
+      </option>
+            <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="PRE" i18n:translate="paragraph-formatted">
+        Formatted
+      </option>
+          </select>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-save" id="kupu-save-button" title="save: alt-s" i18n:attributes="title" accesskey="s">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-bold" id="kupu-bold-button" title="bold: alt-b" i18n:attributes="title" accesskey="b">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-italic" id="kupu-italic-button" title="italic: alt-i" i18n:attributes="title" accesskey="i">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-underline" id="kupu-underline-button" title="underline: alt-u" i18n:attributes="title" accesskey="u">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-subsuper">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-subscript" id="kupu-subscript-button" title="subscript: alt--" i18n:attributes="title" accesskey="-">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-superscript" id="kupu-superscript-button" title="superscript: alt-+" i18n:attributes="title" accesskey="+">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-forecolor" id="kupu-forecolor-button" title="text color: alt-f" i18n:attributes="title" accesskey="f">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button" title="background color: alt-h" i18n:attributes="title" accesskey="h">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-justify">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" title="left justify: alt-l" i18n:attributes="title" accesskey="l">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifycenter" id="kupu-justifycenter-button" title="center justify: alt-c" i18n:attributes="title" accesskey="c">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-justifyright" id="kupu-justifyright-button" title="right justify: alt-r" i18n:attributes="title" accesskey="r">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-list">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertorderedlist" title="numbered list: alt-#" id="kupu-list-ol-addbutton" i18n:attributes="title" accesskey="#">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertunorderedlist" title="unordered list: alt-*" id="kupu-list-ul-addbutton" i18n:attributes="title" accesskey="*">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-definitionlist">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-insertdefinitionlist" title="definition list: alt-=" id="kupu-list-dl-addbutton" i18n:attributes="title" accesskey="=">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-indent">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-outdent" id="kupu-outdent-button" title="outdent: alt-&lt;" i18n:attributes="title" accesskey="&lt;">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-indent" id="kupu-indent-button" title="indent: alt-&gt;" i18n:attributes="title" accesskey="&gt;">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-image" id="kupu-imagelibdrawer-button" title="image" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-inthyperlink" id="kupu-linklibdrawer-button" title="internal link" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="external link" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-table" id="kupu-tabledrawer-button" title="table" i18n:attributes="title">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-removeimage invisible" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-removelink invisible" id="kupu-removelink-button" title="Remove link" i18n:attributes="title">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-bg-undo">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-undo" id="kupu-undo-button" title="undo: alt-z" i18n:attributes="title" accesskey="z">&#xA0;</button>
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-redo" id="kupu-redo-button" title="redo: alt-y" i18n:attributes="title" accesskey="y">&#xA0;</button>
+          </span>
+          <span class="kupu-tb-buttongroup" id="kupu-source">
+            <button xmlns:i18n="http://xml.zope.org/namespaces/i18n" type="button" class="kupu-source" id="kupu-source-button" title="edit HTML code" i18n:attributes="title">&#xA0;</button>
+          </span>
+        </span>
+        <select id="kupu-ulstyles">
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="disc" i18n:translate="list-disc">&#x25CF;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="square" i18n:translate="list-square">&#x25A0;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="circle" i18n:translate="list-circle">&#x25CB;</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="none" i18n:translate="list-nobullet">no bullet</option>
+        </select>
+        <select id="kupu-olstyles">
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="decimal" i18n:translate="list-decimal">1</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="upper-roman" i18n:translate="list-upperroman">I</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="lower-roman" i18n:translate="list-lowerroman">i</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="upper-alpha" i18n:translate="list-upperalpha">A</option>
+          <option xmlns:i18n="http://xml.zope.org/namespaces/i18n" value="lower-alpha" i18n:translate="list-loweralpha">a</option>
+        </select>
+        <div style="display:block;">
+          <div id="kupu-librarydrawer" class="kupu-drawer">
+      </div>
+        </div>
+        <div id="kupu-linkdrawer" class="kupu-drawer">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">External Link</h1>
+          <div id="kupu-linkdrawer-addlink" class="kupu-panels">
+            <table>
+              <tr>
+                <td>
+                  <div class="kupu-toolbox-label"><span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="items-matching-keyword">
+            Link the highlighted text to this URL
+          </span>:
+        </div>
+                  <input id="kupu-linkdrawer-input" class="kupu-toolbox-st" type="text"/>
+                </td>
+                <td class="kupu-preview-button">
+                  <button type="button" onclick="drawertool.current_drawer.preview()">Preview</button>
+                </td>
+              </tr>
+              <tr>
+                <td colspan="2" align="center">
+                  <iframe frameborder="1" scrolling="auto" width="440" height="198" id="kupu-linkdrawer-preview" src="kupublank.html">
+        </iframe>
+                </td>
+              </tr>
+            </table>
+            <div class="kupu-dialogbuttons">
+              <button type="button" onclick="drawertool.current_drawer.save()">Ok</button>
+              <button type="button" onclick="drawertool.closeDrawer()">Cancel</button>
+            </div>
+          </div>
+        </div>
+        <div id="kupu-tabledrawer" class="kupu-drawer">
+          <h1>Table</h1>
+          <div class="kupu-panels">
+            <table width="99%">
+              <tr class="kupu-panelsrow">
+                <td class="kupu-panel">
+                  <table width="100%">
+                    <tbody>
+                      <tr>
+                        <td class="kupu-toolbox-label">Table Class</td>
+                        <td width="50%">
+                          <select id="kupu-tabledrawer-classchooser" onchange="drawertool.current_drawer.tool.setTableClass(this.options[this.selectedIndex].value)">
+                            <option value="plain">Plain</option>
+                            <option value="listing">Listing</option>
+                            <option value="grid">Grid</option>
+                            <option value="data">Data</option>
+                          </select>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td colspan="2" class="">
+                          <div id="kupu-tabledrawer-addtable">
+                            <table width="100%">
+                              <tr>
+                                <td class="kupu-toolbox-label" width="50%">Rows</td>
+                                <td>
+                                  <input type="text" id="kupu-tabledrawer-newrows"/>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td class="kupu-toolbox-label">Columns</td>
+                                <td>
+                                  <input type="text" id="kupu-tabledrawer-newcols"/>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td class="kupu-toolbox-label">Headings</td>
+                                <td class="kupu-toolbox-label">
+                                  <input name="kupu-tabledrawer-makeheader" id="kupu-tabledrawer-makeheader" type="checkbox"/>
+                                  <label for="kupu-tabledrawer-makeheader">Create</label>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td colspan="2" style="text-align: center">
+                                  <button type="button" onclick="drawertool.current_drawer.createTable()">Add Table</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td colspan="2" style="text-align: center">
+                                  <button type="button" onclick="drawertool.current_drawer.tool.fixAllTables()">Fix All Tables</button>
+                                </td>
+                              </tr>
+                            </table>
+                          </div>
+                          <div id="kupu-tabledrawer-edittable">
+                            <table width="100%">
+                              <tr>
+                                <td width="50%">Current column alignment</td>
+                                <td>
+                                  <select id="kupu-tabledrawer-alignchooser" onchange="drawertool.current_drawer.tool.setColumnAlign(this.options[this.selectedIndex].value)">
+                                    <option value="left">Left</option>
+                                    <option value="center">Center</option>
+                                    <option value="right">Right</option>
+                                  </select>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Column</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addcolumn-button" onclick="drawertool.current_drawer.tool.addTableColumn()">Add</button>
+                                  <button type="button" id="kupu-tabledrawer-delcolumn-button" onclick="drawertool.current_drawer.tool.delTableColumn()">Remove</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Row</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addrow-button" onclick="drawertool.current_drawer.tool.addTableRow()">Add</button>
+                                  <button type="button" id="kupu-tabledrawer-delrow-button" onclick="drawertool.current_drawer.tool.delTableRow()">Remove</button>
+                                </td>
+                              </tr>
+                              <tr>
+                                <td>Fix Table</td>
+                                <td>
+                                  <button type="button" id="kupu-tabledrawer-addrow-button" onclick="drawertool.current_drawer.tool.fixTable()">Fix</button>
+                                </td>
+                              </tr>
+                            </table>
+                          </div>
+                        </td>
+                      </tr>
+                    </tbody>
+                  </table>
+                </td>
+              </tr>
+            </table>
+            <div class="kupu-dialogbuttons">
+              <button type="button" onclick="drawertool.closeDrawer()">Close</button>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div xmlns="" class="kupu-toolboxes">
+        <div class="kupu-toolbox" id="kupu-toolbox-properties">
+          <h1>Properties</h1>
+          <div class="kupu-toolbox-label">Title:</div>
+          <input class="wide" id="kupu-properties-title"/>
+          <div class="kupu-toolbox-label">Description:</div>
+          <textarea class="wide" id="kupu-properties-description"> </textarea>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-links">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="links">Links</h1>
+          <div id="kupu-toolbox-addlink">
+            <div class="kupu-toolbox-label">
+              <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="items-matching-keyword">
+            Link the highlighted text to this URL:
+          </span>
+            </div>
+            <input id="kupu-link-input" class="wide" type="text"/>
+            <div class="kupu-toolbox-buttons">
+              <button type="button" id="kupu-link-button" class="kupu-toolbox-action">Make Link</button>
+            </div>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-images">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="images">Images</h1>
+          <div class="kupu-toolbox-label">
+            <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">
+                Insert image at the following URL:
+              </span>
+          </div>
+          <input id="kupu-image-input" value="kupuimages/kupu_icon.gif" class="wide" type="text"/>
+          <span xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="">
+              Image float:
+            </span>
+          <select class="wide" id="kupu-image-float-select">
+            <option value="none">No float</option>
+            <option value="left">Left</option>
+            <option value="right">Right</option>
+          </select>
+          <div class="kupu-toolbox-buttons">
+            <button type="button" id="kupu-image-addbutton" class="kupu-toolbox-action">Insert Image</button>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-tables">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="table-inspector">Tables</h1>
+          <div class="kupu-toolbox-label">Table Class:
+        <select class="wide" id="kupu-table-classchooser"> </select>
+      </div>
+          <div id="kupu-toolbox-addtable">
+            <div class="kupu-toolbox-label">Rows:</div>
+            <input class="wide" type="text" id="kupu-table-newrows"/>
+            <div class="kupu-toolbox-label">Columns:</div>
+            <input class="wide" type="text" id="kupu-table-newcols"/>
+            <div class="kupu-toolbox-label">
+          Headings:
+          <input name="kupu-table-makeheader" id="kupu-table-makeheader" type="checkbox"/>
+          <label for="kupu-table-makeheader">Create</label>
+        </div>
+            <div class="kupu-toolbox-buttons">
+              <button type="button" id="kupu-table-fixall-button">Fix Table</button>
+              <button type="button" id="kupu-table-addtable-button">Add Table</button>
+            </div>
+          </div>
+          <div id="kupu-toolbox-edittable">
+            <div class="kupu-toolbox-label">Col Align:
+            <select class="wide" id="kupu-table-alignchooser"><option value="left">Left</option><option value="center">Center</option><option value="right">Right</option></select>
+          </div>
+            <div class="kupu-toolbox-buttons">
+              <br/>
+              <button type="button" id="kupu-table-addcolumn-button">Add Column</button>
+              <button type="button" id="kupu-table-delcolumn-button">Remove Column</button>
+              <br/>
+              <button type="button" id="kupu-table-addrow-button">Add Row</button>
+              <button type="button" id="kupu-table-delrow-button">Remove Row</button>
+              <button type="button" id="kupu-table-fix-button">Fix</button>
+            </div>
+          </div>
+        </div>
+        <div class="kupu-toolbox" id="kupu-toolbox-debug">
+          <h1 xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:translate="debug-log">Debug Log</h1>
+          <div id="kupu-toolbox-debuglog" class="kupu-toolbox-label">
+      </div>
+        </div>
+      </div>
+      <table id="kupu-colorchooser" cellpadding="0" cellspacing="0" style="position: fixed; border-style: solid; border-color: black; border-width: 1px;">
+    </table>
+      <div class="kupu-editorframe">
+		#if($document.getUri())
+			#set($src= "/graffito-browser/viewer?uri=$document.getUri()")
+		#else
+			#set($src= "")
+		#end
+        <form>
+          <iframe id="kupu-editor" frameborder="0" src="$!src" scrolling="auto">
+        </iframe>
+          <textarea class="kupu-editor-textarea" id="kupu-editor-textarea"> </textarea>
+        </form>
+      </div>
+    </div>
+  </body>
+</html>