void TestResultView::displayTestResult(const TestResult *const result) { if(!result) { displayNone(); return; } /* ------- the Test Status Label --------- */ resultStatus->setText(result->status() ? TestResult::displayName(result->status()) : QLatin1String("Not Applicable")); /* --------------------------------------- */ /* ------------ the AST View ------------- */ ASTItem *astTree = result->astTree(); static_cast<TreeModel *>(astView->model())->setRoot(astTree); /* --------------------------------------- */ /* ------- the Error code/msg View ------- */ ErrorItem *msgRoot = new ErrorItem(ErrorHandler::Message(), 0); const ErrorHandler::Message::List msgs(result->messages()); ErrorHandler::Message::List::const_iterator it(msgs.constBegin()); const ErrorHandler::Message::List::const_iterator end(msgs.constEnd()); for(; it != end; ++it) msgRoot->appendChild(new ErrorItem(*it, msgRoot)); TreeModel *etm = static_cast<TreeModel *>(messageOutput->model()); etm->setRoot(msgRoot); /* --------------------------------------- */ const QPatternist::Item::List items(result->items()); /* ----- the Serialized Output View ------ */ serializedResult->setPlainText(result->asSerialized()); /* --------------------------------------- */ /* ------ the Item List Output View ------ */ XDTItemItem *itemRoot = new XDTItemItem(QPatternist::Item(), 0); QPatternist::Item item; QPatternist::Item::List::const_iterator itemIt(items.constBegin()); const QPatternist::Item::List::const_iterator itemsEnd(items.constEnd()); for(; itemIt != itemsEnd; ++itemIt) itemRoot->appendChild(new XDTItemItem(*itemIt, itemRoot)); TreeModel *itm = static_cast<TreeModel *>(itemListResult->model()); itm->setRoot(itemRoot); /* --------------------------------------- */ }
void TestResultView::displayNone() { TreeModel *tm; tm = static_cast<TreeModel *>(astView->model()); Q_ASSERT(tm); tm->setRoot(0); tm = static_cast<TreeModel *>(messageOutput->model()); Q_ASSERT(tm); tm->setRoot(0); tm = static_cast<TreeModel *>(itemListResult->model()); Q_ASSERT(tm); tm->setRoot(0); serializedResult->clear(); resultStatus->clear(); }