Prepare on the wheelEvent Onclick select visu mode and drag schema.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2112 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
cfdev
2013-04-15 13:17:06 +00:00
parent c932a0f57b
commit 9f53e1f3ec
2 changed files with 25 additions and 0 deletions

View File

@@ -414,6 +414,7 @@ void DiagramView::pasteHere() {
* click to add an independent text field * click to add an independent text field
*/ */
void DiagramView::mousePressEvent(QMouseEvent *e) { void DiagramView::mousePressEvent(QMouseEvent *e) {
FlagMouseButtons_ = e -> buttons();
if (fresh_focus_in_) { if (fresh_focus_in_) {
switchToVisualisationModeIfNeeded(e); switchToVisualisationModeIfNeeded(e);
fresh_focus_in_ = false; fresh_focus_in_ = false;
@@ -424,9 +425,31 @@ void DiagramView::mousePressEvent(QMouseEvent *e) {
is_adding_text = false; is_adding_text = false;
} }
} }
// Select visualisation
if (FlagMouseButtons_ == Qt::MidButton){
if (!is_moving_view_) {
setVisualisationMode();
is_moving_view_ = true;
//TODO: Find a way to simulate the left click without generate a bug in the Events
}
}
QGraphicsView::mousePressEvent(e); QGraphicsView::mousePressEvent(e);
} }
/**
Manage the release events click mouse :
*/
void DiagramView::mouseReleaseEvent(QMouseEvent *e) {
// Selection mode
if (FlagMouseButtons_ == Qt::MidButton){
if (is_moving_view_) {
setSelectionMode();
is_moving_view_ = false;
}
}
QGraphicsView::mouseReleaseEvent(e);
}
/** /**
Manage wheel event of mouse Manage wheel event of mouse
@param e QWheelEvent @param e QWheelEvent

View File

@@ -52,6 +52,7 @@ class DiagramView : public QGraphicsView {
bool fresh_focus_in_; ///< Indicate the focus was freshly gained bool fresh_focus_in_; ///< Indicate the focus was freshly gained
ElementsLocation next_location_; ElementsLocation next_location_;
QPoint next_position_; QPoint next_position_;
int FlagMouseButtons_;
// methods // methods
public: public:
@@ -86,6 +87,7 @@ class DiagramView : public QGraphicsView {
private: private:
void mousePressEvent(QMouseEvent *); void mousePressEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *e);
void dragEnterEvent(QDragEnterEvent *); void dragEnterEvent(QDragEnterEvent *);
void dragLeaveEvent(QDragLeaveEvent *); void dragLeaveEvent(QDragLeaveEvent *);
void dragMoveEvent(QDragMoveEvent *); void dragMoveEvent(QDragMoveEvent *);