1 #include "customgraphicsview.h"
2 #include <QGraphicsItem>
6 #include <QTextDocument>
7 #include <QStandardItemModel>
16 qDebug(
"void :customGraphicsView:dragEnterEvent(QDragEnterEvent *event)");
17 if(event->source()->objectName()==
"listWidgetTables")
24 qDebug()<<
"mime"<<
event->mimeData()->text();
25 qDebug()<<
"position"<<
event->pos();
26 QPointF lePointMapp=this->mapToScene(event->pos());
27 QPoint lePointMappe=lePointMapp.toPoint();
28 qDebug()<<
"Voici le point mappé:"<<lePointMappe;
30 qDebug()<<
"this.item at event->pos():"<<this->itemAt(lePointMappe)->data(32).toString();
31 qDebug()<<
"scene.item at event->pos():"<<this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString();
33 if (this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString()==
"Table")
36 qDebug(
"drag accepté");
42 if(this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString()==
"Field")
44 qDebug()<<
"dragEnterEvent c'est un champ";
50 QGraphicsView::dragEnterEvent(event);
51 qDebug()<<this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString();
59 qDebug()<<
"customGraphicsView::dragMoveEvent(QDragMoveEvent *event)";
60 if(event->source()->objectName()==
"listWidgetTables")
67 QPointF lePointMapp=this->mapToScene(event->pos());
68 QPoint lePointMappe=lePointMapp.toPoint();
69 if (this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString()==
"Table")
71 event->setDropAction(Qt::MoveAction);
77 if(this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString()==
"Field")
79 qDebug()<<
"c'est un champ";
80 event->setDropAction(Qt::MoveAction);
94 { QPointF lePointMapp=this->mapToScene(event->pos());
95 QPoint lePointMappe=lePointMapp.toPoint();
96 if(event->source()->objectName()==
"listWidgetTables")
103 qDebug()<<
"customGraphicsView::dropEvent(QDropEvent *event)";
105 if(event->mimeData()->hasFormat(
"text/Table"))
107 qDebug()<<
"il a le format text/Table";
109 if (this->scene()->itemAt(lePointMappe,QTransform())->data(32).toString()==
"Table")
111 Entite* table1=(
Entite*)this->scene()->itemAt(lePointMappe,QTransform())->data(34).toLongLong();
112 qDebug()<<
"table1:"<<table1;
113 QByteArray qba=
event->mimeData()->data(
"text/Table");
115 QStringList typeEtNomEtAdresse=data.split(
';');
116 Entite * table2=(
Entite*) typeEtNomEtAdresse[2].toLongLong();
117 qDebug()<<
"table2:"<<table2;
124 qDebug()<<
"jointure réflexive interdite créez un alias";
147 { scale(1 / 1.2, 1 / 1.2);
void zoomIn()
zoomIn Zoom In items are biggest
void ilYADesTablesAAjouter(QPoint)
ilYADesTablesAAjouter
void dropEvent(QDropEvent *event)
dropEvent
void dragEnterEvent(QDragEnterEvent *event)
dragEnterEvent
void jointureRequise(Entite *, Entite *)
jointureRequise User wants to link two Objects.
void zoomOut()
zoomOut Zoom out items are smaller
void dragMoveEvent(QDragMoveEvent *event)
dragMoveEvent
The Entite class Entity is an object we have to deal with.