//----------------------------------------------------------------------------- void NewCmdDialog::nameChanged(int s) { QString n=name->itemText(s), par, a; int k; if(n.isEmpty()) return; QStringList ss; ss<<(pathHelp); help->setSearchPaths(ss); help->setSource(tr("mgl_en")+".html#"+n); // clear old kind->clear(); kinds.clear(); for(k=0;k<NUM_CH;k++) argn[k].clear(); // try to find the keyword if(!parser.CmdType(n.toStdString().c_str())) return; info->setText(QString::fromLocal8Bit(parser.CmdDesc(n.toStdString().c_str()))); par = QString::fromLocal8Bit(parser.CmdFormat(n.toStdString().c_str())); int i0 = par.indexOf(' '); // first space if present if(i0<0) { kind->addItem(par); return; } // no arguments // parse kind of arguments par = par.mid(i0); for(k=0;k<NUM_CH;k++) { a = par.section('|',k,k); if(a.isEmpty()) break; a=a.trimmed(); kinds<<n+" "+a; parse(argn[k],a); } kind->addItems(kinds); kind->setCurrentIndex(0); replace = false; }
void MainWindow::editPosChanged() { QString text = edit->selection(), dlm(" #;:\t"); int n = text.length(), i; for(i=0;i<n;i++) if(dlm.contains(text[i])) break; text.truncate(i); QByteArray qxtext = text.toLatin1(); const char *ctext = qxtext.constData(); const char *desc = parser.CmdDesc(ctext); const char *form = parser.CmdFormat(ctext); if(form) setStatus(QString(desc)+": "+QString(form)); else setStatus(_("Not recognized")); }