27 #include <QGraphicsSceneMouseEvent>
28 #include <QApplication>
43 QString label,
Subject *subject)
61 DEBTRACE(
" SceneObserverItem::update " <<
eventName(event)<<
" " << type <<
" " << son);
65 DEBTRACE(
"SceneObserverItem::update EMPHASIZE " << type);
70 QGraphicsItem::update();
79 DEBTRACE(
"SceneObserverItem::select " <<
_label.toStdString() <<
" " << isSelected);
86 else setSelected(
false);
91 DEBTRACE(
"SceneObserverItem::getToolTip");
98 val = item->
data(0, Qt::ToolTipRole).toString();
104 DEBTRACE(
"SceneObserverItem::mousePressEvent " <<
_label.toStdString()
105 <<
" " << acceptedMouseButtons ());
111 setCursor(Qt::ClosedHandCursor);
113 _dragModifier=
event->modifiers() & (Qt::ControlModifier | Qt::ShiftModifier);
128 if (QLineF(event->screenPos(),
130 < QApplication::startDragDistance())
135 QDrag *drag =
new QDrag(event->widget());
137 drag->setMimeData(mime);
145 QPixmap pixmap(34, 34);
146 pixmap.fill(Qt::white);
148 QPainter painter(&pixmap);
149 painter.translate(15, 15);
150 painter.setRenderHint(QPainter::Antialiasing);
151 paint(&painter, 0, 0);
154 pixmap.setMask(pixmap.createHeuristicMask());
156 drag->setPixmap(pixmap);
157 drag->setHotSpot(QPoint(15, 20));
161 setCursor(Qt::ArrowCursor);
171 setCursor(Qt::ArrowCursor);
192 DEBTRACE(
"SceneObserverItem::activateSelection " <<
_label.toStdString()<<
" " << selected);
203 return "yacs/subject";
YACS::HMI::Scene * _scene
enum Qt::MouseButton _dragButton
static std::string eventName(GuiEvent event)
virtual void setSubject(Subject *sub)
virtual void setControl(bool control)
std::map< YACS::HMI::Subject *, YACS::HMI::SchemaItem * > _mapOfSchemaItem
void setSelectedSubject(YACS::HMI::Subject *sub)
static QtGuiContext * getQtCurrent()
std::map< YACS::HMI::Subject *, YACS::HMI::SceneItem * > _mapOfSceneItem
static QColor emphasizeBrushColor
QColor hoverColor(QColor origColor)
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event)
virtual Subject * getSubject()
virtual QColor getBrushColor()
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
virtual QString getToolTip()
virtual void activateSelection(bool selected)
virtual ~SceneObserverItem()
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
virtual QString getMimeFormat()
virtual void select(bool isSelected)
virtual void update(GuiEvent event, int type, Subject *son)
virtual QVariant data(int column, int role) const
virtual void attach(GuiObserver *obs)
virtual void select(bool isSelected)