editor/src/linemap.cpp

86 lines
1.3 KiB
C++

/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#include "linemap.h"
LineMap::LineMap(Editor * codeEditor) : QWidget(codeEditor)
{
editor = codeEditor;
setCursor(Qt::ArrowCursor);
setMouseTracking(true);
}
QSize LineMap::sizeHint() const {
return QSize(editor->lineMapAreaWidth(), 0);
}
void LineMap::paintEvent(QPaintEvent *event)
{
editor->lineMapAreaPaintEvent(event);
}
void LineMap::addMark(int line)
{
marks.append(line);
}
QVector<int> LineMap::getMarks()
{
return marks;
}
void LineMap::clearMarks()
{
marks.clear();
}
void LineMap::addError(int line)
{
errors.append(line);
}
QVector<int> LineMap::getErrors()
{
return errors;
}
void LineMap::clearErrors()
{
errors.clear();
}
void LineMap::addWarning(int line)
{
warnings.append(line);
}
QVector<int> LineMap::getWarnings()
{
return warnings;
}
void LineMap::clearWarnings()
{
warnings.clear();
}
void LineMap::clear()
{
clearMarks();
clearErrors();
clearWarnings();
}
void LineMap::mousePressEvent(QMouseEvent *event)
{
editor->scrollLineMap(event->y());
}
void LineMap::mouseMoveEvent(QMouseEvent *event)
{
editor->showLineMap(event->y());
}