diff --git a/generic_data/Functions/functions.xml b/generic_data/Functions/functions.xml index 52c737a..da0dd2a 100644 --- a/generic_data/Functions/functions.xml +++ b/generic_data/Functions/functions.xml @@ -154,8 +154,8 @@ </function> <function name="framesTransformation(,,,)" args="1" kind="frames" group="space"> <prompts> - <prompt type="list" subtype="frames">Input frame:</prompt> - <prompt type="list" subtype="frames">Output frame:</prompt> + <prompt type="list" subtype="frames" default="GSM">Input frame:</prompt> + <prompt type="list" subtype="frames" default="GSE">Output frame:</prompt> <prompt type="boolean">The vector represent a position in space?</prompt> </prompts> <info_brief>Frames transformation</info_brief> diff --git a/js/app/models/Function.js b/js/app/models/Function.js index 0202408..42a2b34 100644 --- a/js/app/models/Function.js +++ b/js/app/models/Function.js @@ -12,6 +12,7 @@ Ext.define('amdaModel.PromptArg', { fields : [ {name: 'type', mapping: '@type', type:'string', defaultValue: 'float'}, {name: 'subtype', mapping: '@subtype', type:'string', defaultValue: null}, + {name: 'default', mapping: '@default', type:'string', defaultValue: ''}, {name: 'prompt', mapping: '/', type: 'string', defaultValue: ''} ] }); diff --git a/js/app/views/CalculatorUI.js b/js/app/views/CalculatorUI.js index 8be348d..8239f85 100644 --- a/js/app/views/CalculatorUI.js +++ b/js/app/views/CalculatorUI.js @@ -37,16 +37,16 @@ Ext.define('amdaUI.PromptArgsWin', { prompts.each(function(promptObj, index) { switch (promptObj.get('type')) { case 'float': - me.addFloatField(promptObj.get('prompt'), index); + me.addFloatField(promptObj.get('prompt'), index, promptObj.get('default')); break; case 'list': - me.addComboField(promptObj.get('prompt'), promptObj.get('subtype'), index); + me.addComboField(promptObj.get('prompt'), promptObj.get('subtype'), index, promptObj.get('default')); break; case 'boolean': - me.addBooleanField(promptObj.get('prompt'), index); + me.addBooleanField(promptObj.get('prompt'), index, promptObj.get('default')); break; case 'string': - me.addStringField(promptObj.get('prompt'), index); + me.addStringField(promptObj.get('prompt'), index, promptObj.get('default')); break; default: console.log('Unknown arg type: ' + promptObj.get('type')); @@ -56,17 +56,26 @@ Ext.define('amdaUI.PromptArgsWin', { this.show(); }, - addFloatField: function(label, index) { - this.fieldsForm.add({ + addFloatField: function(label, index, defaultVal) { + var field = this.fieldsForm.add({ xtype: 'numberfield', name: 'arg' + index, fieldLabel: label, decimalPrecision : 20, - allowBlank: false + allowBlank: false, + hideTrigger: true, + keyNavEnabled: false, + mouseWheelEnabled: false }); + if (defaultVal != "") { + defaultVal = parseFloat(defaultVal); + if (!isNaN(defaultVal)) { + field.setValue(defaultVal); + } + } }, - addComboField: function(label, listtype, index) { + addComboField: function(label, listtype, index, defaultVal) { var argslistStore = amdaUI.CalculatorUI.argslistStore; if (!argslistStore) { return; @@ -93,7 +102,7 @@ Ext.define('amdaUI.PromptArgsWin', { data : listData }); - this.fieldsForm.add({ + var field = this.fieldsForm.add({ xtype: 'combo', name: 'arg' + index, fieldLabel: label, @@ -103,24 +112,36 @@ Ext.define('amdaUI.PromptArgsWin', { valueField: 'key', editable: false }); + + if (defaultVal != "") { + field.setValue(defaultVal); + } }, - addBooleanField: function(label, index) { - this.fieldsForm.add({ + addBooleanField: function(label, index, defaultVal) { + var field = this.fieldsForm.add({ xtype: 'checkbox', name: 'arg' + index, boxLabel: label, inputValue: '1', uncheckedValue: '0' }); + + if (defaultVal != "") { + field.setValue(defaultVal != '0'); + } }, - addStringField: function(label, index) { - this.fieldsForm.add({ + addStringField: function(label, index, defaultVal) { + var field = this.fieldsForm.add({ xtype: 'textfield', name: 'arg' + index, fieldLabel: label }); + + if (defaultVal != "") { + field.setValue(defaultVal); + } }, init : function(config) { @@ -128,7 +149,8 @@ Ext.define('amdaUI.PromptArgsWin', { layout: { type: 'vbox', pack: 'start', - align: 'stretch' + align: 'stretch', + defaultMargins: {top: 5, right: 5, bottom: 0, left: 5} } }); -- libgit2 0.21.2