Commit f8d3725988f049ef4c372ebdb6b82c6bd10e73e4

Authored by Benjamin Renard
1 parent 2ef5a60a

Give the possibility to define a default value for promted args (used for defaul…

…t frames selection #5110)
generic_data/Functions/functions.xml
... ... @@ -154,8 +154,8 @@
154 154 </function>
155 155 <function name="framesTransformation(,,,)" args="1" kind="frames" group="space">
156 156 <prompts>
157   - <prompt type="list" subtype="frames">Input frame:</prompt>
158   - <prompt type="list" subtype="frames">Output frame:</prompt>
  157 + <prompt type="list" subtype="frames" default="GSM">Input frame:</prompt>
  158 + <prompt type="list" subtype="frames" default="GSE">Output frame:</prompt>
159 159 <prompt type="boolean">The vector represent a position in space?</prompt>
160 160 </prompts>
161 161 <info_brief>Frames transformation</info_brief>
... ...
js/app/models/Function.js
... ... @@ -12,6 +12,7 @@ Ext.define(&#39;amdaModel.PromptArg&#39;, {
12 12 fields : [
13 13 {name: 'type', mapping: '@type', type:'string', defaultValue: 'float'},
14 14 {name: 'subtype', mapping: '@subtype', type:'string', defaultValue: null},
  15 + {name: 'default', mapping: '@default', type:'string', defaultValue: ''},
15 16 {name: 'prompt', mapping: '/', type: 'string', defaultValue: ''}
16 17 ]
17 18 });
... ...
js/app/views/CalculatorUI.js
... ... @@ -37,16 +37,16 @@ Ext.define(&#39;amdaUI.PromptArgsWin&#39;, {
37 37 prompts.each(function(promptObj, index) {
38 38 switch (promptObj.get('type')) {
39 39 case 'float':
40   - me.addFloatField(promptObj.get('prompt'), index);
  40 + me.addFloatField(promptObj.get('prompt'), index, promptObj.get('default'));
41 41 break;
42 42 case 'list':
43   - me.addComboField(promptObj.get('prompt'), promptObj.get('subtype'), index);
  43 + me.addComboField(promptObj.get('prompt'), promptObj.get('subtype'), index, promptObj.get('default'));
44 44 break;
45 45 case 'boolean':
46   - me.addBooleanField(promptObj.get('prompt'), index);
  46 + me.addBooleanField(promptObj.get('prompt'), index, promptObj.get('default'));
47 47 break;
48 48 case 'string':
49   - me.addStringField(promptObj.get('prompt'), index);
  49 + me.addStringField(promptObj.get('prompt'), index, promptObj.get('default'));
50 50 break;
51 51 default:
52 52 console.log('Unknown arg type: ' + promptObj.get('type'));
... ... @@ -56,17 +56,26 @@ Ext.define(&#39;amdaUI.PromptArgsWin&#39;, {
56 56 this.show();
57 57 },
58 58  
59   - addFloatField: function(label, index) {
60   - this.fieldsForm.add({
  59 + addFloatField: function(label, index, defaultVal) {
  60 + var field = this.fieldsForm.add({
61 61 xtype: 'numberfield',
62 62 name: 'arg' + index,
63 63 fieldLabel: label,
64 64 decimalPrecision : 20,
65   - allowBlank: false
  65 + allowBlank: false,
  66 + hideTrigger: true,
  67 + keyNavEnabled: false,
  68 + mouseWheelEnabled: false
66 69 });
  70 + if (defaultVal != "") {
  71 + defaultVal = parseFloat(defaultVal);
  72 + if (!isNaN(defaultVal)) {
  73 + field.setValue(defaultVal);
  74 + }
  75 + }
67 76 },
68 77  
69   - addComboField: function(label, listtype, index) {
  78 + addComboField: function(label, listtype, index, defaultVal) {
70 79 var argslistStore = amdaUI.CalculatorUI.argslistStore;
71 80 if (!argslistStore) {
72 81 return;
... ... @@ -93,7 +102,7 @@ Ext.define(&#39;amdaUI.PromptArgsWin&#39;, {
93 102 data : listData
94 103 });
95 104  
96   - this.fieldsForm.add({
  105 + var field = this.fieldsForm.add({
97 106 xtype: 'combo',
98 107 name: 'arg' + index,
99 108 fieldLabel: label,
... ... @@ -103,24 +112,36 @@ Ext.define(&#39;amdaUI.PromptArgsWin&#39;, {
103 112 valueField: 'key',
104 113 editable: false
105 114 });
  115 +
  116 + if (defaultVal != "") {
  117 + field.setValue(defaultVal);
  118 + }
106 119 },
107 120  
108   - addBooleanField: function(label, index) {
109   - this.fieldsForm.add({
  121 + addBooleanField: function(label, index, defaultVal) {
  122 + var field = this.fieldsForm.add({
110 123 xtype: 'checkbox',
111 124 name: 'arg' + index,
112 125 boxLabel: label,
113 126 inputValue: '1',
114 127 uncheckedValue: '0'
115 128 });
  129 +
  130 + if (defaultVal != "") {
  131 + field.setValue(defaultVal != '0');
  132 + }
116 133 },
117 134  
118   - addStringField: function(label, index) {
119   - this.fieldsForm.add({
  135 + addStringField: function(label, index, defaultVal) {
  136 + var field = this.fieldsForm.add({
120 137 xtype: 'textfield',
121 138 name: 'arg' + index,
122 139 fieldLabel: label
123 140 });
  141 +
  142 + if (defaultVal != "") {
  143 + field.setValue(defaultVal);
  144 + }
124 145 },
125 146  
126 147 init : function(config) {
... ... @@ -128,7 +149,8 @@ Ext.define(&#39;amdaUI.PromptArgsWin&#39;, {
128 149 layout: {
129 150 type: 'vbox',
130 151 pack: 'start',
131   - align: 'stretch'
  152 + align: 'stretch',
  153 + defaultMargins: {top: 5, right: 5, bottom: 0, left: 5}
132 154 }
133 155 });
134 156  
... ...