virtual tjs_error TJS_INTF_METHOD FuncCall( // function invocation tjs_uint32 flag, // calling flag const tjs_char * membername,// member name ( NULL for a default member ) tjs_uint32 *hint, // hint for the member name (in/out) tTJSVariant *result, // result tjs_int numparams, // number of parameters tTJSVariant **param, // parameters iTJSDispatch2 *objthis // object as "this" ) { if (numparams > 1) { tTVInteger flag = param[1]->AsInteger(); if (!(flag & TJS_HIDDENMEMBER)) { if (first) { first = false; } else { writer->write((tjs_char)','); writer->newline(); } const tjs_char *name = param[0]->GetString(); quoteString(name, writer); writer->write(L"=>"); getVariantString(*param[2], writer); } } if (result) { *result = true; } return TJS_S_OK; }
QString ModelPrinter::getRowSring(UnityMenuModel* sourceModel, int row, int depth) const { QString str; QTextStream stream(&str); // Print out this row QHash<int, QByteArray> roleNames = sourceModel->roleNames(); QList<int> roles = roleNames.keys(); qSort(roles); Q_FOREACH(int role, roles) { const QByteArray& roleName = roleNames[role]; stream << tabify(depth) << getVariantString(roleName, sourceModel->get(row, roleName)); } return str; }
static void getArrayString(iTJSDispatch2 *array, IWriter *writer) { writer->write((tjs_char)'['); //writer->addIndent(); tjs_int count = 0; { tTJSVariant result; if (TJS_SUCCEEDED(ArrayCountProp->PropGet(0, NULL, NULL, &result, array))) { count = result; } } for (tjs_int i=0; i<count; i++) { if (i != 0) { writer->write((tjs_char)','); //writer->newline(); } tTJSVariant result; if (array->PropGetByNum(TJS_IGNOREPROP, i, &result, array) == TJS_S_OK) { getVariantString(result, writer); } } //writer->delIndent(); writer->write((tjs_char)']'); }