Fixed issue 112: Values for certain attributes must now be numbers, enter/return on field now updates value in Opera
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@453 eee81c28-f429-11dd-99c0-75d572ba1dddmaster
parent
835574375c
commit
c4cc408465
|
@ -37,6 +37,7 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<form id="tool_form">
|
||||||
<div id="tools_top" class="tools_panel">
|
<div id="tools_top" class="tools_panel">
|
||||||
<!-- File-like buttons: New, Save, Source -->
|
<!-- File-like buttons: New, Save, Source -->
|
||||||
<div>
|
<div>
|
||||||
|
@ -264,6 +265,7 @@
|
||||||
<div id="tool_alignright" class="tool_flyout_button" title="Align to Right"></div>
|
<div id="tool_alignright" class="tool_flyout_button" title="Align to Right"></div>
|
||||||
<div id="tool_aligncenter" class="tool_flyout_button" title="Align to Center"></div>
|
<div id="tool_aligncenter" class="tool_flyout_button" title="Align to Center"></div>
|
||||||
</div>
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
</div> <!-- svg_editor -->
|
</div> <!-- svg_editor -->
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,8 @@ function svg_edit_setup() {
|
||||||
var selectedElement = null;
|
var selectedElement = null;
|
||||||
var multiselected = false;
|
var multiselected = false;
|
||||||
var editingsource = false;
|
var editingsource = false;
|
||||||
|
var length_attrs = ['x','y','x1','x2','y1','y2','cx','cy','width','height','r','rx','ry','width','height','radius'];
|
||||||
|
var length_types = ['em','ex','px','cm','mm','in','pt','pc','%'];
|
||||||
|
|
||||||
var fillPaint = new $.jGraduate.Paint({solidColor: "FF0000"}); // solid red
|
var fillPaint = new $.jGraduate.Paint({solidColor: "FF0000"}); // solid red
|
||||||
var strokePaint = new $.jGraduate.Paint({solidColor: "000000"}); // solid black
|
var strokePaint = new $.jGraduate.Paint({solidColor: "000000"}); // solid black
|
||||||
|
@ -308,7 +310,31 @@ function svg_edit_setup() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.attr_changer').change(function() {
|
$('.attr_changer').change(function() {
|
||||||
svgCanvas.changeSelectedAttribute(this.getAttribute("alt"), this.value);
|
var attr = this.getAttribute("alt");
|
||||||
|
var val = this.value;
|
||||||
|
var valid = false;
|
||||||
|
if($.inArray(attr, length_attrs) != -1) {
|
||||||
|
if(!isNaN(val)) {
|
||||||
|
valid = true;
|
||||||
|
} else {
|
||||||
|
//TODO: Allow the values in length_types, then uncomment this:
|
||||||
|
// val = val.toLowerCase();
|
||||||
|
// $.each(length_types, function(i, unit) {
|
||||||
|
// if(valid) return;
|
||||||
|
// var re = new RegExp('^-?[\\d\\.]+' + unit + '$');
|
||||||
|
// if(re.test(val)) valid = true;
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
} else valid = true;
|
||||||
|
|
||||||
|
if(!valid) {
|
||||||
|
alert('Invalid value given for' + $(this).attr('title').replace('Change','')
|
||||||
|
+ '.');
|
||||||
|
this.value = selectedElement.getAttribute(attr);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
svgCanvas.changeSelectedAttribute(attr, val);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.palette_item').click(function(evt){
|
$('.palette_item').click(function(evt){
|
||||||
|
@ -705,6 +731,10 @@ function svg_edit_setup() {
|
||||||
var disable = !(item.length > 2 && !item[2]);
|
var disable = !(item.length > 2 && !item[2]);
|
||||||
$(document).bind('keydown', {combi:item[0], disableInInput: disable}, item[1]);
|
$(document).bind('keydown', {combi:item[0], disableInInput: disable}, item[1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.attr_changer').bind('keydown', {combi:'return', disableInInput: false},
|
||||||
|
function(evt) {$(this).change();evt.preventDefault();}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
setKeyBindings();
|
setKeyBindings();
|
||||||
|
|
Loading…
Reference in New Issue