changeset 482:f03ce96a614d

SvgEditor: svg-edit adapted to moin-1.9 svg-editor.js reverted to r1308 because of the url parameter problem see http://code.google.com/p/svg-edit/issues/detail?id=457
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Sun, 31 Jan 2010 20:00:38 +0100
parents 6b4e6a08cae7
children 7406f531c279
files data/plugin/action/SvgEditor.py htdocs/svg-edit/CHANGES.current htdocs/svg-edit/editor/svg-editor.js
diffstat 3 files changed, 48 insertions(+), 511 deletions(-) [+]
line wrap: on
line diff
--- a/data/plugin/action/SvgEditor.py	Sun Jan 31 19:33:31 2010 +0100
+++ b/data/plugin/action/SvgEditor.py	Sun Jan 31 20:00:38 2010 +0100
@@ -34,7 +34,7 @@
         css = 'nonexistent'
 
     # ToDo use EmbedObject here 
-    
+
     kw['src'] = drawing + '.svg'
     return self.image(**kw)
 
@@ -52,7 +52,7 @@
         return self.url(1, drawing_url, css=css, title=title) + img + self.url(0)
 
     title = _('Edit drawing %(filename)s (opens in new window)') % {'filename': self.text(drawing)}
-        
+
     from MoinMoin import macro
     from MoinMoin.parser.text import Parser
     macro.request = self.request
@@ -92,514 +92,25 @@
             fpath = AttachFile.getFilename(request, pagename, target).encode(config.charset)
             file(fpath, 'w').write(filecontent.decode('base_64'))
 
- 
+
     def render(self):
         _ = self._
         request = self.request
         pagename = self.pagename
         target = self.target
+        drawing_url = AttachFile.getAttachUrl(pagename, target, request, do='get')
         url = request.getQualifiedURL()
-        htdocs = "%s%s" % (request.cfg.url_prefix_static, '/svg-edit/editor')
-        filecontent = ''
-        if AttachFile.exists(request, pagename, target):
-            fpath = AttachFile.getFilename(request, pagename, target).encode(config.charset)
-            filecontent = file(fpath, 'r').readlines()
-            filecontent = ''.join(filecontent[1:])
-        if filecontent:
-             # svg data is saved as xml. at least firefox changes the data by adding closing tags e.g. </rect></circle></circle></circle></rect></svg>
-             # this renders then only the first element
-             filecontent = "<script>%s</script>" % filecontent
-        meta = """
-<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
-<meta http-equiv="X-UA-Compatible" content="chrome=1"/>
-<link rel="icon" type="image/png" href="%(htdocs)s/images/logo.png">
-<link rel="stylesheet" href="%(htdocs)s/jgraduate/css/jPicker-1.0.9.css" type="text/css"/>
-<link rel="stylesheet" href="%(htdocs)s/jgraduate/css/jGraduate-0.2.0.css" type="text/css"/>
-<link rel="stylesheet" href="%(htdocs)s/svg-editor.css" type="text/css"/>
-<link rel="stylesheet" href="%(htdocs)s/spinbtn/JQuerySpinBtn.css" type="text/css"/>
-<!-- Development version of script tags: -->
-<script type="text/javascript" src="%(htdocs)s/jquery.js"></script>
-<script type="text/javascript" src="%(htdocs)s/js-hotkeys/jquery.hotkeys.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/jgraduate/jquery.jgraduate.js"></script>
-<script type="text/javascript" src="%(htdocs)s/svgicons/jquery.svgicons.js"></script>
-<script type="text/javascript" src="%(htdocs)s/spinbtn/JQuerySpinBtn.js"></script>
-<script type="text/javascript" src="%(htdocs)s/locale/locale.js"></script>
-<script type="text/javascript" src="%(htdocs)s/svgcanvas.js"></script>
-<script type="text/javascript" src="%(htdocs)s/svg-editor.js"></script>
-
-<!-- Release version of script tags: >
-<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/js-hotkeys/jquery.hotkeys-0.7.9.js"></script>
-<script type="text/javascript" src="%(htdocs)s/jgraduate/jquery.jgraduate.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/spinbtn/JQuerySpinBtn.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/svgcanvas.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/svg-editor.min.js"></script>
-script type="text/javascript" src="%(htdocs)s/locale/locale.min.js"></script-->
-
-
-<!-- always minified scripts -->
-<script type="text/javascript" src="%(htdocs)s/jquery-ui/jquery-ui-1.7.2.custom.min.js"></script>
-<script type="text/javascript" src="%(htdocs)s/jgraduate/jpicker-1.0.9.min.js"></script>
-
-<!-- feeds -->
-<link rel="alternate" type="application/atom+xml" title="SVG-edit General Discussion" href="http://groups.google.com/group/svg-edit/feed/atom_v1_0_msgs.xml" />
-<link rel="alternate" type="application/atom+xml" title="SVG-edit Updates (Issues/Fixes/Commits)" href="http://code.google.com/feeds/p/svg-edit/updates/basic" />
-""" % {"htdocs": htdocs}
-
-        html = """
-<!-- Add script with custom handlers here -->
-<body>
-<div id="htdocs"><!-- %(htdocs)s/ --></div>
-<div id="svg_editor">
-<div id="workarea">
-<style id="styleoverrides" type="text/css" media="screen" scoped="scoped"></style>
-<div id="svgcanvas"></div>
-<div id="svgdata">%(filecontent)s</div>
-</div>
-
-<div id="sidepanels">
-    <div id="layerpanel">
-        <h3 id="layersLabel">Layers</h3>
-        <fieldset id="layerbuttons">
-            <div id="layer_new" class="layer_button"  title="New Layer"></div>
-            <div id="layer_delete" class="layer_button"  title="Delete Layer"></div>
-            <div id="layer_rename" class="layer_button"  title="Rename Layer"></div>
-            <div id="layer_up" class="layer_button"  title="Move Layer Up"></div>
-            <div id="layer_down" class="layer_button"  title="Move Layer Down"></div>
-        </fieldset>
-        
-        <table id="layerlist">
-            <tr class="layer">
-                <td class="layervis"></td>
-                <td class="layername">Layer 1</td>
-            </tr>
-        </table>
-        <span id="selLayerLabel">Move elements to:</span>
-        <select id="selLayerNames" title="Move selected elements to a different layer" disabled="disabled">
-            <option selected="selected" value="layer1">Layer 1</option>
-        </select>
-    </div>
-    <div id="sidepanel_handle" onselectstart="return false;" title="Drag left/right to resize side panel [X]">L a y e r s</div>
-</div> 
-<div id="logo">
-    <a href="http://svg-edit.googlecode.com/" target="_blank" title="SVG-edit Home Page">
-    </a>
-</div>
-<div id="tools_top" class="tools_panel">
-    
-    <!-- File-like buttons: New, Save, Source -->
-    <div id="file_panel">
-        <div class="push_button" id="tool_clear" title="New Image [N]"></div>
-        
-        <div id="fileinputs" class="push_button">
-            <div id="tool_open" title="Open Image [O]" ></div>
-        </div>
-      
-        <div class="push_button" id="tool_save" title="Save Image [S]"></div>
-        <div class="push_button" id="tool_docprops" title="Document Properties [I]"></div>
-        <div class="push_button" id="tool_source" title="Edit Source [U]"></div>
-        <div class="tool_button" id="tool_wireframe" title="Wireframe Mode [F]"></div>
-    </div>
-
-    <!-- History buttons -->
-    <div id="history_panel">
-        <div class="tool_sep"></div>
-        <div class="push_button tool_button_disabled" id="tool_undo" title="Undo [Z]"></div>
-        <div class="push_button tool_button_disabled" id="tool_redo" title="Redo [Y]"></div>
-    </div>
-    
-    <!-- Buttons when a single element is selected -->
-    <div id="selected_panel">
-        <div class="toolset">
-            <div class="tool_sep"></div>
-            <div class="push_button" id="tool_clone" title="Clone Element [C]"></div>
-            <div class="push_button" id="tool_delete" title="Delete Element [Delete/Backspace]"></div>
-            <div class="tool_sep"></div>
-            <div class="push_button" id="tool_move_top" title="Move to Top [Shift+Up]"></div>
-            <div class="push_button" id="tool_move_bottom" title="Move to Bottom [Shift+Down]"></div>
-            <div class="push_button" id="tool_topath" title="Convert to Path"></div>
-            <div class="push_button" id="tool_reorient" title="Reorient path"></div>
-            <div class="tool_sep"></div>
-        </div>
-        <div class="toolset">
-            <label id="group_opacityLabel" class="selected_tool" for="group_opacity">opac:</label>
-            <input id="group_opacity" class="selected_tool" title="Change selected item opacity" size="3" value="100" type="text"/>
-            <div id="opacity_dropdown" class="dropdown">
-                <button></button>
-                <ul>
-                    <li class="special"><div id="opac_slider"></div></li>
-                    <li>100%% (no transparency)</li>
-                    <li>0%%</li>
-                    <li>25%%</li>
-                    <li>50%%</li>
-                    <li>75%%</li>
-                    <li>100%%</li>
-                </ul>
-            </div>
-        </div>
-        <div class="toolset">
-            <label id="angleLabel" class="selected_tool">angle:</label>
-            <input id="angle" class="selected_tool" title="Change rotation angle" size="2" value="0" type="text"/>
-        </div>
-        <div id="xy_panel" class="toolset">
-            <label class="selected_tool">x:</label>
-            <input id="selected_x" class="selected_tool attr_changer" title="Change X coordinate" size="3" data-attr="x"/>
-            <label class="selected_tool">y:</label>
-            <input id="selected_y" class="selected_tool attr_changer" title="Change Y coordinate" size="3" data-attr="y"/>
-        </div>
-    </div>
-
-    <!-- Buttons when multiple elements are selected -->
-    <div id="multiselected_panel">
-        <div class="tool_sep"></div>
-        <div class="push_button" id="tool_clone_multi" title="Clone Elements [C]"></div>
-        <div class="push_button" id="tool_delete_multi" title="Delete Selected Elements [Delete/Backspace]"></div>
-        <div class="tool_sep"></div>
-        <div class="push_button" id="tool_group" title="Group Elements [G]"></div>
-        <div class="push_button" id="tool_alignleft" title="Align Left"></div>
-        <div class="push_button" id="tool_aligncenter" title="Align Center"></div>
-        <div class="push_button" id="tool_alignright" title="Align Right"></div>
-        <div class="push_button" id="tool_aligntop" title="Align Top"></div>
-        <div class="push_button" id="tool_alignmiddle" title="Align Middle"></div>
-        <div class="push_button" id="tool_alignbottom" title="Align Bottom"></div>
-        <span id="relativeToLabel" class="selected_tool">relative to:</span>
-        <select id="align_relative_to" class="selected_tool" title="Align relative to ...">
-        <option id="selected_objects" value="selected">selected objects</option>
-        <option id="largest_object" value="largest">largest object</option>
-        <option id="smallest_object" value="smallest">smallest object</option>
-        <option id="page" value="page">page</option>
-        </select>
-        <div class="tool_sep"></div>
-
-    </div>
-
-    <div id="g_panel">
-        <div class="tool_sep"></div>
-        <div class="push_button" id="tool_ungroup" title="Ungroup Elements [G]"></div>
-    </div>
-
-    <div id="rect_panel">
-        <div class="toolset">
-            <label id="rwidthLabel" class="rect_tool">width:</label>
-            <input id="rect_width" class="rect_tool attr_changer" title="Change rectangle width" size="3" data-attr="width"/>
-            <label id="rheightLabel" class="rect_tool">height:</label>
-            <input id="rect_height" class="rect_tool attr_changer" title="Change rectangle height" size="3" data-attr="height"/>
-        </div>
-        <div class="toolset">
-            <label id="cornerRadiusLabel" class="rect_tool">Corner Radius:</label>
-            <input id="rect_rx" size="3" value="0" class="rect_tool" type="text" title="Change Rectangle Corner Radius" data-attr="Corner Radius"/>
-        </div>    
-    </div>
-
-    <div id="image_panel">
-    <div class="toolset">
-        <label id="iwidthLabel" class="image_tool">width:</label>
-        <input id="image_width" class="image_tool attr_changer" title="Change image width" size="3" data-attr="width"/>
-        <label id="iheightLabel" class="image_tool">height:</label>
-        <input id="image_height" class="image_tool attr_changer" title="Change image height" size="3" data-attr="height"/>
-    </div>
-    <div class="toolset">
-        <label class="image_tool">url:</label>
-        <input id="image_url" class="image_tool" type="text" title="Change URL" size="35"/>
-        <button id="change_image_url" style="display:none;">Change Image</button>
-        <div id="url_notice" title="NOTE: This image cannot be embedded. It will depend on this path to be displayed"></div>
-    </div>
-  </div>
-
-    <div id="circle_panel">
-        <div class="toolset">
-            <label class="circle_tool">cx:</label>
-            <input id="circle_cx" class="circle_tool attr_changer" title="Change circle's cx coordinate" size="3" data-attr="cx"/>
-            <label class="circle_tool">cy:</label>
-            <input id="circle_cy" class="circle_tool attr_changer" title="Change circle's cy coordinate" size="3" data-attr="cy"/>
-        </div>
-        <div class="toolset">
-            <label class="circle_tool">r:</label>
-            <input id="circle_r" class="circle_tool attr_changer" title="Change circle's radius" size="3" data-attr="r"/>
-        </div>
-    </div>
-
-    <div id="ellipse_panel">
-        <div class="toolset">
-            <label class="ellipse_tool">cx:</label>
-            <input id="ellipse_cx" class="ellipse_tool attr_changer" title="Change ellipse's cx coordinate" size="3" data-attr="cx"/>
-            <label class="ellipse_tool">cy:</label>
-            <input id="ellipse_cy" class="ellipse_tool attr_changer" title="Change ellipse's cy coordinate" size="3" data-attr="cy"/>
-            </div>
-        <div class="toolset">
-            <label class="ellipse_tool">rx:</label>
-            <input id="ellipse_rx" class="ellipse_tool attr_changer" title="Change ellipse's x radius" size="3" data-attr="rx"/>
-            <label class="ellipse_tool">ry:</label>
-            <input id="ellipse_ry" class="ellipse_tool attr_changer" title="Change ellipse's y radius" size="3" data-attr="ry"/>
-        </div>
-    </div>
-
-    <div id="line_panel">
-        <div class="toolset">
-            <label class="line_tool">x1:</label>
-            <input id="line_x1" class="line_tool attr_changer" title="Change line's starting x coordinate" size="3" data-attr="x1"/>
-            <label class="line_tool">y1:</label>
-            <input id="line_y1" class="line_tool attr_changer" title="Change line's starting y coordinate" size="3" data-attr="y1"/>
-        </div>
-        <div class="toolset">
-            <label class="line_tool">x2:</label>
-            <input id="line_x2" class="line_tool attr_changer" title="Change line's ending x coordinate" size="3" data-attr="x2"/>
-            <label class="line_tool">y2:</label>
-            <input id="line_y2" class="line_tool attr_changer" title="Change line's ending y coordinate" size="3" data-attr="y2"/>
-        </div>
-    </div>
-
-    <div id="text_panel">
-        <div class="toolset">
-            <div class="tool_button" id="tool_bold" title="Bold Text [B]"><span></span>B</div>
-            <div class="tool_button" id="tool_italic" title="Italic Text [I]"><span></span>i</div>
-        </div>
-        
-        <div class="toolset">
-            <input id="font_family" class="text_tool" type="text" title="Change Font Family" size="12"/>
-            <div id="font_family_dropdown" class="dropdown">
-                <button></button>
-                <ul>
-                    <li style="font-family:serif">Serif</li>
-                    <li style="font-family:sans-serif">Sans-serif</li>
-                    <li style="font-family:cursive">Cursive</li>
-                    <li style="font-family:fantasy">Fantasy</li>
-                    <li style="font-family:monospace">Monospace</li>
-                </ul>
-            </div>
-        </div>
-
-        <div class="toolset">
-            <label id="font_sizeLabel" class="text_tool" for="font_size">size:</label>
-            <input id="font_size" class="text_tool" title="Change Font Size" size="3" value="0" type="text"/>
-        </div>
-        <input id="text" class="text_tool" type="text" title="Change text contents" size="35"/>
-    </div>
-    
-    <div id="path_node_panel">
-        <div class="tool_sep"></div>
-        <div class="tool_button" id="tool_node_link" title="Link Control Points"></div>
-        <div class="tool_sep"></div>
-        <label class="path_node_tool">x:</label>
-        <input id="path_node_x" class="path_node_tool attr_changer" title="Change node's x coordinate" size="3" data-attr="x"/>
-        <label class="path_node_tool">y:</label>
-        <input id="path_node_y" class="path_node_tool attr_changer" title="Change node's y coordinate" size="3" data-attr="y"/>
-        <select id="seg_type" class="path_node_tool" title="Change Segment type">
-            <option id="straight_segments" selected="selected" value="4">Straight</option>
-            <option id="curve_segments" value="6">Curve</option>
-        </select>
-        <div class="tool_button" id="tool_node_clone" title="Clone Node"></div>
-        <div class="tool_button" id="tool_node_delete" title="Delete Node"></div>
-    </div>
-    
-</div> <!-- tools_top -->
-
-<div id="tools_left" class="tools_panel">
-    <div class="tool_button_current" id="tool_select" title="Select Tool [1]"></div>
-    <div class="tool_button" id="tool_fhpath" title="Pencil Tool [2]"></div>
-    <div class="tool_button" id="tool_line" title="Line Tool [3]"></div>
-    <div class="tool_button" id="tools_rect_show" title="Square/Rect Tool [4/Shift+4]"></div>
-    <div class="flyout_arrow_horiz"></div>
-    <div class="tool_button" id="tools_ellipse_show" title="Ellipse/Circle Tool [5/Shift+5]"></div>
-    <div class="flyout_arrow_horiz"></div>
-    <div class="tool_button" id="tool_path" title="Path Tool [7]"></div>
-    <div class="tool_button" id="tool_text" title="Text Tool [6]"></div>
-    <div class="tool_button" id="tool_image" title="Image Tool [8]"></div>
-    <div class="tool_button" id="tool_zoom" title="Zoom Tool [Ctrl+Up/Down]"></div>
-</div> <!-- tools_left -->
-
-<div id="tools_bottom" class="tools_panel">
-
-    <!-- Zoom buttons -->
-    <div id="zoom_panel" class="magic_field">
-        <span id="zoomLabel" class="zoom_tool label">zoom:</span>
-        <input id="zoom" class="zoom_tool" title="Change zoom level" size="3" value="100" type="text" />
-        <div id="zoom_dropdown" class="dropdown">
-            <button></button>
-            <ul>
-                <li>1000%%</li>
-                <li>400%%</li>
-                <li>200%%</li>
-                <li>100%%</li>
-                <li>50%%</li>
-                <li>25%%</li>
-                <li id="fit_to_canvas" data-val="canvas">Fit to canvas</li>
-                <li id="fit_to_sel" data-val="selection">Fit to selection</li>
-                <li id="fit_to_layer_content" data-val="layer">Fit to layer content</li>
-                <li id="fit_to_all" data-val="content">Fit to all content</li>
-                <li>100%%</li>
-            </ul>
-        </div>
-        <div class="tool_sep"></div>
-    </div>
-
-    <div id="tools_bottom_2">
-        <table>
-        <tr>
-            <td id="fill_tool_bottom" class="label">fill:</td>
-            <td><div id="fill_bg"></div><div id="fill_color" class="color_block"  title="Change fill color"></div></td>
-            <td colspan="3"><div id="fill_opacity" class="label">100%%</div></td>
-        </tr><tr>
-            <td id="stroke_tool_bottom" class="label">stroke:</td>
-            <td><div id="stroke_bg"></div><div id="stroke_color" class="color_block" title="Change stroke color"></div></td>
-            <td><div id="stroke_opacity" class="label">100 %%</div></td>
-            <td>
-                <input id="stroke_width" title="Change stroke width by 1, shift-click to change by 0.1" size="2" value="5" type="text" data-attr="Stroke Width"/>
-            </td>
-            <td>
-                <select id="stroke_style" title="Change stroke dash style">
-                    <option selected="selected" value="none">---</option>
-                    <option value="2,2">...</option>
-                    <option value="5,5">- -</option>
-                    <option value="5,2,2,2">- .</option>
-                    <option value="5,2,2,2,2,2">- ..</option>
-                </select>
-            </td>
-        </tr>
-        </table>
-    </div>
-
-    <div id="tools_bottom_3">
-        <div id="palette_holder"><div id="palette" title="Click to change fill color, shift-click to change stroke color"></div></div>
-    </div>
-    <div id="copyright">Powered by <a href="http://svg-edit.googlecode.com/" target="_blank">SVG-edit v2.5-preAlpha</a></div>
-</div>
-
-<!-- hidden divs -->
-<div id="color_picker"></div>
-
-<div id="tools_rect" class="tools_flyout">
-    <div id="tool_rect" class="tool_flyout_button" title="Rectangle"></div>
-    <div id="tool_square" class="tool_flyout_button" title="Square"></div>
-    <div id="tool_fhrect" class="tool_flyout_button" title="Free-Hand Rectangle"></div>
-</div>
-
-<div id="tools_ellipse" class="tools_flyout">
-    <div id="tool_ellipse" class="tool_flyout_button" title="Ellipse"></div>
-    <div id="tool_circle" class="tool_flyout_button" title="Circle"></div>
-    <div id="tool_fhellipse" class="tool_flyout_button" title="Free-Hand Ellipse"></div>
-</div>
-
-</div> <!-- svg_editor -->
-
-<div id="svg_source_editor">
-    <div id="svg_source_overlay"></div>
-    <div id="svg_source_container">
-        <div id="tool_source_back" class="toolbar_button">
-            <button id="tool_source_save">Apply Changes</button>
-            <button id="tool_source_cancel">Cancel</button>
-        </div>
-        <form>
-            <textarea id="svg_source_textarea" spellcheck="false"></textarea>
-        </form>
-    </div>
-</div>
-
-<div id="svg_docprops">
-    <div id="svg_docprops_overlay"></div>
-    <div id="svg_docprops_container">
-        <div id="tool_docprops_back" class="toolbar_button">
-            <button id="tool_docprops_save">OK</button>
-            <button id="tool_docprops_cancel">Cancel</button>
-        </div>
-
-
-        <fieldset id="svg_docprops_docprops">
-            <legend id="svginfo_image_props">Image Properties</legend>
-            <label>
-                <span id="svginfo_title">Title:</span>
-                <input type="text" id="canvas_title" size="24">
-            </label>            
-    
-            <fieldset id="change_resolution">
-                <legend id="svginfo_dim">Canvas Dimensions</legend>
-
-                <label><span id="svginfo_width">Width:</span> <input type="text" id="canvas_width" size="6"></label>
-                    
-                <label><span id="svginfo_height">Height:</span> <input type="text" id="canvas_height" size="6"></label>
-                
-                <label>
-                    <select id="resolution">
-                        <option id="selectedPredefined" selected="selected">Select predefined:</option>
-                        <option>640x480</option>
-                        <option>800x600</option>
-                        <option>1024x768</option>
-                        <option>1280x960</option>
-                        <option>1600x1200</option>
-                        <option id="fitToContent" value="content">Fit to Content</option>
-                    </select>
-                </label>
-            </fieldset>
-
-            <fieldset id="image_save_opts">
-                <legend id="includedImages">Included Images</legend>
-                <label><input type="radio" name="image_opt" value="embed" checked="checked"/> <span id="image_opt_embed">Embed data (local files)</span> </label>
-                <label><input type="radio" name="image_opt" value="ref"/> <span id="image_opt_ref">Use file reference</span> </label>
-            </fieldset>            
-
-
-        </fieldset>
-
-        <fieldset id="svg_docprops_prefs">
-            <legend id="svginfo_editor_prefs">Editor Preferences</legend>
-
-            <label><span id="svginfo_lang">Language:</span>
-                <!-- Source: http://en.wikipedia.org/wiki/Language_names -->
-                <select id="lang_select">
-                    <option id="lang_cs" value="cs">Čeština</option>
-                    <option id="lang_de" value="de">Deutsch</option>
-                    <option id="lang_en" value="en" selected="selected">English</option>
-                    <option id="lang_es" value="es">Español</option>
-                    <option id="lang_fa" value="fa">فارسی</option>
-                    <option id="lang_fr" value="fr">Français</option>
-                    <option id="lang_nl" value="nl">Nederlands</option>
-                    <option id="lang_ro" value="ro">Româneşte</option>
-                    <option id="lang_sk" value="sk">Slovenčina</option>
-                </select>
-            </label>
-
-            <label><span id="svginfo_icons">Icon size:</span>
-                <select id="iconsize">
-                    <option id="icon_small" value="s">Small</option>
-                    <option id="icon_medium" value="m" selected="selected">Medium</option>
-                    <option id="icon_large" value="l">Large</option>
-                    <option id="icon_xlarge" value="xl">Extra Large</option>
-                </select>
-            </label>
-
-            <fieldset id="change_background">
-                <legend id="svginfo_change_background">Editor Background</legend>
-                <div id="bg_blocks"></div>
-                <label><span id="svginfo_bg_url">URL:</span> <input type="text" id="canvas_bg_url" size="21"></label>
-                <p id="svginfo_bg_note">Note: Background will not be saved with image.</p>
-            </fieldset>
-            
-        </fieldset>
-
-    </div>
-</div>
-
-<div id="dialog_box">
-    <div id="dialog_box_overlay"></div>
-    <div id="dialog_container">
-        <div id="dialog_content">
-            Test message
-        </div>
-        <div id="dialog_buttons"></div>
-    </div>
-</div>       
-""" % {"htdocs": htdocs,
-       "filecontent": filecontent,
-       }
+        base_url = "%s/svg-edit/editor/svg-editor.html" % (request.cfg.url_prefix_static)
+        html = u"""<object data="%s%s?url=%s" type="text/html" width="800" height="600"></object>\n""" % (url, base_url, drawing_url)
+        content = request.formatter.rawHTML(html)
         title = '%s %s:%s' % (_('Edit drawing'), pagename, target)
         request.theme.send_title(title, page=request.page, pagename=pagename)
         request.write(request.formatter.startContent("content"))
-        request.write(request.formatter.rawHTML(meta))
         request.write(request.formatter.rawHTML(html))
         request.write(request.formatter.endContent())
         request.theme.send_footer(pagename)
-        request.theme.send_closing_html()         
-        
+        request.theme.send_closing_html()
+
 def execute(pagename, request):
     #ToDo refactoring to class 
 
--- a/htdocs/svg-edit/CHANGES.current	Sun Jan 31 19:33:31 2010 +0100
+++ b/htdocs/svg-edit/CHANGES.current	Sun Jan 31 20:00:38 2010 +0100
@@ -1,4 +1,29 @@
-New:
+
+SVG-edit is a lightweight, web-based, Javascript-driven SVG editor that works in any modern browser: version of svg-edit Revision r1310, 2.5alpha (http://code.google.com/p/svg-edit/) for moin-1.9
+
+htdocs/svg-edit must be linked into MoinMoin/web/static/htdocs
+--------------------------------------------------------------
+
+
+Status current svg-edit r1310:
+==============================
+
+Since the svg-edit editor could be called by an url parameter pointing to an existing drawing I changed the deploying from sending the html data by the action to calling the svg-editor.html by an object data tag.
+
+The reason for this change is that it becomes much easier to update to a newer svg-edit version as by the other method.
+
+By this currently only the modifcation of svg-editor.js is necessary to save to the wiki instead to a new window.
+
+ToDo:
+ * Link Syntax for attachments
+
+Known Issues:
+ * changing locale to a different language than english does not work, see 
+   http://code.google.com/p/svg-edit/issues/detail?id=451
+
+
+Status svg-edit r1200:
+======================
  
  * css adapted for moinmoin
  * action SVG-Editor added
@@ -20,6 +45,3 @@
    translated from "page" appears on the upper and bottom left corner.
    see http://code.google.com/p/svg-edit/issues/detail?id=418
 
-SVG-edit is a lightweight, web-based, Javascript-driven SVG editor that works in any modern browser: version of svg-edit Revision r1200, 2.5alpha (http://code.google.com/p/svg-edit/) for moin-1.9
-
-htdocs/svg-edit must be linked into MoinMoin/web/static/htdocs
--- a/htdocs/svg-edit/editor/svg-editor.js	Sun Jan 31 19:33:31 2010 +0100
+++ b/htdocs/svg-edit/editor/svg-editor.js	Sun Jan 31 20:00:38 2010 +0100
@@ -1,4 +1,4 @@
-/*
+/*
  * svg-editor.js
  *
  * Licensed under the Apache License, Version 2
@@ -178,7 +178,17 @@
 	// with a gradient will appear black in Firefox, etc.  See bug 308590
 	// https://bugzilla.mozilla.org/show_bug.cgi?id=308590
 	var saveHandler = function(window,svg) {
-		window.open("data:image/svg+xml;base64," + Utils.encode64(svg));
+            var titlename = window.content.parent.document.title.split('-')[0];
+            var svg_data = Utils.encode64(svg);
+            var loc = document.location.href;
+            var pagename = loc.split('?url=')[1].split('?')[0];
+            var svg_target = titlename.split(':')[1];
+            $.post(
+                   pagename,
+                   {'action': "SvgEditor", 'do': "save", 'target': svg_target, 'svg_data': svg_data}
+                  );
+            //window.location = pagename;
+            top.window.location = pagename;
 	};
 	
 	// called when we've selected a different element
@@ -2592,7 +2602,7 @@
 		updateCanvas(true);
 	});
 	
-//	var revnums = "svg-editor.js ($Rev: 1310 $) ";
+//	var revnums = "svg-editor.js ($Rev: 1308 $) ";
 //	revnums += svgCanvas.getVersion();
 //	$('#copyright')[0].setAttribute("title", revnums);
 	return svgCanvas;
@@ -2759,11 +2769,6 @@
 			else if(loc.indexOf('?url=') != -1) {
 				var pre = '?url=';
 				var url = loc.substring(loc.indexOf(pre) + pre.length);
-				var s = document.createElement("script");
-				s.setAttribute("src", url);
-				document.body.appendChild(s);
-				console.log(s.textContent);
-				/*
 				$.ajax({
 					'url': url,
 					'dataType': 'text',
@@ -2774,7 +2779,6 @@
 						}
 					}
 				});
-				*/
 			}
 		}
 	});