include('wintools') include("wincontrolworks") func _create(_data) var(ctlr) fvar(p1,p2,p3) println(comboBox, ' = new QComboBox(this);') ctlr = comboBox include("wincontrol") if(isndef(Editable)) println(comboBox + '->setEditable(true);') end if(isndef(MaxVisibleItems)) println(comboBox + '->setMaxVisibleItems(', MaxVisibleItems, ');') end if(isdef(DataType)) p1 = 'int' p2 = 'int index' p3 = 'index'@int else p1 = 'QString' p2 = 'const QString &text' p3 = 'text'@str end if(linked(onActivated)) createEventArg1(ctlr, 'activated', 'onActivated', p1, p2, p3) end if(linked(onIndexChanged)) createEventArg1(ctlr, 'currentIndexChanged', 'onIndexChanged', p1, p2, p3) end if(linked(onTextChanged)) createEventArg1(ctlr, 'editTextChanged', 'onTextChanged', p1, p2, p3) end if(linked(onHighlighted)) createEventArg1(ctlr, 'highlighted', 'onHighlighted', p1, p2, p3) end end func init() lng.decl_priv_var(comboBox, 'QComboBox*') include("wincontrol_init") end func doAdd(_data) println(comboBox, '->addItem(', Text, ');') end func doClear() println(comboBox, '->clear();') end func doText(_data) println(comboBox, '->setEditText(', e_str(_data), ');') end func doCurrentIndex (_data) println(comboBox, '->setCurrentIndex(', e_int(_data), ');') end func CurrentIndex() return(comboBox + '->currentIndex()') end func Array(_data) // read write count add if(_data[0] = "@perm@") return(1 & 1 & 1 & 1) elseif(_data[0] = "@read@") return((comboBox + '->itemText(' + _data[1] + ')')@str) elseif(_data[0] = "@write@") return(comboBox + '->setItemText(' + _data[1] + ',' + _data[2] + ')') elseif(_data[0] = "@count@") return((comboBox + '->count()')@int) elseif(_data[0] = "@add@") return(comboBox + '->addItem(' + _data[1] + ')') else return('') end end