47 lines
1.5 KiB
C++
47 lines
1.5 KiB
C++
|
#include "gtl_gui_player_chart_range_body.h"
|
||
|
|
||
|
namespace gtl
|
||
|
{
|
||
|
namespace gui
|
||
|
{
|
||
|
namespace player
|
||
|
{
|
||
|
chart_range_body::chart_range_body(::chart::series::series *parent)
|
||
|
: ::chart::instrument::primitive::primitive(parent)
|
||
|
{
|
||
|
setFlag(QGraphicsItem::ItemIsMovable, false);
|
||
|
setFlag(QGraphicsItem::ItemIsSelectable, false);
|
||
|
setFlag(QGraphicsItem::ItemSendsGeometryChanges, false);
|
||
|
|
||
|
setAcceptHoverEvents(false);
|
||
|
}
|
||
|
|
||
|
void chart_range_body::set_range(qreal x0, qreal x1)
|
||
|
{
|
||
|
prepareGeometryChange();
|
||
|
|
||
|
_left = qMin(x0, x1);
|
||
|
_right = qMax(x0, x1);
|
||
|
}
|
||
|
|
||
|
QRectF chart_range_body::boundingRect() const
|
||
|
{
|
||
|
qreal left = _series->axis_x()->map_to_widget(_left);
|
||
|
qreal right = _series->axis_x()->map_to_widget(_right);
|
||
|
|
||
|
QRectF rect_axis = _series->axis_x()->boundingRect();
|
||
|
QRectF rect = QRectF(left, rect_axis.top(), right - left, rect_axis.height());
|
||
|
|
||
|
return rect;
|
||
|
}
|
||
|
|
||
|
QPainterPath chart_range_body::shape() const { return QPainterPath(); }
|
||
|
|
||
|
void chart_range_body::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
||
|
{
|
||
|
painter->fillRect(boundingRect(), QBrush(QColor(128, 128, 128, 64)));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|