#include <QStyleOptionGraphicsItem>
#include <QCursor>
-OnMonitorRectItem::OnMonitorRectItem(const QRectF &rect, QGraphicsItem* parent) :
+OnMonitorRectItem::OnMonitorRectItem(const QRectF &rect, MonitorScene *scene, QGraphicsItem* parent) :
+ AbstractOnMonitorItem(scene),
QGraphicsRectItem(rect, parent)
{
setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
return NoAction;
}
-int OnMonitorRectItem::type() const
+/*int OnMonitorRectItem::type() const
{
return Type;
-}
-
-void OnMonitorRectItem::setEnabled(bool enabled)
-{
- m_enabled = enabled;
-}
+}*/
void OnMonitorRectItem::slotMousePressed(QGraphicsSceneMouseEvent* event)
{
- if (!m_enabled)
+ event->accept();
+
+ if (!isEnabled())
return;
m_clickPoint = event->scenePos();
m_mode = getMode(m_clickPoint.toPoint());
}
-void OnMonitorRectItem::slotMouseReleased(QGraphicsSceneMouseEvent* event)
+void OnMonitorRectItem::slotMouseMoved(QGraphicsSceneMouseEvent* event)
{
- if (m_modified) {
- m_modified = false;
- emit actionFinished();
- }
-
event->accept();
-}
-void OnMonitorRectItem::slotMouseMoved(QGraphicsSceneMouseEvent* event)
-{
- if (!m_enabled) {
- emit setCursor(QCursor(Qt::ArrowCursor));
+ if (!isEnabled()) {
+ emit requestCursor(QCursor(Qt::ArrowCursor));
return;
}
switch (getMode(event->scenePos().toPoint())) {
case ResizeTopLeft:
case ResizeBottomRight:
- emit setCursor(QCursor(Qt::SizeFDiagCursor));
+ emit requestCursor(QCursor(Qt::SizeFDiagCursor));
break;
case ResizeTopRight:
case ResizeBottomLeft:
- emit setCursor(QCursor(Qt::SizeBDiagCursor));
+ emit requestCursor(QCursor(Qt::SizeBDiagCursor));
break;
case ResizeTop:
case ResizeBottom:
- emit setCursor(QCursor(Qt::SizeVerCursor));
+ emit requestCursor(QCursor(Qt::SizeVerCursor));
break;
case ResizeLeft:
case ResizeRight:
- emit setCursor(QCursor(Qt::SizeHorCursor));
+ emit requestCursor(QCursor(Qt::SizeHorCursor));
break;
case Move:
- emit setCursor(QCursor(Qt::OpenHandCursor));
+ emit requestCursor(QCursor(Qt::OpenHandCursor));
break;
default:
- emit setCursor(QCursor(Qt::ArrowCursor));
+ emit requestCursor(QCursor(Qt::ArrowCursor));
break;
}
}
emit actionFinished();
m_modified = false;
}
-
- event->accept();
}
void OnMonitorRectItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
painter->setPen(pen());
painter->drawRect(option->rect);
- if (m_enabled) {
+ if (isEnabled()) {
double handleSize = 6 / painter->matrix().m11();
double halfHandleSize = handleSize / 2;
painter->fillRect(-halfHandleSize, -halfHandleSize, handleSize, handleSize, QColor(Qt::yellow));
}
}
-
-
#include "onmonitorrectitem.moc"