swift
viewbaseproxystyle.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "viewbaseproxystyle.h"
5 
6 #include "gui/views/viewbase.h"
7 
8 namespace swift::gui::views
9 {
11  : QProxyStyle(style), m_view(view)
12  {}
13 
14  void CViewBaseProxyStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option,
15  QPainter *painter, const QWidget *widget) const
16  {
17  const bool indicator = (element == QStyle::PE_IndicatorItemViewItemDrop);
18  if (indicator)
19  {
20  Q_UNUSED(painter);
21  Q_UNUSED(option);
22  Q_UNUSED(widget);
23  QPainter viewPainter(this->m_view->viewport());
24  QPoint point = this->m_view->mapFromGlobal(QCursor::pos());
25  if (!point.isNull())
26  {
27  const QPoint topLeft(0, point.y());
28  const QPoint topRight(this->m_view->width(), point.y());
29  viewPainter.drawLine(topLeft, topRight);
30  }
31  }
32  }
33 } // namespace swift::gui::views
Non templated base class, allows Q_OBJECT and signals / slots to be used.
Definition: viewbase.h:87
CViewBaseProxyStyle(CViewBaseNonTemplate *view, QStyle *style=nullptr)
Constructor.
virtual void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
Views, mainly QTableView.