element editor: improve context menu and fix the end of polygon

diagram: fix memory leak


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2544 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2013-09-17 20:14:30 +00:00
parent 7a9b1a81bb
commit 8201daa564
7 changed files with 36 additions and 24 deletions

View File

@@ -84,6 +84,8 @@ Diagram::~Diagram() {
delete undo_stack_; delete undo_stack_;
// suppression du QGIManager - tous les elements qu'il connait sont supprimes // suppression du QGIManager - tous les elements qu'il connait sont supprimes
delete qgi_manager_; delete qgi_manager_;
// remove of conductor setter
delete conductor_setter_;
// suppression des objets gerant les deplacements // suppression des objets gerant les deplacements
delete elements_mover_; delete elements_mover_;

View File

@@ -598,6 +598,11 @@ void ElementScene::paste() {
} }
void ElementScene::contextMenu(QContextMenuEvent *event) {
if (behavior == ElementScene::Normal)
element_editor -> contextMenu(event);
}
/** /**
Selectionne une liste de parties Selectionne une liste de parties
@param content liste des parties a selectionner @param content liste des parties a selectionner

View File

@@ -138,6 +138,7 @@ class ElementScene : public QGraphicsScene {
void cut(); void cut();
void copy(); void copy();
void paste(); void paste();
void contextMenu (QContextMenuEvent *event);
protected: protected:
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *); virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *);

View File

@@ -65,6 +65,10 @@ QRectF ElementView::viewedSceneRect() const {
return(QRectF(scene_left_top, scene_right_bottom)); return(QRectF(scene_left_top, scene_right_bottom));
} }
void ElementView::contextMenuEvent(QContextMenuEvent *event) {
scene_ -> contextMenu(event);
}
/** /**
Definit l'ElementScene visualisee par cette ElementView Definit l'ElementScene visualisee par cette ElementView
@param s l'ElementScene visualisee par cette ElementView @param s l'ElementScene visualisee par cette ElementView

View File

@@ -40,6 +40,7 @@ class ElementView : public QGraphicsView {
ElementScene *scene() const; ElementScene *scene() const;
void setScene(ElementScene *); void setScene(ElementScene *);
QRectF viewedSceneRect() const; QRectF viewedSceneRect() const;
void contextMenuEvent(QContextMenuEvent *event);
protected: protected:
void mousePressEvent(QMouseEvent *); void mousePressEvent(QMouseEvent *);

View File

@@ -415,28 +415,27 @@ void QETElementEditor::setupMenus() {
* @brief QETElementEditor::contextMenuEvent * @brief QETElementEditor::contextMenuEvent
* @param event * @param event
*/ */
void QETElementEditor::contextMenuEvent(QContextMenuEvent *event) void QETElementEditor::contextMenu(QContextMenuEvent *event) {
{ QMenu menu(this);
QMenu menu(this); menu.addAction(undo);
menu.addAction(undo); menu.addAction(redo);
menu.addAction(redo); menu.addAction(selectall);
menu.addAction(selectall); menu.addAction(deselectall);
menu.addAction(deselectall); menu.addAction(inv_select);
menu.addAction(inv_select); menu.addSeparator();
menu.addSeparator(); menu.addAction(edit_delete);
menu.addAction(edit_delete); menu.addAction(cut);
menu.addAction(cut); menu.addAction(copy);
menu.addAction(copy); menu.addSeparator();
menu.addSeparator(); menu.addAction(paste);
menu.addAction(paste); menu.addAction(paste_in_area);
menu.addAction(paste_in_area); menu.addMenu(paste_from_menu);
menu.addMenu(paste_from_menu); menu.addSeparator();
menu.addSeparator(); menu.addAction(edit_forward);
menu.addAction(edit_forward); menu.addAction(edit_raise);
menu.addAction(edit_raise); menu.addAction(edit_lower);
menu.addAction(edit_lower); menu.addAction(edit_backward);
menu.addAction(edit_backward); menu.exec(event -> globalPos());
menu.exec(event->globalPos());
} }

View File

@@ -113,11 +113,11 @@ class QETElementEditor : public QETMainWindow {
static QPointF pasteOffset(); static QPointF pasteOffset();
static QET::OrientedMovement pasteMovement(); static QET::OrientedMovement pasteMovement();
static QString getOpenElementFileName(QWidget * = 0, const QString & = QString()); static QString getOpenElementFileName(QWidget * = 0, const QString & = QString());
void contextMenu(QContextMenuEvent *event);
protected: protected:
void closeEvent(QCloseEvent *); void closeEvent(QCloseEvent *);
virtual void firstActivation(QEvent *); virtual void firstActivation(QEvent *);
void contextMenuEvent(QContextMenuEvent *event);
private: private:
void setupActions(); void setupActions();