element editor : clean some code

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3479 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2014-11-11 17:09:24 +00:00
parent 031c0fc155
commit d248e02e4a
3 changed files with 108 additions and 133 deletions

View File

@@ -382,24 +382,17 @@ void ElementView::mouseReleaseEvent(QMouseEvent *e) {
} }
/** /**
Gere les actions liees a la rollette de la souris * @brief ElementView::wheelEvent
@param e QWheelEvent decrivant l'evenement rollette * @param e
*/ */
void ElementView::wheelEvent(QWheelEvent *e) { void ElementView::wheelEvent(QWheelEvent *e) {
//Zoom and scrolling //Zoom and scrolling
if (e->buttons() != Qt::MidButton) { if (e -> buttons() != Qt::MidButton) {
if (!(e -> modifiers() & Qt::ControlModifier)) { if (!(e -> modifiers() & Qt::ControlModifier))
if (e -> delta() > 0){ e -> delta() > 0 ? zoomIn() : zoomOut();
zoomIn(); else
}
else{
zoomOut();
}
}
else {
QAbstractScrollArea::wheelEvent(e); QAbstractScrollArea::wheelEvent(e);
} }
}
} }
/** /**

View File

@@ -130,8 +130,9 @@ void QETElementEditor::setFileName(const QString &fn) {
} }
/** /**
Met en place les actions * @brief QETElementEditor::setupActions
*/ * Create action used in Element editor
*/
void QETElementEditor::setupActions() { void QETElementEditor::setupActions() {
new_element = new QAction(QET::Icons::DocumentNew, tr("&Nouveau"), this); new_element = new QAction(QET::Icons::DocumentNew, tr("&Nouveau"), this);
open = new QAction(QET::Icons::DocumentOpen, tr("&Ouvrir"), this); open = new QAction(QET::Icons::DocumentOpen, tr("&Ouvrir"), this);
@@ -151,25 +152,9 @@ void QETElementEditor::setupActions() {
paste_from_elmt = new QAction(QET::Icons::Element, tr("un \351l\351ment"), this); paste_from_elmt = new QAction(QET::Icons::Element, tr("un \351l\351ment"), this);
inv_select = new QAction( tr("Inverser la s\351lection"), this); inv_select = new QAction( tr("Inverser la s\351lection"), this);
edit_delete = new QAction(QET::Icons::EditDelete, tr("&Supprimer"), this); edit_delete = new QAction(QET::Icons::EditDelete, tr("&Supprimer"), this);
zoom_in = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), this);
zoom_out = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), this);
zoom_fit = new QAction(QET::Icons::ZoomFitBest, tr("Zoom adapt\351"), this);
zoom_reset = new QAction(QET::Icons::ZoomOriginal, tr("Pas de zoom"), this);
edit_names = new QAction(QET::Icons::Names, tr("\311diter les noms"), this); edit_names = new QAction(QET::Icons::Names, tr("\311diter les noms"), this);
edit_author = new QAction(QET::Icons::UserInformations, tr("\311diter les informations sur l'auteur"), this); edit_author = new QAction(QET::Icons::UserInformations, tr("\311diter les informations sur l'auteur"), this);
m_edit_properties = new QAction(QET::Icons::ElementEdit, tr("\311diter les propri\351t\351es de l'\351l\351ment"), this); m_edit_properties = new QAction(QET::Icons::ElementEdit, tr("\311diter les propri\351t\351es de l'\351l\351ment"), this);
edit_raise = new QAction(QET::Icons::Raise, tr("Rapprocher"), this);
edit_lower = new QAction(QET::Icons::Lower, tr("\311loigner"), this);
edit_backward = new QAction(QET::Icons::SendBackward, tr("Envoyer au fond"), this);
edit_forward = new QAction(QET::Icons::BringForward, tr("Amener au premier plan"), this);
add_line = new QAction(QET::Icons::PartLine, tr("Ajouter une ligne"), this);
add_rectangle = new QAction(QET::Icons::PartRectangle, tr("Ajouter un rectangle"), this);
add_ellipse = new QAction(QET::Icons::PartEllipse, tr("Ajouter une ellipse"), this);
add_polygon = new QAction(QET::Icons::PartPolygon, tr("Ajouter un polygone"), this);
add_text = new QAction(QET::Icons::PartText, tr("Ajouter du texte"), this);
add_arc = new QAction(QET::Icons::PartArc, tr("Ajouter un arc de cercle"), this);
add_terminal = new QAction(QET::Icons::Terminal, tr("Ajouter une borne"), this);
add_textfield = new QAction(QET::Icons::PartTextField, tr("Ajouter un champ de texte"), this);
undo = ce_scene -> undoStack().createUndoAction(this, tr("Annuler")); undo = ce_scene -> undoStack().createUndoAction(this, tr("Annuler"));
redo = ce_scene -> undoStack().createRedoAction(this, tr("Refaire")); redo = ce_scene -> undoStack().createRedoAction(this, tr("Refaire"));
@@ -198,19 +183,9 @@ void QETElementEditor::setupActions() {
edit_delete -> setShortcut(QKeySequence(tr("Backspace"))); edit_delete -> setShortcut(QKeySequence(tr("Backspace")));
#endif #endif
zoom_in -> setShortcut(QKeySequence::ZoomIn);
zoom_out -> setShortcut(QKeySequence::ZoomOut);
zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9")));
zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0")));
edit_names -> setShortcut(QKeySequence(tr("Ctrl+E"))); edit_names -> setShortcut(QKeySequence(tr("Ctrl+E")));
edit_author -> setShortcut(tr("Ctrl+Y")); edit_author -> setShortcut(tr("Ctrl+Y"));
edit_raise -> setShortcut(QKeySequence(tr("Ctrl+Shift+Up")));
edit_lower -> setShortcut(QKeySequence(tr("Ctrl+Shift+Down")));
edit_backward -> setShortcut(QKeySequence(tr("Ctrl+Shift+End")));
edit_forward -> setShortcut(QKeySequence(tr("Ctrl+Shift+Home")));
connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new())); connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new()));
connect(open, SIGNAL(triggered()), this, SLOT(slot_open())); connect(open, SIGNAL(triggered()), this, SLOT(slot_open()));
connect(open_file, SIGNAL(triggered()), this, SLOT(slot_openFile())); connect(open_file, SIGNAL(triggered()), this, SLOT(slot_openFile()));
@@ -228,60 +203,92 @@ void QETElementEditor::setupActions() {
connect(paste_in_area, SIGNAL(triggered()), ce_view, SLOT(pasteInArea())); connect(paste_in_area, SIGNAL(triggered()), ce_view, SLOT(pasteInArea()));
connect(paste_from_file, SIGNAL(triggered()), this, SLOT(pasteFromFile())); connect(paste_from_file, SIGNAL(triggered()), this, SLOT(pasteFromFile()));
connect(paste_from_elmt, SIGNAL(triggered()), this, SLOT(pasteFromElement())); connect(paste_from_elmt, SIGNAL(triggered()), this, SLOT(pasteFromElement()));
connect(zoom_in, SIGNAL(triggered()), ce_view, SLOT(zoomIn()));
connect(zoom_out, SIGNAL(triggered()), ce_view, SLOT(zoomOut()));
connect(zoom_fit, SIGNAL(triggered()), ce_view, SLOT(zoomFit()));
connect(zoom_reset, SIGNAL(triggered()), ce_view, SLOT(zoomReset()));
connect(edit_delete, SIGNAL(triggered()), ce_scene, SLOT(slot_delete())); connect(edit_delete, SIGNAL(triggered()), ce_scene, SLOT(slot_delete()));
connect(edit_names, SIGNAL(triggered()), ce_scene, SLOT(slot_editNames())); connect(edit_names, SIGNAL(triggered()), ce_scene, SLOT(slot_editNames()));
connect(edit_author, SIGNAL(triggered()), ce_scene, SLOT(slot_editAuthorInformations())); connect(edit_author, SIGNAL(triggered()), ce_scene, SLOT(slot_editAuthorInformations()));
connect(m_edit_properties, SIGNAL(triggered()), ce_scene, SLOT(slot_editProperties())); connect(m_edit_properties, SIGNAL(triggered()), ce_scene, SLOT(slot_editProperties()));
connect(edit_forward, SIGNAL(triggered()), ce_scene, SLOT(slot_bringForward()));
connect(edit_raise, SIGNAL(triggered()), ce_scene, SLOT(slot_raise()));
connect(edit_lower, SIGNAL(triggered()), ce_scene, SLOT(slot_lower()));
connect(edit_backward, SIGNAL(triggered()), ce_scene, SLOT(slot_sendBackward()));
connect(add_line, SIGNAL(triggered()), this, SLOT(addLine()));
connect(add_rectangle, SIGNAL(triggered()), this, SLOT(addRect()));
connect(add_ellipse, SIGNAL(triggered()), this, SLOT(addEllipse()));
connect(add_polygon, SIGNAL(triggered()), this, SLOT(addPolygon()));
connect(add_text, SIGNAL(triggered()), this, SLOT(addText()));
connect(add_arc, SIGNAL(triggered()), this, SLOT(addArc()));
connect(add_terminal, SIGNAL(triggered()), this, SLOT(addTerminal()));
connect(add_textfield, SIGNAL(triggered()), this, SLOT(addTextField()));
add_line -> setCheckable(true);
add_rectangle -> setCheckable(true);
add_ellipse -> setCheckable(true);
add_polygon -> setCheckable(true);
add_text -> setCheckable(true);
add_arc -> setCheckable(true);
add_terminal -> setCheckable(true);
add_textfield -> setCheckable(true);
parts = new QActionGroup(this);
parts -> addAction(add_line);
parts -> addAction(add_rectangle);
parts -> addAction(add_ellipse);
parts -> addAction(add_polygon);
parts -> addAction(add_arc);
parts -> addAction(add_text);
parts -> addAction(add_textfield);
parts -> addAction(add_terminal);
parts -> setExclusive(true);
connect (ce_scene, SIGNAL(partsAdded()), this, SLOT(UncheckAddPrimitive()));
parts_toolbar = new QToolBar(tr("Parties", "toolbar title"), this);
parts_toolbar -> setObjectName("parts");
foreach (QAction *action, parts -> actions()) parts_toolbar -> addAction(action);
parts_toolbar -> setAllowedAreas(Qt::AllToolBarAreas);
/* /*
QAction *xml_preview = new QAction(QET::Icons::DialogInformation, tr("XML"), this); * Action related to change depth of primitive
connect(xml_preview, SIGNAL(triggered()), this, SLOT(xmlPreview()));
parts_toolbar -> addAction(xml_preview);
*/ */
m_depth_ag = new QActionGroup(this);
QAction *edit_forward = new QAction(QET::Icons::BringForward, tr("Amener au premier plan"), m_depth_ag);
QAction *edit_raise = new QAction(QET::Icons::Raise, tr("Rapprocher"), m_depth_ag);
QAction *edit_lower = new QAction(QET::Icons::Lower, tr("\311loigner"), m_depth_ag);
QAction *edit_backward = new QAction(QET::Icons::SendBackward, tr("Envoyer au fond"), m_depth_ag);
edit_raise -> setShortcut(QKeySequence(tr("Ctrl+Shift+Up")));
edit_lower -> setShortcut(QKeySequence(tr("Ctrl+Shift+Down")));
edit_backward -> setShortcut(QKeySequence(tr("Ctrl+Shift+End")));
edit_forward -> setShortcut(QKeySequence(tr("Ctrl+Shift+Home")));
connect(edit_forward, SIGNAL(triggered()), ce_scene, SLOT(slot_bringForward() ));
connect(edit_raise, SIGNAL(triggered()), ce_scene, SLOT(slot_raise() ));
connect(edit_lower, SIGNAL(triggered()), ce_scene, SLOT(slot_lower() ));
connect(edit_backward, SIGNAL(triggered()), ce_scene, SLOT(slot_sendBackward() ));
depth_toolbar = addToolBar(tr("Profondeur", "toolbar title"));
depth_toolbar -> setObjectName("depth_toolbar");
depth_toolbar -> addActions(m_depth_ag -> actions());
addToolBar(Qt::TopToolBarArea, depth_toolbar);
/*
* Action related to zoom
*/
m_zoom_ag = new QActionGroup(this);
QAction *zoom_in = new QAction(QET::Icons::ZoomIn, tr("Zoom avant"), m_zoom_ag);
QAction *zoom_out = new QAction(QET::Icons::ZoomOut, tr("Zoom arri\350re"), m_zoom_ag);
QAction *zoom_fit = new QAction(QET::Icons::ZoomFitBest, tr("Zoom adapt\351"), m_zoom_ag);
QAction *zoom_reset = new QAction(QET::Icons::ZoomOriginal, tr("Pas de zoom"), m_zoom_ag);
zoom_in -> setShortcut(QKeySequence::ZoomIn);
zoom_out -> setShortcut(QKeySequence::ZoomOut);
zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9")));
zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0")));
connect(zoom_in, SIGNAL(triggered()), ce_view, SLOT(zoomIn() ));
connect(zoom_out, SIGNAL(triggered()), ce_view, SLOT(zoomOut() ));
connect(zoom_fit, SIGNAL(triggered()), ce_view, SLOT(zoomFit() ));
connect(zoom_reset, SIGNAL(triggered()), ce_view, SLOT(zoomReset() ));
/*
* Action related to primitive creation
*/
connect (ce_scene, SIGNAL(partsAdded()), this, SLOT(UncheckAddPrimitive()));
parts = new QActionGroup(this);
QAction *add_line = new QAction(QET::Icons::PartLine, tr("Ajouter une ligne"), parts);
QAction *add_rectangle = new QAction(QET::Icons::PartRectangle, tr("Ajouter un rectangle"), parts);
QAction *add_ellipse = new QAction(QET::Icons::PartEllipse, tr("Ajouter une ellipse"), parts);
QAction *add_polygon = new QAction(QET::Icons::PartPolygon, tr("Ajouter un polygone"), parts);
QAction *add_text = new QAction(QET::Icons::PartText, tr("Ajouter du texte"), parts);
QAction *add_arc = new QAction(QET::Icons::PartArc, tr("Ajouter un arc de cercle"), parts);
QAction *add_terminal = new QAction(QET::Icons::Terminal, tr("Ajouter une borne"), parts);
QAction *add_textfield = new QAction(QET::Icons::PartTextField, tr("Ajouter un champ de texte"), parts);
foreach (QAction *action, parts -> actions()) action -> setCheckable(true);
connect(add_line, SIGNAL(triggered()), this, SLOT(addLine() ));
connect(add_rectangle, SIGNAL(triggered()), this, SLOT(addRect() ));
connect(add_ellipse, SIGNAL(triggered()), this, SLOT(addEllipse() ));
connect(add_polygon, SIGNAL(triggered()), this, SLOT(addPolygon() ));
connect(add_text, SIGNAL(triggered()), this, SLOT(addText() ));
connect(add_arc, SIGNAL(triggered()), this, SLOT(addArc() ));
connect(add_terminal, SIGNAL(triggered()), this, SLOT(addTerminal() ));
connect(add_textfield, SIGNAL(triggered()), this, SLOT(addTextField() ));
parts_toolbar = addToolBar(tr("Parties", "toolbar title"));
parts_toolbar -> setAllowedAreas(Qt::AllToolBarAreas);
parts_toolbar -> setObjectName("parts");
parts_toolbar -> addActions(parts -> actions());
addToolBar(Qt::LeftToolBarArea, parts_toolbar);
main_toolbar = new QToolBar(tr("Outils", "toolbar title"), this); main_toolbar = new QToolBar(tr("Outils", "toolbar title"), this);
main_toolbar -> setObjectName("main_toolbar"); main_toolbar -> setObjectName("main_toolbar");
@@ -289,8 +296,6 @@ void QETElementEditor::setupActions() {
view_toolbar -> setObjectName("display"); view_toolbar -> setObjectName("display");
element_toolbar = new QToolBar(tr("\311l\351ment", "toolbar title"), this); element_toolbar = new QToolBar(tr("\311l\351ment", "toolbar title"), this);
element_toolbar -> setObjectName("element_toolbar"); element_toolbar -> setObjectName("element_toolbar");
depth_toolbar = new QToolBar(tr("Profondeur", "toolbar title"), this);
depth_toolbar -> setObjectName("depth_toolbar");
main_toolbar -> addAction(new_element); main_toolbar -> addAction(new_element);
main_toolbar -> addAction(open); main_toolbar -> addAction(open);
@@ -309,16 +314,9 @@ void QETElementEditor::setupActions() {
element_toolbar -> addAction(edit_names); element_toolbar -> addAction(edit_names);
element_toolbar -> addAction(m_edit_properties); element_toolbar -> addAction(m_edit_properties);
depth_toolbar -> addAction(edit_forward);
depth_toolbar -> addAction(edit_raise);
depth_toolbar -> addAction(edit_lower);
depth_toolbar -> addAction(edit_backward);
addToolBar(Qt::TopToolBarArea, main_toolbar); addToolBar(Qt::TopToolBarArea, main_toolbar);
addToolBar(Qt::TopToolBarArea, view_toolbar); addToolBar(Qt::TopToolBarArea, view_toolbar);
addToolBar(Qt::TopToolBarArea, element_toolbar); addToolBar(Qt::TopToolBarArea, element_toolbar);
addToolBar(Qt::TopToolBarArea, depth_toolbar);
addToolBar(Qt::LeftToolBarArea, parts_toolbar);
connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateInformations())); connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateInformations()));
connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateMenus())); connect(ce_scene, SIGNAL(selectionChanged()), this, SLOT(slot_updateMenus()));
@@ -336,8 +334,8 @@ void QETElementEditor::setupActions() {
} }
/** /**
Met en place les menus. * @brief QETElementEditor::setupMenus
*/ */
void QETElementEditor::setupMenus() { void QETElementEditor::setupMenus() {
file_menu = new QMenu(tr("&Fichier"), this); file_menu = new QMenu(tr("&Fichier"), this);
edit_menu = new QMenu(tr("&\311dition"), this); edit_menu = new QMenu(tr("&\311dition"), this);
@@ -387,15 +385,9 @@ void QETElementEditor::setupMenus() {
edit_menu -> addAction(edit_author); edit_menu -> addAction(edit_author);
edit_menu -> addAction(m_edit_properties); edit_menu -> addAction(m_edit_properties);
edit_menu -> addSeparator(); edit_menu -> addSeparator();
edit_menu -> addAction(edit_forward); edit_menu -> addActions(m_depth_ag -> actions());
edit_menu -> addAction(edit_raise);
edit_menu -> addAction(edit_lower);
edit_menu -> addAction(edit_backward);
display_menu -> addAction(zoom_in); display_menu -> addActions(m_zoom_ag -> actions());
display_menu -> addAction(zoom_out);
display_menu -> addAction(zoom_fit);
display_menu -> addAction(zoom_reset);
insertMenu(settings_menu_, file_menu); insertMenu(settings_menu_, file_menu);
insertMenu(settings_menu_, edit_menu); insertMenu(settings_menu_, edit_menu);
@@ -422,10 +414,7 @@ void QETElementEditor::contextMenu(QContextMenuEvent *event) {
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.addActions(m_depth_ag -> actions());
menu.addAction(edit_raise);
menu.addAction(edit_lower);
menu.addAction(edit_backward);
menu.exec(event -> globalPos()); menu.exec(event -> globalPos());
} }
@@ -447,15 +436,13 @@ void QETElementEditor::slot_updateMenus() {
paste_from_elmt -> setEnabled(!read_only); paste_from_elmt -> setEnabled(!read_only);
parts_list -> setEnabled(!read_only); parts_list -> setEnabled(!read_only);
// actions dependant de la presence de parties selectionnees // Action enabled if primitive selected
deselectall -> setEnabled(selected_items); deselectall -> setEnabled(selected_items);
cut -> setEnabled(selected_items); cut -> setEnabled(selected_items);
copy -> setEnabled(selected_items); copy -> setEnabled(selected_items);
edit_delete -> setEnabled(selected_items); edit_delete -> setEnabled(selected_items);
edit_forward -> setEnabled(selected_items); foreach (QAction *action, m_depth_ag -> actions())
edit_raise -> setEnabled(selected_items); action->setEnabled(selected_items);
edit_lower -> setEnabled(selected_items);
edit_backward -> setEnabled(selected_items);
// actions dependant du contenu du presse-papiers // actions dependant du contenu du presse-papiers
paste -> setEnabled(clipboard_elmt); paste -> setEnabled(clipboard_elmt);

View File

@@ -40,6 +40,9 @@ class QETElementEditor : public QETMainWindow {
virtual ~QETElementEditor(); virtual ~QETElementEditor();
private: private:
QETElementEditor(const QETElementEditor &); QETElementEditor(const QETElementEditor &);
void setupActions();
void setupMenus();
void setupInterface();
// attributes // attributes
private: private:
@@ -74,15 +77,10 @@ class QETElementEditor : public QETMainWindow {
QAction *cut, *copy, *paste, *paste_in_area, *paste_from_file, *paste_from_elmt; QAction *cut, *copy, *paste, *paste_in_area, *paste_from_file, *paste_from_elmt;
QAction *undo, *redo; QAction *undo, *redo;
QAction *edit_delete, *edit_size_hs, *edit_names, *edit_author, *m_edit_properties; QAction *edit_delete, *edit_size_hs, *edit_names, *edit_author, *m_edit_properties;
QAction *edit_raise, *edit_lower, *edit_backward, *edit_forward;
/// actions for the "display" menu
QAction *zoom_in, *zoom_out, *zoom_fit, *zoom_reset;
/// toolbars /// toolbars
QToolBar *parts_toolbar, *main_toolbar, *view_toolbar, *depth_toolbar, *element_toolbar; QToolBar *parts_toolbar, *main_toolbar, *view_toolbar, *depth_toolbar, *element_toolbar;
/// toolbars actions /// Action group
QActionGroup *parts; QActionGroup *parts, *m_zoom_ag, *m_depth_ag;
QAction *add_line, *add_rectangle, *add_ellipse, *add_polygon, *add_text;
QAction *add_arc, *add_terminal, *add_textfield;
/// minimum window title /// minimum window title
QString min_title; QString min_title;
/// filename of the currently edited element /// filename of the currently edited element
@@ -120,9 +118,6 @@ class QETElementEditor : public QETMainWindow {
virtual void firstActivation(QEvent *); virtual void firstActivation(QEvent *);
private: private:
void setupActions();
void setupMenus();
void setupInterface();
bool canClose(); bool canClose();
QWidget *clearToolsDock(); QWidget *clearToolsDock();
void copyAndPasteXml(const QDomDocument &); void copyAndPasteXml(const QDomDocument &);