func doExecute(_data) if(isdef(Select)) println('QString ' + op_str + ' = QFileDialog::getOpenFileName(this, ', Title, ', ', StartDir, ', ', Filter, ');') println('if(!' + op_str + '.isEmpty()) {') block.inclvl() event(onExecute, op_str) block.declvl() else println('QStringList ' + op_str + ' = QFileDialog::getOpenFileNames(this, ', Title, ', ', StartDir, ', ', Filter, ');') println('if(!' + op_str + '.isEmpty()) {') block.inclvl() println('for(QStringList::iterator ' + i + ' = ' + op_str + '.begin(); ' + i + ' != ' + op_str + '.end(); ++' + i + ') {') block.inclvl() event(onExecute, '*' + i) block.declvl() println('}') block.declvl() end println('}') if(linked(onCancel)) println('else {') block.inclvl() event(onCancel) block.declvl() println('}') end end