Add new action DiagramMoveUpTop

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3799 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
scorpio810
2015-03-04 06:00:25 +00:00
parent 7c97a5105a
commit c8d23aaae4
6 changed files with 63 additions and 1 deletions

View File

@@ -73,6 +73,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
prj_move_diagram_up = new QAction(QET::Icons::GoUp, tr("Remonter ce schéma"), this); prj_move_diagram_up = new QAction(QET::Icons::GoUp, tr("Remonter ce schéma"), this);
prj_move_diagram_down = new QAction(QET::Icons::GoDown, tr("Abaisser ce schéma"), this); prj_move_diagram_down = new QAction(QET::Icons::GoDown, tr("Abaisser ce schéma"), this);
prj_move_diagram_upx10 = new QAction(QET::Icons::GoUp, tr("Remonter ce schéma x10"), this); prj_move_diagram_upx10 = new QAction(QET::Icons::GoUp, tr("Remonter ce schéma x10"), this);
prj_move_diagram_top = new QAction(QET::Icons::GoUp, tr("Remonter ce schéma au debut"), this);
prj_move_diagram_downx10 = new QAction(QET::Icons::GoDown, tr("Abaisser ce schéma x10"), this); prj_move_diagram_downx10 = new QAction(QET::Icons::GoDown, tr("Abaisser ce schéma x10"), this);
tbt_add = new QAction(QET::Icons::TitleBlock, tr("Nouveau modèle"), this); tbt_add = new QAction(QET::Icons::TitleBlock, tr("Nouveau modèle"), this);
tbt_edit = new QAction(QET::Icons::TitleBlock, tr("Éditer ce modèle"), this); tbt_edit = new QAction(QET::Icons::TitleBlock, tr("Éditer ce modèle"), this);
@@ -121,6 +122,7 @@ ElementsPanelWidget::ElementsPanelWidget(QWidget *parent) : QWidget(parent) {
connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(deleteDiagram())); connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(deleteDiagram()));
connect(prj_move_diagram_up, SIGNAL(triggered()), this, SLOT(moveDiagramUp())); connect(prj_move_diagram_up, SIGNAL(triggered()), this, SLOT(moveDiagramUp()));
connect(prj_move_diagram_down, SIGNAL(triggered()), this, SLOT(moveDiagramDown())); connect(prj_move_diagram_down, SIGNAL(triggered()), this, SLOT(moveDiagramDown()));
connect(prj_move_diagram_top, SIGNAL(triggered()), this, SLOT(moveDiagramUpTop()));
connect(prj_move_diagram_upx10, SIGNAL(triggered()), this, SLOT(moveDiagramUpx10())); connect(prj_move_diagram_upx10, SIGNAL(triggered()), this, SLOT(moveDiagramUpx10()));
connect(prj_move_diagram_downx10, SIGNAL(triggered()), this, SLOT(moveDiagramDownx10())); connect(prj_move_diagram_downx10, SIGNAL(triggered()), this, SLOT(moveDiagramDownx10()));
connect(tbt_add, SIGNAL(triggered()), this, SLOT(addTitleBlockTemplate())); connect(tbt_add, SIGNAL(triggered()), this, SLOT(addTitleBlockTemplate()));
@@ -298,6 +300,17 @@ void ElementsPanelWidget::deleteDiagram() {
} }
} }
/**
Emet le signal requestForDiagramMoveUpTop avec le schema selectionne
+ */
void ElementsPanelWidget::moveDiagramUpTop() {
if (Diagram *selected_diagram = elements_panel -> selectedDiagram()) {
emit(requestForDiagramMoveUpTop(selected_diagram));
}
}
/** /**
Emet le signal requestForDiagramMoveUp avec le schema selectionne Emet le signal requestForDiagramMoveUp avec le schema selectionne
*/ */
@@ -455,6 +468,7 @@ void ElementsPanelWidget::updateButtons() {
prj_del_diagram -> setEnabled(is_writable); prj_del_diagram -> setEnabled(is_writable);
prj_move_diagram_up -> setEnabled(is_writable && diagram_position > 0); prj_move_diagram_up -> setEnabled(is_writable && diagram_position > 0);
prj_move_diagram_down -> setEnabled(is_writable && diagram_position < project_diagrams_count - 1); prj_move_diagram_down -> setEnabled(is_writable && diagram_position < project_diagrams_count - 1);
prj_move_diagram_top -> setEnabled(is_writable && diagram_position > 0);
prj_move_diagram_upx10 -> setEnabled(is_writable && diagram_position > 10); prj_move_diagram_upx10 -> setEnabled(is_writable && diagram_position > 10);
prj_move_diagram_downx10 -> setEnabled(is_writable && diagram_position < project_diagrams_count - 10); prj_move_diagram_downx10 -> setEnabled(is_writable && diagram_position < project_diagrams_count - 10);
setElementsActionEnabled(false); setElementsActionEnabled(false);
@@ -559,6 +573,7 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) {
case QET::Diagram: case QET::Diagram:
context_menu -> addAction(prj_prop_diagram); context_menu -> addAction(prj_prop_diagram);
context_menu -> addAction(prj_del_diagram); context_menu -> addAction(prj_del_diagram);
context_menu -> addAction(prj_move_diagram_top);
context_menu -> addAction(prj_move_diagram_upx10); context_menu -> addAction(prj_move_diagram_upx10);
context_menu -> addAction(prj_move_diagram_up); context_menu -> addAction(prj_move_diagram_up);
context_menu -> addAction(prj_move_diagram_down); context_menu -> addAction(prj_move_diagram_down);

View File

@@ -44,7 +44,7 @@ class ElementsPanelWidget : public QWidget {
QAction *new_category, *edit_category, *delete_category; QAction *new_category, *edit_category, *delete_category;
QAction *delete_collection; QAction *delete_collection;
QAction *new_element, *edit_element, *delete_element, *open_element; QAction *new_element, *edit_element, *delete_element, *open_element;
QAction *prj_activate, *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_down, *prj_move_diagram_upx10, *prj_move_diagram_downx10; QAction *prj_activate, *prj_close, *prj_edit_prop, *prj_prop_diagram, *prj_add_diagram, *prj_del_diagram, *prj_move_diagram_up, *prj_move_diagram_top, *prj_move_diagram_down, *prj_move_diagram_upx10, *prj_move_diagram_downx10;
QAction *tbt_add, *tbt_edit, *tbt_remove; QAction *tbt_add, *tbt_edit, *tbt_remove;
QAction *copy_elements_, *move_elements_, *cancel_elements_; QAction *copy_elements_, *move_elements_, *cancel_elements_;
QMenu *context_menu; QMenu *context_menu;
@@ -67,6 +67,7 @@ class ElementsPanelWidget : public QWidget {
void requestForDiagramDeletion(Diagram *); void requestForDiagramDeletion(Diagram *);
void requestForDiagramMoveUp(Diagram *); void requestForDiagramMoveUp(Diagram *);
void requestForDiagramMoveDown(Diagram *); void requestForDiagramMoveDown(Diagram *);
void requestForDiagramMoveUpTop(Diagram *);
void requestForDiagramMoveUpx10(Diagram *); void requestForDiagramMoveUpx10(Diagram *);
void requestForDiagramMoveDownx10(Diagram *); void requestForDiagramMoveDownx10(Diagram *);
@@ -83,6 +84,7 @@ class ElementsPanelWidget : public QWidget {
void deleteDiagram(); void deleteDiagram();
void moveDiagramUp(); void moveDiagramUp();
void moveDiagramDown(); void moveDiagramDown();
void moveDiagramUpTop();
void moveDiagramUpx10(); void moveDiagramUpx10();
void moveDiagramDownx10(); void moveDiagramDownx10();
void addTitleBlockTemplate(); void addTitleBlockTemplate();

View File

@@ -501,6 +501,28 @@ void ProjectView::moveDiagramDown(Diagram *diagram) {
moveDiagramDown(findDiagram(diagram)); moveDiagramDown(findDiagram(diagram));
} }
/**
Deplace le schema diagram_view vers le haut / la gauche en position 0
*/
void ProjectView::moveDiagramUpTop(DiagramView *diagram_view) {
if (!diagram_view) return;
int diagram_view_position = diagram_ids_.key(diagram_view);
if (!diagram_view_position) {
// le schema est le premier du projet
return;
}
tabs_ -> moveTab(diagram_view_position, (diagrams().size()-1, 0));
}
/**
Deplace le schema diagram vers le haut / la gauche en position 0
*/
void ProjectView::moveDiagramUpTop(Diagram *diagram) {
moveDiagramUpTop(findDiagram(diagram));
}
/** /**
Deplace le schema diagram_view vers le haut / la gauche x10 Deplace le schema diagram_view vers le haut / la gauche x10
*/ */

View File

@@ -73,6 +73,8 @@ class ProjectView : public QWidget {
void moveDiagramUp(Diagram *); void moveDiagramUp(Diagram *);
void moveDiagramDown(DiagramView *); void moveDiagramDown(DiagramView *);
void moveDiagramDown(Diagram *); void moveDiagramDown(Diagram *);
void moveDiagramUpTop(DiagramView *);
void moveDiagramUpTop(Diagram *);
void moveDiagramUpx10(DiagramView *); void moveDiagramUpx10(DiagramView *);
void moveDiagramUpx10(Diagram *); void moveDiagramUpx10(Diagram *);
void moveDiagramDownx10(DiagramView *); void moveDiagramDownx10(DiagramView *);

View File

@@ -144,6 +144,7 @@ void QETDiagramEditor::setUpElementsPanel() {
connect(pa, SIGNAL(requestForDiagramDeletion (Diagram *)), this, SLOT(removeDiagram(Diagram *))); connect(pa, SIGNAL(requestForDiagramDeletion (Diagram *)), this, SLOT(removeDiagram(Diagram *)));
connect(pa, SIGNAL(requestForDiagramMoveUp (Diagram *)), this, SLOT(moveDiagramUp(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveUp (Diagram *)), this, SLOT(moveDiagramUp(Diagram *)));
connect(pa, SIGNAL(requestForDiagramMoveDown (Diagram *)), this, SLOT(moveDiagramDown(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveDown (Diagram *)), this, SLOT(moveDiagramDown(Diagram *)));
connect(pa, SIGNAL(requestForDiagramMoveUpTop (Diagram *)), this, SLOT(moveDiagramUpTop(Diagram *)));
connect(pa, SIGNAL(requestForDiagramMoveUpx10 (Diagram *)), this, SLOT(moveDiagramUpx10(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveUpx10 (Diagram *)), this, SLOT(moveDiagramUpx10(Diagram *)));
connect(pa, SIGNAL(requestForDiagramMoveDownx10 (Diagram *)), this, SLOT(moveDiagramDownx10(Diagram *))); connect(pa, SIGNAL(requestForDiagramMoveDownx10 (Diagram *)), this, SLOT(moveDiagramDownx10(Diagram *)));
} }
@@ -1839,6 +1840,25 @@ void QETDiagramEditor::moveDiagramDown(Diagram *diagram) {
} }
} }
/**
Change l'ordre des schemas d'un projet, en decalant le schema vers le haut /
la gauche en position 0
@param diagram Schema a decaler vers le haut / la gauche en position 0
*/
void QETDiagramEditor::moveDiagramUpTop(Diagram *diagram) {
if (!diagram) return;
// recupere le projet contenant le schema
if (QETProject *diagram_project = diagram -> project()) {
if (diagram_project -> isReadOnly()) return;
// recupere la vue sur ce projet
if (ProjectView *project_view = findProject(diagram_project)) {
project_view -> moveDiagramUpTop(diagram);
}
}
}
/** /**
Change l'ordre des schemas d'un projet, en decalant le schema vers le haut / Change l'ordre des schemas d'un projet, en decalant le schema vers le haut /

View File

@@ -145,6 +145,7 @@ class QETDiagramEditor : public QETMainWindow {
void removeDiagramFromProject(); void removeDiagramFromProject();
void moveDiagramUp(Diagram *); void moveDiagramUp(Diagram *);
void moveDiagramDown(Diagram *); void moveDiagramDown(Diagram *);
void moveDiagramUpTop(Diagram *);
void moveDiagramUpx10(Diagram *); void moveDiagramUpx10(Diagram *);
void moveDiagramDownx10(Diagram *); void moveDiagramDownx10(Diagram *);
void cleanCurrentProject(); void cleanCurrentProject();