mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
Implemented a primitive decorator, allowing groups of primitives to be easily resized.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2027 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
#include "qet.h"
|
||||
#include <limits>
|
||||
#include <QGraphicsSceneContextMenuEvent>
|
||||
|
||||
/**
|
||||
Permet de convertir une chaine de caracteres ("n", "s", "e" ou "w")
|
||||
@@ -577,3 +578,59 @@ bool QET::writeXmlFile(QDomDocument &xml_doc, const QString &filepath, QString *
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
/**
|
||||
@return the scene position where \a event occurred, provided it is
|
||||
QGraphicsScene-related event; otherwise, this function returns a null
|
||||
QPointF.
|
||||
*/
|
||||
QPointF QET::graphicsSceneEventPos(QEvent *event) {
|
||||
QPointF event_scene_pos;
|
||||
if (event -> type() < QEvent::GraphicsSceneContextMenu) return(event_scene_pos);
|
||||
if (event -> type() > QEvent::GraphicsSceneWheel) return(event_scene_pos);
|
||||
|
||||
switch (event -> type()) {
|
||||
case QEvent::GraphicsSceneContextMenu: {
|
||||
QGraphicsSceneContextMenuEvent *qgs_event = static_cast<QGraphicsSceneContextMenuEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
case QEvent::GraphicsSceneDragEnter:
|
||||
case QEvent::GraphicsSceneDragLeave:
|
||||
case QEvent::GraphicsSceneDragMove:
|
||||
case QEvent::GraphicsSceneDrop: {
|
||||
QGraphicsSceneDragDropEvent *qgs_event = static_cast<QGraphicsSceneDragDropEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
case QEvent::GraphicsSceneHelp: {
|
||||
QGraphicsSceneHelpEvent *qgs_event = static_cast<QGraphicsSceneHelpEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
|
||||
case QEvent::GraphicsSceneHoverEnter:
|
||||
case QEvent::GraphicsSceneHoverLeave:
|
||||
case QEvent::GraphicsSceneHoverMove: {
|
||||
QGraphicsSceneHoverEvent *qgs_event = static_cast<QGraphicsSceneHoverEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
case QEvent::GraphicsSceneMouseDoubleClick:
|
||||
case QEvent::GraphicsSceneMouseMove:
|
||||
case QEvent::GraphicsSceneMousePress:
|
||||
case QEvent::GraphicsSceneMouseRelease: {
|
||||
QGraphicsSceneMouseEvent *qgs_event = static_cast<QGraphicsSceneMouseEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
case QEvent::GraphicsSceneWheel: {
|
||||
QGraphicsSceneWheelEvent *qgs_event = static_cast<QGraphicsSceneWheelEvent *>(event);
|
||||
event_scene_pos = qgs_event -> scenePos();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return(event_scene_pos);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user