comparison inkscape/firefox/content/inkscape.js @ 384:7cbb364fd273

Show the old name in the input line Select the first object automatically.
author wycc
date Sun, 05 Apr 2009 17:00:28 +0800
parents 29145d2affdb
children f3e6ac47752c
comparison
equal deleted inserted replaced
383:5b6230df7630 384:7cbb364fd273
277 symboldialog.dialog('close') 277 symboldialog.dialog('close')
278 } 278 }
279 279
280 Inkscape.prototype.refreshSymbolPanel=function(node) 280 Inkscape.prototype.refreshSymbolPanel=function(node)
281 { 281 {
282 var reg = new RegExp('(.*)\\((.*)\\)');
283 var m = reg.exec(node.textContent);
284 var val = m[2];
282 inkscape.current_symbol = node.textContent; 285 inkscape.current_symbol = node.textContent;
286 $('#newsymbolname').val(val);
283 } 287 }
284 288
285 Inkscape.prototype.loadSymbolScreen=function (mbsvg) { 289 Inkscape.prototype.loadSymbolScreen=function (mbsvg) {
286 // Swap the left side to be the SVG element tree. 290 // Swap the left side to be the SVG element tree.
287 var i,l; 291 var i,l;
288 292
289 symboldialog.dialog('open'); 293 symboldialog.dialog('open');
294 this.mbsvg = mbsvg;
290 l = mbsvg.selected_objects.length; 295 l = mbsvg.selected_objects.length;
291 var jsonobj = [] 296 var jsonobj = []
292 for(i=0;i<l;i++) { 297 for(i=0;i<l;i++) {
293 // Add symbol into the tree 298 // Add symbol into the tree
294 var obj = { attributes: {id: 'sym'+i}, data : mbsvg.selected_objects[i]}; 299 var name = mbsvg.findSymbolName(mbsvg.selected_objects[i]);
300 var title=mbsvg.selected_objects[i]+"("+name+")";
301 var obj = { attributes: {id: 'sym'+i}, data : title};
302 if (i == 0) {
303 this.current_symbol = mbsvg.selected_objects[i];
304 $('#newsymbolname').val(name);
305 }
295 jsonobj.push(obj); 306 jsonobj.push(obj);
296 } 307 }
297 this.symboltree = $.tree_create(); 308 this.symboltree = $.tree_create();
298 this.symboltree.init($("#symbollist"), { 309 this.symboltree.init($("#symbollist"), {
299 data: { 310 data: {
300 type: "json", 311 type: "json",
301 json : jsonobj 312 json : jsonobj
302 }, 313 },
303 callback : { 314 callback : {
304 ondblclk : function(NODE,TREE_OBJ) { inkscape.refreshSymbolPanel(NODE); TREE_OBJ.toggle_branch.call(TREE_OBJ, NODE); TREE_OBJ.select_branch.call(TREE_OBJ, NODE);} 315 ondblclk : function(NODE,TREE_OBJ) { inkscape.refreshSymbolPanel(NODE);}
305 } 316 }
306 317
307 }); 318 });
308 var s = $('#changename'); 319 var s = $('#changename');
309 s.click(this.onChangeSymbolName); 320 s.click(this.onChangeSymbolName);
317 modal: true, 328 modal: true,
318 autoOpen:false, 329 autoOpen:false,
319 title:'Please select a file'}); 330 title:'Please select a file'});
320 symboldialog.hide(); 331 symboldialog.hide();
321 symboldialog.append("<div id='symbollist'/>"); 332 symboldialog.append("<div id='symbollist'/>");
322 symboldialog.append("<div id='symbol'><input type='text' id='newsymbolname'> <input type='submit' id='changename'></div> "); 333 symboldialog.append("<div id='symbol'><input type='text' id='newsymbolname'> <input type='submit' value='change' id='changename'></div> ");
323 }); 334 });
324 335
325 function MBSVG(file) 336 function MBSVG(file)
326 { 337 {
327 var xmlDoc=document.implementation.createDocument("http://madbutterfly.sourceforge.net/DTD/madbutterfly.dtd","",null); 338 var xmlDoc=document.implementation.createDocument("http://madbutterfly.sourceforge.net/DTD/madbutterfly.dtd","",null);
444 var frame = document.getElementById('frame'); 455 var frame = document.getElementById('frame');
445 frame.innerHTML=cmd; 456 frame.innerHTML=cmd;
446 } 457 }
447 458
448 459
460 MBSVG.prototype.findSymbolName=function(id)
461 {
462 var obj = this.doc.getElementById(id);
463 var name = obj.getAttribute('mbname');
464 return name;
465
466 }
449 467
450 /** 468 /**
451 * UI for madbuilder.html to build the scene editor 469 * UI for madbuilder.html to build the scene editor
452 */ 470 */
453 471