4 Command::Command(const QString &n, SelectionType st, ParameterType retType)
11 QString Command::getName() { return name; }
13 QString Command::getDescription()
16 s = QString("Command: \"%1\"\n").arg(name);
17 s += QString(" SelectionType: %1\n").arg(getSelectionTypeName());
18 s += QString(" Return type: %1\n").arg(typeToString(returnType));
19 s += QString(" Parameters: %1\n").arg(parCount());
20 // s+=QString(" Parameters: %1\n").arg(parCount() );
21 for (int i = 0; i < parCount(); i++) {
22 s += QString(" Parameter %1:\n").arg(i + 1);
23 s += QString(" Comment: %1\n").arg(getParComment(i));
24 s += QString(" Type: %1\n").arg(typeToString(getParType(i)));
25 s += QString(" Optional: ");
26 isParOptional(i) ? s += "yes\n" : s += "No\n";
31 QString Command::getDescriptionLaTeX()
34 s = QString("\\item %1\\\\\n").arg(name);
35 s += "\\begin{tabular}{rl}\n";
36 s += QString(" SelectionType: & %1\\\\\n").arg(getSelectionTypeName());
37 s += QString(" Return Type: & %1\\\\\n").arg(typeToString(returnType));
39 s += QString(" Parameters: & %1\\\\\n").arg(parCount());
40 for (int i = 0; i < parCount(); i++) {
41 s += QString(" Parameter: & %1:\\\\\n").arg(i + 1);
42 s += QString(" Comment: & %1\\\\\n").arg(getParComment(i));
43 s += QString(" Type: & %1\\\\\n").arg(typeToString(getParType(i)));
44 s += QString(" Optional: & ");
45 isParOptional(i) ? s += "yes\\\\\n" : s += "No\\\\\n";
47 s += "\\end{tabular}\n";
51 void Command::addPar(ParameterType t, bool opt, const QString &c)
55 parComments.append(c);
58 int Command::parCount() { return parTypes.count(); }
60 Command::ParameterType Command::getParType(int n)
62 if (n >= 0 && n < parTypes.count()) {
63 return parTypes.at(n);
65 qDebug() << "Command::getParType n out of range";
69 QString Command::typeToString(const ParameterType &type)
87 return "not defined in class Command.";
91 Command::SelectionType Command::getSelectionType() { return selectionType; }
93 QString Command::getSelectionTypeName()
95 switch (getSelectionType()) {
107 return "BranchOrImage";
115 bool Command::isParOptional(int n)
117 if (n >= 0 && n < parTypes.count()) {
118 return parOpts.at(n);
120 qDebug() << "Command::isParOpt n out of range";
124 QString Command::getParComment(int n)
126 if (n >= 0 && n < parTypes.count()) {
127 return parComments.at(n);
129 qDebug() << "Command::getParComment n out of range";