Changeset 72244 in vbox
- Timestamp:
- May 17, 2018 1:31:40 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 122690
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerTextEdit.cpp
r72030 r72244 64 64 "height: 0px;}"); 65 65 66 67 /********************************************************************************************************************************* 68 * UIIndicatorScrollBar definition. * 69 *********************************************************************************************************************************/ 70 66 71 class UIIndicatorScrollBar : public QScrollBar 67 72 { … … 70 75 public: 71 76 72 UIIndicatorScrollBar(QWidget *parent = 0) 73 :QScrollBar(parent) 74 { 75 setStyleSheet(verticalScrollBarStyle); 76 } 77 78 void setMarkingsVector(const QVector<float> &vector) 79 { 80 m_markingsVector = vector; 81 } 82 83 void clearMarkingsVector() 84 { 85 m_markingsVector.clear(); 86 } 77 UIIndicatorScrollBar(QWidget *parent = 0); 78 void setMarkingsVector(const QVector<float> &vector); 79 void clearMarkingsVector(); 87 80 88 81 protected: 89 82 90 virtual void paintEvent(QPaintEvent *pEvent) /* override */ 91 { 92 QScrollBar::paintEvent(pEvent); 93 /* Put a red line to mark the bookmark positions: */ 94 for (int i = 0; i < m_markingsVector.size(); ++i) 95 { 96 QPointF p1 = QPointF(0, m_markingsVector[i] * height()); 97 QPointF p2 = QPointF(width(), m_markingsVector[i] * height()); 98 99 QPainter painter(this); 100 painter.setRenderHint(QPainter::Antialiasing, true); 101 painter.setPen(QPen(QColor(255, 0, 0, 75), 1.1f)); 102 painter.drawLine(p1, p2); 103 } 104 } 83 virtual void paintEvent(QPaintEvent *pEvent) /* override */; 105 84 106 85 private: … … 111 90 }; 112 91 92 93 /********************************************************************************************************************************* 94 * UIIndicatorScrollBar implemetation. * 95 *********************************************************************************************************************************/ 96 97 UIIndicatorScrollBar::UIIndicatorScrollBar(QWidget *parent /*= 0 */) 98 :QScrollBar(parent) 99 { 100 setStyleSheet(verticalScrollBarStyle); 101 } 102 103 void UIIndicatorScrollBar::setMarkingsVector(const QVector<float> &vector) 104 { 105 m_markingsVector = vector; 106 } 107 108 void UIIndicatorScrollBar::clearMarkingsVector() 109 { 110 m_markingsVector.clear(); 111 } 112 113 void UIIndicatorScrollBar::paintEvent(QPaintEvent *pEvent) /* override */ 114 { 115 QScrollBar::paintEvent(pEvent); 116 /* Put a red line to mark the bookmark positions: */ 117 for (int i = 0; i < m_markingsVector.size(); ++i) 118 { 119 QPointF p1 = QPointF(0, m_markingsVector[i] * height()); 120 QPointF p2 = QPointF(width(), m_markingsVector[i] * height()); 121 122 QPainter painter(this); 123 painter.setRenderHint(QPainter::Antialiasing, true); 124 painter.setPen(QPen(QColor(255, 0, 0, 75), 1.1f)); 125 painter.drawLine(p1, p2); 126 } 127 } 128 129 130 /********************************************************************************************************************************* 131 * UILineNumberArea definition. * 132 *********************************************************************************************************************************/ 133 113 134 class UILineNumberArea : public QWidget 114 135 { 115 136 public: 116 UILineNumberArea(UIVMLogViewerTextEdit *textEdit) 117 :QWidget(textEdit) 118 , m_pTextEdit(textEdit) 119 { 120 setMouseTracking(true); 121 } 122 123 QSize sizeHint() const 124 { 125 if (!m_pTextEdit) 126 return QSize(); 127 return QSize(m_pTextEdit->lineNumberAreaWidth(), 0); 128 } 137 UILineNumberArea(UIVMLogViewerTextEdit *textEdit); 138 QSize sizeHint() const; 129 139 130 140 protected: 131 141 132 void paintEvent(QPaintEvent *event) 133 { 134 if (m_pTextEdit) 135 m_pTextEdit->lineNumberAreaPaintEvent(event); 136 } 137 138 void mouseMoveEvent(QMouseEvent *pEvent) 139 { 140 if (m_pTextEdit) 141 m_pTextEdit->setMouseCursorLine(m_pTextEdit->lineNumberForPos(pEvent->pos())); 142 repaint(); 143 } 144 145 void mousePressEvent(QMouseEvent *pEvent) 146 { 147 if (m_pTextEdit) 148 m_pTextEdit->toggleBookmark(m_pTextEdit->bookmarkForPos(pEvent->pos())); 149 } 142 void paintEvent(QPaintEvent *event); 143 void mouseMoveEvent(QMouseEvent *pEvent); 144 void mousePressEvent(QMouseEvent *pEvent); 150 145 151 146 private: … … 153 148 }; 154 149 150 151 /********************************************************************************************************************************* 152 * UILineNumberArea implemetation. * 153 *********************************************************************************************************************************/ 154 155 UILineNumberArea::UILineNumberArea(UIVMLogViewerTextEdit *textEdit) 156 :QWidget(textEdit) 157 , m_pTextEdit(textEdit) 158 { 159 setMouseTracking(true); 160 } 161 162 QSize UILineNumberArea::sizeHint() const 163 { 164 if (!m_pTextEdit) 165 return QSize(); 166 return QSize(m_pTextEdit->lineNumberAreaWidth(), 0); 167 } 168 169 void UILineNumberArea::paintEvent(QPaintEvent *event) 170 { 171 if (m_pTextEdit) 172 m_pTextEdit->lineNumberAreaPaintEvent(event); 173 } 174 175 void UILineNumberArea::mouseMoveEvent(QMouseEvent *pEvent) 176 { 177 if (m_pTextEdit) 178 m_pTextEdit->setMouseCursorLine(m_pTextEdit->lineNumberForPos(pEvent->pos())); 179 repaint(); 180 } 181 182 void UILineNumberArea::mousePressEvent(QMouseEvent *pEvent) 183 { 184 if (m_pTextEdit) 185 m_pTextEdit->toggleBookmark(m_pTextEdit->bookmarkForPos(pEvent->pos())); 186 } 187 188 189 /********************************************************************************************************************************* 190 * UIVMLogViewerTextEdit implemetation. * 191 *********************************************************************************************************************************/ 155 192 156 193 UIVMLogViewerTextEdit::UIVMLogViewerTextEdit(QWidget* parent /* = 0 */)
Note:
See TracChangeset
for help on using the changeset viewer.