| | |
| | | * |
| | | * Licensed under the Apache License, Version 2 |
| | | * |
| | | * Copyright(c) 2010 Jacques Distler |
| | | * Copyright(c) 2010 Alexis Deveria |
| | | * Copyright(c) 2010 Jacques Distler |
| | | * Copyright(c) 2010 Alexis Deveria |
| | | * |
| | | */ |
| | | |
| | |
| | | svgdoc = S.svgroot.parentNode.ownerDocument, |
| | | started, |
| | | newFO; |
| | | |
| | | |
| | | |
| | | |
| | | var properlySourceSizeTextArea = function(){ |
| | | // TODO: remove magic numbers here and get values from CSS |
| | | var height = $('#svg_source_container').height() - 80; |
| | |
| | | var fc_rules = $('#fc_rules'); |
| | | if(!fc_rules.length) { |
| | | fc_rules = $('<style id="fc_rules"><\/style>').appendTo('head'); |
| | | } |
| | | } |
| | | fc_rules.text(!on?"":" #tool_topath { display: none !important; }"); |
| | | $('#foreignObject_panel').toggle(on); |
| | | } |
| | |
| | | $('#tool_source_save, #tool_source_cancel').toggle(!on); |
| | | $('#foreign_save, #foreign_cancel').toggle(on); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | // Function: setForeignString(xmlString, elt) |
| | | // This function sets the content of element elt to the input XML. |
| | | // |
| | |
| | | console.log(e); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | return true; |
| | | }; |
| | | |
| | |
| | | properlySourceSizeTextArea(); |
| | | $('#svg_source_textarea').focus(); |
| | | } |
| | | |
| | | |
| | | function setAttr(attr, val) { |
| | | svgCanvas.changeSelectedAttribute(attr, val); |
| | | S.call("changed", selElems); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return { |
| | | name: "foreignObject", |
| | | svgicons: "extensions/foreignobject-icons.xml", |
| | |
| | | } |
| | | } |
| | | }], |
| | | |
| | | |
| | | context_tools: [{ |
| | | type: "input", |
| | | panel: "foreignObject_panel", |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | ], |
| | | callback: function() { |
| | | $('#foreignObject_panel').hide(); |
| | |
| | | } |
| | | |
| | | // TODO: Needs to be done after orig icon loads |
| | | setTimeout(function() { |
| | | setTimeout(function() { |
| | | // Create source save/cancel buttons |
| | | var save = $('#tool_source_save').clone() |
| | | .hide().attr('id', 'foreign_save').unbind() |
| | | .appendTo("#tool_source_back").click(function() { |
| | | |
| | | |
| | | if (!editingforeign) return; |
| | | |
| | | if (!setForeignString($('#svg_source_textarea').val())) { |
| | |
| | | } else { |
| | | endChanges(); |
| | | } |
| | | // setSelectMode(); |
| | | // setSelectMode(); |
| | | }); |
| | | |
| | | |
| | | var cancel = $('#tool_source_cancel').clone() |
| | | .hide().attr('id', 'foreign_cancel').unbind() |
| | | .appendTo("#tool_source_back").click(function() { |
| | | endChanges(); |
| | | }); |
| | | |
| | | |
| | | }, 3000); |
| | | }, |
| | | mouseDown: function(opts) { |
| | | var e = opts.event; |
| | | |
| | | |
| | | if(svgCanvas.getMode() == "foreign") { |
| | | |
| | | started = true; |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | }, |
| | | selectedChanged: function(opts) { |
| | | // Use this to update the current selected elements |
| | | selElems = opts.elems; |
| | | |
| | | |
| | | var i = selElems.length; |
| | | |
| | | |
| | | while(i--) { |
| | | var elem = selElems[i]; |
| | | if(elem && elem.tagName == "foreignObject") { |
| | |
| | | $('#foreign_font_size').val(elem.getAttribute("font-size")); |
| | | $('#foreign_width').val(elem.getAttribute("width")); |
| | | $('#foreign_height').val(elem.getAttribute("height")); |
| | | |
| | | |
| | | showPanel(true); |
| | | } else { |
| | | showPanel(false); |