20 #include <qstringlist.h>
24 bool clockfcn,
const QString &at1,
const QString &an1,
25 const QString &at2,
const QString &an2,
26 const QString &at3,
const QString &an3,
27 const QString &at4,
const QString &an4,
28 const QString &at5,
const QString &an5,
29 const QString &at6,
const QString &an6 ) : INDIProp(QString()) {
31 ClockFunction = clockfcn;
33 ArgType[0] = at1; ArgDBusType[0] =
DBusType(at1); ArgName[0] = an1;
34 ArgType[1] = at2; ArgDBusType[1] =
DBusType(at2); ArgName[1] = an2;
35 ArgType[2] = at3; ArgDBusType[2] =
DBusType(at3); ArgName[2] = an3;
36 ArgType[3] = at4; ArgDBusType[3] =
DBusType(at4); ArgName[3] = an4;
37 ArgType[4] = at5; ArgDBusType[4] =
DBusType(at5); ArgName[4] = an5;
38 ArgType[5] = at6; ArgDBusType[5] =
DBusType(at6); ArgName[5] = an6;
41 QString nameStyle =
"<span style=\"font-family:monospace;font-weight:600\">%1</span>";
42 QString typeStyle =
"<span style=\"font-family:monospace;color:#009d00\">%1</span>";
43 QString paramStyle =
"<span style=\"font-family:monospace;color:#00007f\">%1</span>";
45 Description =
"<html><head><meta name=\"qrichtext\" content=\"1\" /></head>";
46 Description +=
"<body style=\"font-size:11pt;font-family:sans\">";
47 Description +=
"<p>" + nameStyle.arg( Name +
'(' );
50 if ( ! at1.isEmpty() && ! an1.isEmpty() ) {
51 Description +=
' ' + typeStyle.arg( at1 );
52 Description +=
' ' + paramStyle.arg( an1 );
56 if ( ! at2.isEmpty() && ! an2.isEmpty() ) {
57 Description +=
", " + typeStyle.arg( at2 );
58 Description +=
' ' + paramStyle.arg( an2 );
62 if ( ! at3.isEmpty() && ! an3.isEmpty() ) {
63 Description +=
", " + typeStyle.arg( at3 );
64 Description +=
' ' + paramStyle.arg( an3 );
68 if ( ! at4.isEmpty() && ! an4.isEmpty() ) {
69 Description +=
", " + typeStyle.arg( at4 );
70 Description +=
' ' + paramStyle.arg( an4 );
74 if ( ! at5.isEmpty() && ! an5.isEmpty() ) {
75 Description +=
", " + typeStyle.arg( at5 );
76 Description +=
' ' + paramStyle.arg( an5 );
80 if ( ! at6.isEmpty() && ! an6.isEmpty() ) {
81 Description +=
", " + typeStyle.arg( at6 );
82 Description +=
' ' + paramStyle.arg( an6 );
88 if ( NumArgs ) Valid =
false;
91 if ( NumArgs ) Description +=
' ';
92 Description += nameStyle.arg(
")" ) +
"</p><p>";
98 Description +=
"</p></body></html>";
111 for (
unsigned int i=0; i<6; i++ ) {
117 ArgVal[i] = sf->
argVal(i);
128 if (type == QString(
"int"))
129 return QString(
"int32");
130 else if (type == QString(
"uint"))
131 return QString(
"uint32");
132 else if (type == QString(
"double"))
134 else if (type == QString(
"QString"))
135 return QString(
"string");
136 else if (type == QString(
"bool"))
137 return QString(
"boolean");
143 QString p = Name +
'(';
146 if ( ! ArgType[0].isEmpty() && ! ArgName[0].isEmpty() ) {
147 p +=
' ' + ArgType[0];
148 p +=
' ' + ArgName[0];
152 if ( ! ArgType[1].isEmpty() && ! ArgName[1].isEmpty() ) {
153 p +=
", " + ArgType[1];
154 p +=
' ' + ArgName[1];
157 if ( ! ArgType[2].isEmpty() && ! ArgName[2].isEmpty() ) {
158 p +=
", " + ArgType[2];
159 p +=
' ' + ArgName[2];
162 if ( ! ArgType[3].isEmpty() && ! ArgName[3].isEmpty() ) {
163 p +=
", " + ArgType[3];
164 p +=
' ' + ArgName[3];
167 if ( ! ArgType[4].isEmpty() && ! ArgName[4].isEmpty() ) {
168 p +=
", " + ArgType[4];
169 p +=
' ' + ArgName[4];
172 if ( ! ArgType[5].isEmpty() && ! ArgName[5].isEmpty() ) {
173 p +=
", " + ArgType[5];
174 p +=
' ' + ArgName[5];
177 if ( args ) p +=
' ';
188 while ( ! ArgName[i].isEmpty() && i < 6 )
191 QString value = ArgVal[i];
192 if ( ArgDBusType[i] ==
"string" ) {
193 if ( value.isEmpty() ) {
196 if ( value.left(1) !=
"\"" && value.left(1) !=
"\'" ) {
197 value =
'\"' + value;
199 if ( value.right(1) !=
"\"" && value.right(1) !=
"\'" ) {
200 value = value +
'\"';
206 out +=
' ' + ArgDBusType[i] +
':' + value;
QString argDBusType(unsigned int n) const
QString argVal(unsigned int n) const
ScriptFunction(const QString &name, const QString &desc, bool clockfcn=false, const QString &at1=QString(), const QString &an1=QString(), const QString &at2=QString(), const QString &an2=QString(), const QString &at3=QString(), const QString &an3=QString(), const QString &at4=QString(), const QString &an4=QString(), const QString &at5=QString(), const QString &an5=QString(), const QString &at6=QString(), const QString &an6=QString())
bool isClockFunction() const
QString argName(unsigned int n) const
QString argType(unsigned int n) const
QString prototype() const
QString INDIProperty() const
QString DBusType(const QString &type)
QString scriptLine() const
QString description() const