CfgLangDialog(NCDialogParent *parent, char *id, ccollect<LangListNode> *nl) : NCDialog(createDialogAsChild, 0, parent, utf8_to_unicode( _LT("Language") ).ptr(), bListOkCancel), _selected(0), _list(Win::WT_CHILD,Win::WH_TABFOCUS|WH_CLICKFOCUS, 0, this, VListWin::SINGLE_SELECT, VListWin::BORDER_3D, 0), nodeList(nl) { _list.Append( utf8_to_unicode( _LT("Autodetect") ).ptr()); //0 _list.Append( utf8_to_unicode( _LT("English") ).ptr()); //1 for (int i = 0; i<nl->count(); i++) _list.Append( utf8_to_unicode(nl->get(i).name.ptr()).ptr() ); int cur = 0; if (id[0] == '+') cur = 0; else if (id[0] == '-') cur = 1; else { for (int i = 0; i<nl->count(); i++) if (!strcmp(id, nl->get(i).id.ptr())) { cur = i+2; break; } } _list.MoveCurrent(cur); _list.Enable(); _list.Show(); _list.SetFocus(); LSRange h(10, 1000, 10); LSRange w(50, 1000, 30); _list.SetHeightRange(h); //in characters _list.SetWidthRange(w); //in characters AddWin(&_list); SetEnterCmd(CMD_OK); SetPosition(); };