static bool isOK_setFormat(void) { if (!isOK_setOutputFormat()) { return false; } OutputFormat format; char separator[] = { '%', 'X' }; ushort code = 1; nameString name = "multiformat"; ushort precision = 5; bool leftJusfified = false; ushort width = 12; nameString output; nameString result[2][2] = { { "% 12.5lg", "% 12.5lg %% % 12.5lg" }, // { "% 12.5lg", "% 12.5lg X % 12.5lg" } }; for (ushort i = 0; i < 2; i++) { setOutputFormat(&format, precision, width, separator[i], leftJusfified, name, code); SAVE_FUNCTION_CALLER(); setFormats(output, 1, &format); if (strcmp(result[i][0], output)) { PRINT_ERROR(); return false; } SAVE_FUNCTION_CALLER(); setFormats(output, 2, &format); if (strcmp(result[i][1], output)) { PRINT_ERROR(); return false; } } PRINT_OK(); return true; }
void setFormatEnd(char formatString[], const ushort number, OutputFormat *format) { BACKUP_DEFINITION_LINE(); // assert(formatString); assert(number); assert(format); setFormats(formatString, number, format); ushort length = (ushort) (number * format->widthWithSeparator); char temp[length]; strcpy(temp, formatString); sprintf(formatString, "%s\n", temp); SAVE_FUNCTION_FOR_TESTING(); }
void setFormat(char formatString[], const ushort number, OutputFormat *format) { BACKUP_DEFINITION_LINE(); // assert(formatString); assert(number); assert(format); setFormats(formatString, number, format); char temp[number * format->widthWithSeparator];strcpy (temp, formatString); if (format->separator == '%') { sprintf(formatString, "%s %%%c", temp, format->separator); } else { sprintf(formatString, "%s %c", temp, format->separator); } // SAVE_FUNCTION_FOR_TESTING(); }
int GuestDnDResponse::onDispatch(uint32_t u32Function, void *pvParms, uint32_t cbParms) { LogFlowFunc(("u32Function=%RU32, pvParms=%p, cbParms=%RU32\n", u32Function, pvParms, cbParms)); int rc = VERR_WRONG_ORDER; /* Play safe. */ bool fTryCallbacks = false; switch (u32Function) { case DragAndDropSvc::GUEST_DND_HG_ACK_OP: { DragAndDropSvc::PVBOXDNDCBHGACKOPDATA pCBData = reinterpret_cast<DragAndDropSvc::PVBOXDNDCBHGACKOPDATA>(pvParms); AssertPtr(pCBData); AssertReturn(sizeof(DragAndDropSvc::VBOXDNDCBHGACKOPDATA) == cbParms, VERR_INVALID_PARAMETER); AssertReturn(DragAndDropSvc::CB_MAGIC_DND_HG_ACK_OP == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER); setDefAction(pCBData->uAction); rc = notifyAboutGuestResponse(); break; } case DragAndDropSvc::GUEST_DND_HG_REQ_DATA: { DragAndDropSvc::PVBOXDNDCBHGREQDATADATA pCBData = reinterpret_cast<DragAndDropSvc::PVBOXDNDCBHGREQDATADATA>(pvParms); AssertPtr(pCBData); AssertReturn(sizeof(DragAndDropSvc::VBOXDNDCBHGREQDATADATA) == cbParms, VERR_INVALID_PARAMETER); AssertReturn(DragAndDropSvc::CB_MAGIC_DND_HG_REQ_DATA == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER); if ( pCBData->cbFormat == 0 || pCBData->cbFormat > _64K) { rc = VERR_INVALID_PARAMETER; } else { setFormats(GuestDnD::toFormatList(pCBData->pszFormat)); rc = VINF_SUCCESS; } int rc2 = notifyAboutGuestResponse(); if (RT_SUCCESS(rc)) rc = rc2; break; } case DragAndDropSvc::GUEST_DND_HG_EVT_PROGRESS: { DragAndDropSvc::PVBOXDNDCBHGEVTPROGRESSDATA pCBData = reinterpret_cast<DragAndDropSvc::PVBOXDNDCBHGEVTPROGRESSDATA>(pvParms); AssertPtr(pCBData); AssertReturn(sizeof(DragAndDropSvc::VBOXDNDCBHGEVTPROGRESSDATA) == cbParms, VERR_INVALID_PARAMETER); AssertReturn(DragAndDropSvc::CB_MAGIC_DND_HG_EVT_PROGRESS == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER); rc = setProgress(pCBData->uPercentage, pCBData->uStatus, pCBData->rc); if (RT_SUCCESS(rc)) rc = notifyAboutGuestResponse(); break; } #ifdef VBOX_WITH_DRAG_AND_DROP_GH case DragAndDropSvc::GUEST_DND_GH_ACK_PENDING: { DragAndDropSvc::PVBOXDNDCBGHACKPENDINGDATA pCBData = reinterpret_cast<DragAndDropSvc::PVBOXDNDCBGHACKPENDINGDATA>(pvParms); AssertPtr(pCBData); AssertReturn(sizeof(DragAndDropSvc::VBOXDNDCBGHACKPENDINGDATA) == cbParms, VERR_INVALID_PARAMETER); AssertReturn(DragAndDropSvc::CB_MAGIC_DND_GH_ACK_PENDING == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER); if ( pCBData->cbFormat == 0 || pCBData->cbFormat > _64K) /** @todo Make the maximum size configurable? */ { rc = VERR_INVALID_PARAMETER; } else { setFormats (GuestDnD::toFormatList(pCBData->pszFormat)); setDefAction (pCBData->uDefAction); setAllActions(pCBData->uAllActions); rc = VINF_SUCCESS; } int rc2 = notifyAboutGuestResponse(); if (RT_SUCCESS(rc)) rc = rc2; break; } #endif /* VBOX_WITH_DRAG_AND_DROP_GH */ default: /* * Try if the event is covered by a registered callback. */ fTryCallbacks = true; break; } /* * Try the host's installed callbacks (if any). */ if (fTryCallbacks) { GuestDnDCallbackMap::const_iterator it = m_mapCallbacks.find(u32Function); if (it != m_mapCallbacks.end()) { AssertPtr(it->second.pfnCallback); rc = it->second.pfnCallback(u32Function, pvParms, cbParms, it->second.pvUser); } else { LogFlowFunc(("No callback for function %RU32 defined (%zu callbacks total)\n", u32Function, m_mapCallbacks.size())); rc = VERR_NOT_SUPPORTED; /* Tell the guest. */ } } LogFlowFunc(("Returning rc=%Rrc\n", rc)); return rc; }
StelScriptSyntaxHighlighter::StelScriptSyntaxHighlighter(QTextDocument *parent) : QSyntaxHighlighter(parent) { HighlightingRule rule; setFormats(); // comments rule.pattern = QRegExp("//[^\n]*"); rule.format = &commentFormat; highlightingRules.append(rule); // ECMAscript reserved words QStringList keywordPatterns; keywordPatterns << "\\bbreak\\b" << "\\bcase\\b" << "\\bcatch\\b" << "\\bcontinue\\b" << "\\bdefault\\b" << "\\bdelete\\b" << "\\bdo\\b" << "\\belse\\b" << "\\bfalse\\b" << "\\bfinally\\b" << "\\bfor\\b" << "\\bfunction\\b" << "\\bif\\b" << "\\bin\\b" << "\\binstanceof\\b" << "\\bnew\\b" << "\\breturn\\b" << "\\bswitch\\b" << "\\bthis\\b" << "\\bthrow\\b" << "\\btry\\b" << "\\btrue\\b" << "\\btypeof\\b" << "\\bvar\\b" << "\\bvoid\\b" << "\\bundefined\\b" << "\\bwhile\\b" << "\\bwith\\b" << "\\bArguments\\b" << "\\bArray\\b" << "\\bBoolean\\b" << "\\bDate\\b" << "\\bError\\b" << "\\bEvalError\\b" << "\\bFunction\\b" << "\\bGlobal\\b" << "\\bMath\\b" << "\\bNumber\\b" << "\\bObject\\b" << "\\bRangeError\\b" << "\\bReferenceError\\b" << "\\bRegExp\\b" << "\\bString\\b" << "\\bSyntaxError\\b" << "\\bTypeError\\b" << "\\bURIError\\b"; foreach(const QString &pattern, keywordPatterns) { rule.pattern = QRegExp(pattern); rule.format = &keywordFormat; highlightingRules.append(rule); }
QScriptHighlighter::QScriptHighlighter(QTextDocument *parent) : QSyntaxHighlighter(parent) { setFormats(defaultFormats()); }