view inkscape/firefox/content/wizard.js @ 509:3e0d63d7c7ae Android_Skia

Remove absolute pathes from config.cache. Absolute pathes in config.cache would be the source of problems when the source tree of Android is different from what is in config.cache. So, these cached values are removed and re-computed when running configure.
author Thinker K.F. Li <thinker@branda.to>
date Tue, 01 Dec 2009 22:55:27 +0800
parents 3d21115297ba
children
line wrap: on
line source

function Wizard()
{
	this.dialog = $('#wizard');
	this.dialog.dialog({width:600,autoOpen:false});
	this.step2 = $('#wizard_step2');
	this.step2.dialog({width:600,autoOpen:false});
	this.step3 = $('#wizard_step3');
	this.step3.dialog({width:600,autoOpen:false});
}


Wizard.prototype.execute=function(cb)
{
	this.dialog.dialog('open');
}

aaa=1
// In the first step, users will select the project type.
Wizard.prototype.step1_cb=function(type)
{
	this.type = type;
	var obj = $('#wizardname');
	this.name = obj.attr('value');
	this.step2.dialog('open');
	this.dialog.dialog('close');
	this.step3.dialog('close');
}

// In the step 2, get the output path
Wizard.prototype.step2_cb=function()
{
	this.dir = $('#outputpath').attr('value');
	this.step2.dialog('close');
	this.step3.dialog('open');
	system_mkdir(this.dir);
	this.generate_source('main.c','main.c');
	this.step3.append('main.c<br>');
	this.generate_source('list.mbsvg','list.mbsvg');
	this.step3.append('list.mbsvg<br>');
	this.generate_source('app.h',this.name+'.h');
	this.step3.append(this.name+'.h<br>');
	this.generate_source('app.c',this.name+'.c');
	this.step3.append(this.name+'.c<br>');
	this.generate_source('app.prj',this.name+'.prj');
	this.step3.append('app.prj<br>');
	this.generate_source('Makefile','Makefile');
	this.step3.append('Makefile<br>');
	this.done_cb();
}

Wizard.prototype.done_cb=function()
{
	this.step3.dialog('close');
	this.cb(this.dir+'/'+this.name+'.prj');
}


Wizard.prototype.generate_source=function (tmpl,fname)
{
	var file = system_open_write(this.dir+'/'+fname);
	var template = system_open_read('/usr/local/share/mb/template/'+this.type+'/'+tmpl);
	if (template == null) {
		return;
	}
	if (file == null) {
		return;
	}
	var data = template.read(template.available());
	var regex = /\%n/gi;
	// FIXME: replace name here
	data=data.replace(regex,this.name);
	file.write(data,data.length);
	file.close();
	template.close();
}