VirtualBox

Changeset 72244 in vbox


Ignore:
Timestamp:
May 17, 2018 1:31:40 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122690
Message:

FE/Qt bugref:9072: Refactor some local class to devide them between definition and implementation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/logviewer/UIVMLogViewerTextEdit.cpp

    r72030 r72244  
    6464                                       "height: 0px;}");
    6565
     66
     67/*********************************************************************************************************************************
     68*   UIIndicatorScrollBar definition.                                                                                             *
     69*********************************************************************************************************************************/
     70
    6671class UIIndicatorScrollBar : public QScrollBar
    6772{
     
    7075public:
    7176
    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();
    8780
    8881protected:
    8982
    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 */;
    10584
    10685private:
     
    11190};
    11291
     92
     93/*********************************************************************************************************************************
     94*   UIIndicatorScrollBar implemetation.                                                                                          *
     95*********************************************************************************************************************************/
     96
     97UIIndicatorScrollBar::UIIndicatorScrollBar(QWidget *parent /*= 0 */)
     98    :QScrollBar(parent)
     99{
     100    setStyleSheet(verticalScrollBarStyle);
     101}
     102
     103void UIIndicatorScrollBar::setMarkingsVector(const QVector<float> &vector)
     104{
     105    m_markingsVector = vector;
     106}
     107
     108void UIIndicatorScrollBar::clearMarkingsVector()
     109{
     110    m_markingsVector.clear();
     111}
     112
     113void 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
    113134class UILineNumberArea : public QWidget
    114135{
    115136public:
    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;
    129139
    130140protected:
    131141
    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);
    150145
    151146private:
     
    153148};
    154149
     150
     151/*********************************************************************************************************************************
     152*   UILineNumberArea implemetation.                                                                                              *
     153*********************************************************************************************************************************/
     154
     155UILineNumberArea::UILineNumberArea(UIVMLogViewerTextEdit *textEdit)
     156    :QWidget(textEdit)
     157    , m_pTextEdit(textEdit)
     158{
     159    setMouseTracking(true);
     160}
     161
     162QSize UILineNumberArea::sizeHint() const
     163{
     164    if (!m_pTextEdit)
     165        return QSize();
     166    return QSize(m_pTextEdit->lineNumberAreaWidth(), 0);
     167}
     168
     169void UILineNumberArea::paintEvent(QPaintEvent *event)
     170{
     171    if (m_pTextEdit)
     172        m_pTextEdit->lineNumberAreaPaintEvent(event);
     173}
     174
     175void UILineNumberArea::mouseMoveEvent(QMouseEvent *pEvent)
     176{
     177    if (m_pTextEdit)
     178        m_pTextEdit->setMouseCursorLine(m_pTextEdit->lineNumberForPos(pEvent->pos()));
     179    repaint();
     180}
     181
     182void 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*********************************************************************************************************************************/
    155192
    156193UIVMLogViewerTextEdit::UIVMLogViewerTextEdit(QWidget* parent /* = 0 */)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette