Fixed issue 68 by adding Convert to Path button, also included Reorient Path button

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@981 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
Alexis Deveria
2009-11-30 19:14:23 +00:00
parent 474690f2a2
commit d5f867f0a8
4 changed files with 126 additions and 11 deletions

View File

@@ -342,7 +342,7 @@ function svg_edit_setup() {
if (svgCanvas.getMode() == 'rotate' && elem != null) {
$('#angle').val(svgCanvas.getRotationAngle(elem));
return;
} else if(svgCanvas.addedNew && elem != null && elem.nodeName == 'image') {
} else if(svgCanvas.addedNew && elem != null && elname == 'image') {
promptImgURL();
}
var is_node = elem ? (elem.id && elem.id.indexOf('pathpointgrip') == 0) : false;
@@ -350,17 +350,19 @@ function svg_edit_setup() {
$('#selected_panel, #multiselected_panel, #g_panel, #rect_panel, #circle_panel,\
#ellipse_panel, #line_panel, #text_panel, #image_panel').hide();
if (elem != null) {
$('#angle').val(svgCanvas.getRotationAngle(elem));
var elname = elem.nodeName;
var angle = svgCanvas.getRotationAngle(elem);
$('#angle').val(angle);
if(!is_node) {
$('#selected_panel').show();
// Elements in this array already have coord fields
if($.inArray(elem.nodeName, ['line', 'circle', 'ellipse']) != -1) {
if($.inArray(elname, ['line', 'circle', 'ellipse']) != -1) {
$('#xy_panel').hide();
} else {
var x,y;
// Get BBox vals for g, polyline and path
if($.inArray(elem.nodeName, ['g', 'polyline', 'path']) != -1) {
if($.inArray(elname, ['g', 'polyline', 'path']) != -1) {
var bb = svgCanvas.getStrokedBBox([elem]);
x = bb.x;
y = bb.y;
@@ -372,6 +374,11 @@ function svg_edit_setup() {
$('#selected_y').val(y || 0);
$('#xy_panel').show();
}
// Elements in this array cannot be converted to a path
var no_path = $.inArray(elname, ['image', 'text', 'path', 'g']) == -1;
$('#tool_topath').toggle(no_path);
$('#tool_reorient').toggle(elname == 'path');
} else {
var point = svgCanvas.getNodePoint();
if(point) {
@@ -873,6 +880,18 @@ function svg_edit_setup() {
svgCanvas.moveToBottomSelectedElement();
}
};
var convertToPath = function() {
if (selectedElement != null) {
svgCanvas.convertToPath();
}
}
var reorientPath = function() {
if (selectedElement != null) {
svgCanvas.reorientPath();
}
}
var moveSelected = function(dx,dy) {
if (selectedElement != null || multiselected) {
@@ -1358,10 +1377,12 @@ function svg_edit_setup() {
$('#tool_docprops').click(showDocProperties);
$('#tool_delete').click(deleteSelected);
$('#tool_delete_multi').click(deleteSelected);
$('#tool_reorient').click(reorientPath);
$('#tool_node_clone').click(clonePathNode);
$('#tool_node_delete').click(deletePathNode);
$('#tool_move_top').click(moveToTopSelected);
$('#tool_move_bottom').click(moveToBottomSelected);
$('#tool_topath').click(convertToPath);
$('#tool_undo').click(clickUndo);
$('#tool_redo').click(clickRedo);
$('#tool_clone').click(clickClone);
@@ -2184,6 +2205,8 @@ function setSVGIcons() {
'#layer_delete,#tool_delete,#tool_delete_multi,#tool_node_delete':'delete',
'#tool_move_top':'move_top',
'#tool_move_bottom':'move_bottom',
'#tool_topath':'to_path',
'#tool_reorient':'reorient',
'#tool_group':'group',
'#tool_ungroup':'ungroup',