func doExecute(_data) if(isdef(Select)) println('wxFileDialog ', dlg, '(this, ', Title, ', ', StartDir, ', "", ', Filter, ', wxFD_OPEN);') println('if (', dlg, '.ShowModal() == wxID_OK)') println('{') block.inclvl() println('wxString ', op_str, ' = ', dlg, '.GetPath();') event(onExecute, op_str) block.declvl() else println('wxFileDialog ', dlg, '(this, ', Title, ', ', StartDir, ', "", ', Filter, ', wxFD_OPEN | wxFD_MULTIPLE);') println('if (', dlg, '.ShowModal() == wxID_OK)') println('{') block.inclvl() println('wxArrayString ', arr, ';') println(dlg, '.GetPaths(', arr, ');') println('for (size_t ', i, ' = 0; i < ', arr, '.Count(); i++)') block.inclvl() event(onExecute, 'arr[' + i + ']') block.declvl() block.declvl() end println('}') if(linked(onCancel)) println('else') println('{') block.inclvl() event(onCancel) block.declvl() println('}') end end