ui: Errorview

Tabbed view with errorview as tab
This commit is contained in:
Andreas Stallinger
2016-10-13 12:37:10 +02:00
parent 97b151371b
commit dc064e4756
82 changed files with 1641 additions and 197 deletions
@@ -272,16 +272,24 @@ void CodeController::handleMessage(MessageShowErrors* message)
{
TRACE("code errors");
std::vector<ErrorInfo> errors;
m_collection = m_storageAccess->getErrorTokenLocations(&errors);
std::vector<CodeSnippetParams> snippets = getSnippetsForCollection(m_collection);
CodeView* view = getView();
view->clear();
view->setErrorInfos(errors);
view->showCodeSnippets(snippets, std::vector<Id>());
if (!view->showsErrors() || !message->errorId)
{
std::vector<ErrorInfo> errors;
m_collection = m_storageAccess->getErrorTokenLocations(&errors);
std::vector<CodeSnippetParams> snippets = getSnippetsForCollection(m_collection);
showContents(message);
view->clear();
view->setErrorInfos(errors);
view->showCodeSnippets(snippets, std::vector<Id>());
showContents(message);
}
if (message->errorId)
{
view->showActiveSnippet(std::vector<Id>(1, message->errorId), m_collection, true);
}
}
void CodeController::handleMessage(MessageSearchFullText* message)
@@ -0,0 +1,68 @@
#include "component/controller/ErrorController.h"
#include "data/access/StorageAccess.h"
ErrorController::ErrorController(StorageAccess* storageAccess)
: m_storageAccess(storageAccess)
{
}
ErrorController::~ErrorController()
{
}
void ErrorController::handleMessage(MessageClearErrorCount* message)
{
clear();
}
void ErrorController::handleMessage(MessageFinishedParsing* message)
{
clear();
auto errors = m_storageAccess->getAllErrors();
for (const StorageError& error : errors)
{
getView()->addError(error);
}
}
void ErrorController::handleMessage(MessageNewErrors* message)
{
for (const StorageError& error : message->errors)
{
getView()->addError(error);
}
getView()->showDockWidget();
}
void ErrorController::handleMessage(MessageShowErrors* message)
{
if (message->errorId)
{
return;
}
clear();
auto errors = m_storageAccess->getAllErrors();
for (const StorageError& error : errors)
{
getView()->addError(error);
}
getView()->showDockWidget();
}
ErrorView* ErrorController::getView() const
{
return Controller::getView<ErrorView>();
}
void ErrorController::clear()
{
getView()->clear();
}
@@ -0,0 +1,39 @@
#ifndef ERROR_CONTROLLER_H
#define ERROR_CONTROLLER_H
#include "utility/messaging/MessageListener.h"
#include "utility/messaging/type/MessageClearErrorCount.h"
#include "utility/messaging/type/MessageFinishedParsing.h"
#include "utility/messaging/type/MessageNewErrors.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "component/controller/Controller.h"
#include "component/view/ErrorView.h"
class StorageAccess;
class ErrorController
: public Controller
, public MessageListener<MessageClearErrorCount>
, public MessageListener<MessageFinishedParsing>
, public MessageListener<MessageNewErrors>
, public MessageListener<MessageShowErrors>
{
public:
ErrorController(StorageAccess* storageAccess);
~ErrorController();
private:
virtual void handleMessage(MessageClearErrorCount* message);
virtual void handleMessage(MessageFinishedParsing* message);
virtual void handleMessage(MessageNewErrors* message);
virtual void handleMessage(MessageShowErrors* message);
ErrorView* getView() const;
virtual void clear();
StorageAccess* m_storageAccess;
};
#endif // ERROR_CONTROLLER_H
@@ -137,7 +137,7 @@ void FeatureController::handleMessage(MessageSearch* message)
case SearchMatch::COMMAND_ERROR:
{
MessageShowErrors msg(m_storageAccess->getErrorCount());
MessageShowErrors msg(m_storageAccess->getFilteredErrorCount());
msg.setIsReplayed(message->isReplayed());
msg.dispatchImmediately();
return;
@@ -0,0 +1,22 @@
#include "component/controller/LogController.h"
#include "data/access/StorageAccess.h"
LogController::LogController(StorageAccess* storageAccess)
: m_storageAccess(storageAccess)
{
}
LogController::~LogController()
{
}
LogView* LogController::getView() const
{
return Controller::getView<LogView>();
}
void LogController::clear()
{
getView()->clear();
}
@@ -0,0 +1,24 @@
#ifndef LOG_CONTROLLER_H
#define LOG_CONTROLLER_H
#include "component/controller/Controller.h"
#include "component/view/LogView.h"
class StorageAccess;
class LogController
: public Controller
{
public:
LogController(StorageAccess* storageAccess);
~LogController();
private:
LogView* getView() const;
virtual void clear();
StorageAccess* m_storageAccess;
};
#endif // LOG_CONTROLLER_H
@@ -31,17 +31,22 @@ void StatusBarController::handleMessage(MessageClearErrorCount* message)
void StatusBarController::handleMessage(MessageFinishedParsing* message)
{
ErrorCountInfo errorCount = m_storageAccess->getErrorCount();
ErrorCountInfo errorCount = m_storageAccess->getFilteredErrorCount();
getView()->setErrorCount(errorCount);
}
void StatusBarController::handleMessage(MessageRefresh* message)
{
getView()->setErrorCount(m_storageAccess->getErrorCount());
getView()->setErrorCount(m_storageAccess->getFilteredErrorCount());
}
void StatusBarController::handleMessage(MessageShowErrors* message)
{
if (message->errorId)
{
return;
}
getView()->setErrorCount(message->errorCount);
}