Commit f8d3725988f049ef4c372ebdb6b82c6bd10e73e4
1 parent
2ef5a60a
Exists in
master
and in
90 other branches
Give the possibility to define a default value for promted args (used for defaul…
…t frames selection #5110)
Showing
3 changed files
with
39 additions
and
16 deletions
Show diff stats
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('amdaModel.PromptArg', { |
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('amdaUI.PromptArgsWin', { |
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('amdaUI.PromptArgsWin', { |
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('amdaUI.PromptArgsWin', { |
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('amdaUI.PromptArgsWin', { |
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('amdaUI.PromptArgsWin', { |
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 | |
... | ... |