mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-19 14:50:53 +01:00
La hauteur du schema est desormais geree via un systeme de lignes, dont le nombre et la hauteur sont ajustables.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@365 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
BIN
ico/add_row.png
Executable file
BIN
ico/add_row.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 523 B |
BIN
ico/remove_row.png
Executable file
BIN
ico/remove_row.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 363 B |
@@ -6,6 +6,7 @@
|
|||||||
<file>ico/qelectrotech.png</file>
|
<file>ico/qelectrotech.png</file>
|
||||||
<file>ico/allowed.png</file>
|
<file>ico/allowed.png</file>
|
||||||
<file>ico/add_col.png</file>
|
<file>ico/add_col.png</file>
|
||||||
|
<file>ico/add_row.png</file>
|
||||||
<file>ico/arc.png</file>
|
<file>ico/arc.png</file>
|
||||||
<file>ico/bring_forward.png</file>
|
<file>ico/bring_forward.png</file>
|
||||||
<file>ico/button_cancel.png</file>
|
<file>ico/button_cancel.png</file>
|
||||||
@@ -57,6 +58,7 @@
|
|||||||
<file>ico/redo.png</file>
|
<file>ico/redo.png</file>
|
||||||
<file>ico/reload.png</file>
|
<file>ico/reload.png</file>
|
||||||
<file>ico/remove_col.png</file>
|
<file>ico/remove_col.png</file>
|
||||||
|
<file>ico/remove_row.png</file>
|
||||||
<file>ico/restaurer.png</file>
|
<file>ico/restaurer.png</file>
|
||||||
<file>ico/saveas.png</file>
|
<file>ico/saveas.png</file>
|
||||||
<file>ico/save.png</file>
|
<file>ico/save.png</file>
|
||||||
|
|||||||
@@ -18,23 +18,30 @@
|
|||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "borderinset.h"
|
#include "borderinset.h"
|
||||||
#include "qetapp.h"
|
#include "qetapp.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Constructeur simple : construit une bordure de 15 colonnes de 50x500 avec
|
Constructeur simple : construit une bordure en recuperant les dimensions
|
||||||
un cartouche de 400x50.
|
dans la configuration de l'application.
|
||||||
@param parent QObject parent de ce BorderInset
|
@param parent QObject parent de ce BorderInset
|
||||||
*/
|
*/
|
||||||
BorderInset::BorderInset(QObject *parent) : QObject(parent) {
|
BorderInset::BorderInset(QObject *parent) : QObject(parent) {
|
||||||
nb_columns = qMax(3, QETApp::settings().value("diagrameditor/defaultcols", 15).toInt());
|
// initialise les dimensions des colonnes (ainsi que la largeur du cartouche)
|
||||||
min_nb_columns = 3;
|
|
||||||
columns_width = QETApp::settings().value("diagrameditor/defaultcolsize", 50.0).toDouble();
|
|
||||||
columns_height = QETApp::settings().value("diagrameditor/defaultheight", 500.0).toDouble();
|
|
||||||
min_columns_height = 80.0;
|
|
||||||
inset_width = nb_columns * columns_width;
|
|
||||||
inset_height = 50.0;
|
|
||||||
columns_header_height = 20.0;
|
columns_header_height = 20.0;
|
||||||
|
setNbColumns (QETApp::settings().value("diagrameditor/defaultcols", 15).toInt());
|
||||||
|
setColumnsWidth(QETApp::settings().value("diagrameditor/defaultcolsize", 50.0).toDouble());
|
||||||
|
|
||||||
|
// initialise les dimensions des lignes
|
||||||
|
rows_header_width = 20.0;
|
||||||
|
setNbRows(QETApp::settings().value("diagrameditor/defaultrows", 6).toInt());
|
||||||
|
setRowsHeight(QETApp::settings().value("diagrameditor/defaultrowsize", 80.0).toDouble());
|
||||||
|
|
||||||
|
// hauteur du cartouche
|
||||||
|
inset_height = 50.0;
|
||||||
|
|
||||||
display_inset = true;
|
display_inset = true;
|
||||||
display_columns = true;
|
display_columns = true;
|
||||||
|
display_rows = true;
|
||||||
display_border = true;
|
display_border = true;
|
||||||
updateRectangles();
|
updateRectangles();
|
||||||
|
|
||||||
@@ -54,18 +61,46 @@ BorderInset::BorderInset(QObject *parent) : QObject(parent) {
|
|||||||
BorderInset::~BorderInset() {
|
BorderInset::~BorderInset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return Le nombre minimum de colonnes qu'un schema doit comporter
|
||||||
|
*/
|
||||||
|
int BorderInset::minNbColumns() {
|
||||||
|
return(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return la largeur minimale d'une colonne de schema
|
||||||
|
*/
|
||||||
|
qreal BorderInset::minColumnsWidth() {
|
||||||
|
return(5.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return Le nombre minimum de lignes qu'un schema doit comporter
|
||||||
|
*/
|
||||||
|
int BorderInset::minNbRows() {
|
||||||
|
return(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return la hauteur minimale d'une ligne de schema
|
||||||
|
*/
|
||||||
|
qreal BorderInset::minRowsHeight() {
|
||||||
|
return(5.0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Methode recalculant les rectangles composant le cadre et le cartouche en
|
Methode recalculant les rectangles composant le cadre et le cartouche en
|
||||||
fonction des attributs de taille
|
fonction des attributs de taille
|
||||||
*/
|
*/
|
||||||
void BorderInset::updateRectangles() {
|
void BorderInset::updateRectangles() {
|
||||||
// rectangle delimitant le schema
|
// rectangle delimitant le schema
|
||||||
QRectF previous_border = border;
|
QRectF previous_diagram = diagram;
|
||||||
border = QRectF(0, 0, nb_columns * columns_width, columns_height);
|
diagram = QRectF(0, 0, diagramWidth(), diagramHeight());
|
||||||
if (border != previous_border) emit(borderChanged(previous_border, border));
|
if (diagram != previous_diagram) emit(borderChanged(previous_diagram, diagram));
|
||||||
|
|
||||||
// rectangles relatifs au cartouche
|
// rectangles relatifs au cartouche
|
||||||
inset = QRectF(border.bottomLeft().x(), border.bottomLeft().y(), inset_width, inset_height);
|
inset = QRectF(diagram.bottomLeft().x(), diagram.bottomLeft().y(), inset_width, inset_height);
|
||||||
inset_author = QRectF(inset.topLeft(), QSizeF(2.0 * inset_width / 9.0, 0.5 * inset_height));
|
inset_author = QRectF(inset.topLeft(), QSizeF(2.0 * inset_width / 9.0, 0.5 * inset_height));
|
||||||
inset_date = QRectF(inset_author.bottomLeft(), inset_author.size());
|
inset_date = QRectF(inset_author.bottomLeft(), inset_author.size());
|
||||||
inset_title = QRectF(inset_author.topRight(), QSizeF(5.0 * inset_width / 9.0, inset_height));
|
inset_title = QRectF(inset_author.topRight(), QSizeF(5.0 * inset_width / 9.0, inset_height));
|
||||||
@@ -81,7 +116,7 @@ void BorderInset::updateRectangles() {
|
|||||||
*/
|
*/
|
||||||
void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
||||||
// translate tous les rectangles
|
// translate tous les rectangles
|
||||||
border .translate(x, y);
|
diagram .translate(x, y);
|
||||||
inset .translate(x, y);
|
inset .translate(x, y);
|
||||||
inset_author.translate(x, y);
|
inset_author.translate(x, y);
|
||||||
inset_date .translate(x, y);
|
inset_date .translate(x, y);
|
||||||
@@ -95,17 +130,28 @@ void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
|||||||
qp -> setBrush(Qt::NoBrush);
|
qp -> setBrush(Qt::NoBrush);
|
||||||
|
|
||||||
// dessine le cadre
|
// dessine le cadre
|
||||||
if (display_border) qp -> drawRect(border);
|
if (display_border) qp -> drawRect(diagram);
|
||||||
|
|
||||||
qp -> setFont(QFont(QETApp::diagramTextsFont(), qp -> font().pointSize()));
|
qp -> setFont(QFont(QETApp::diagramTextsFont(), qp -> font().pointSize()));
|
||||||
|
|
||||||
|
// dessine la case vide qui apparait des qu'il y a un entete
|
||||||
|
if (display_columns || display_rows) {
|
||||||
|
qp -> setBrush(Qt::white);
|
||||||
|
QRectF first_rectangle(
|
||||||
|
diagram.topLeft().x(),
|
||||||
|
diagram.topLeft().y(),
|
||||||
|
rows_header_width,
|
||||||
|
columns_header_height
|
||||||
|
);
|
||||||
|
qp -> drawRect(first_rectangle);
|
||||||
|
}
|
||||||
|
|
||||||
// dessine la numerotation des colonnes
|
// dessine la numerotation des colonnes
|
||||||
if (display_columns) {
|
if (display_columns) {
|
||||||
qp -> setBrush(Qt::white);
|
|
||||||
for (int i = 1 ; i <= nb_columns ; ++ i) {
|
for (int i = 1 ; i <= nb_columns ; ++ i) {
|
||||||
QRectF numbered_rectangle = QRectF(
|
QRectF numbered_rectangle = QRectF(
|
||||||
border.topLeft().x() + ((i - 1) * columns_width),
|
diagram.topLeft().x() + (rows_header_width + ((i - 1) * columns_width)),
|
||||||
border.topLeft().y(),
|
diagram.topLeft().y(),
|
||||||
columns_width,
|
columns_width,
|
||||||
columns_header_height
|
columns_header_height
|
||||||
);
|
);
|
||||||
@@ -114,6 +160,22 @@ void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dessine la numerotation des lignes
|
||||||
|
if (display_rows) {
|
||||||
|
QString row_string("A");
|
||||||
|
for (int i = 1 ; i <= nb_rows ; ++ i) {
|
||||||
|
QRectF lettered_rectangle = QRectF(
|
||||||
|
diagram.topLeft().x(),
|
||||||
|
diagram.topLeft().y() + (columns_header_height + ((i - 1) * rows_height)),
|
||||||
|
rows_header_width,
|
||||||
|
rows_height
|
||||||
|
);
|
||||||
|
qp -> drawRect(lettered_rectangle);
|
||||||
|
qp -> drawText(lettered_rectangle, Qt::AlignVCenter | Qt::AlignCenter, row_string);
|
||||||
|
row_string = incrementLetters(row_string);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// dessine le cartouche
|
// dessine le cartouche
|
||||||
if (display_inset) {
|
if (display_inset) {
|
||||||
qp -> setBrush(Qt::white);
|
qp -> setBrush(Qt::white);
|
||||||
@@ -138,7 +200,7 @@ void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
|||||||
qp -> restore();
|
qp -> restore();
|
||||||
|
|
||||||
// annule la translation des rectangles
|
// annule la translation des rectangles
|
||||||
border .translate(-x, -y);
|
diagram .translate(-x, -y);
|
||||||
inset .translate(-x, -y);
|
inset .translate(-x, -y);
|
||||||
inset_author.translate(-x, -y);
|
inset_author.translate(-x, -y);
|
||||||
inset_date .translate(-x, -y);
|
inset_date .translate(-x, -y);
|
||||||
@@ -151,47 +213,62 @@ void BorderInset::draw(QPainter *qp, qreal x, qreal y) {
|
|||||||
Ajoute une colonne.
|
Ajoute une colonne.
|
||||||
*/
|
*/
|
||||||
void BorderInset::addColumn() {
|
void BorderInset::addColumn() {
|
||||||
++ nb_columns;
|
setNbColumns(nbColumns() + 1);
|
||||||
setInsetWidth(nb_columns * columns_width);
|
|
||||||
updateRectangles();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Enleve une colonne. Il doit rester au moins 3 colonnes.
|
Enleve une colonne sans passer sous le minimum requis.
|
||||||
|
@see minNbColumns()
|
||||||
*/
|
*/
|
||||||
void BorderInset::removeColumn() {
|
void BorderInset::removeColumn() {
|
||||||
if (nb_columns == min_nb_columns) return;
|
setNbColumns(nbColumns() - 1);
|
||||||
-- nb_columns;
|
}
|
||||||
setInsetWidth(nb_columns * columns_width);
|
|
||||||
updateRectangles();
|
/**
|
||||||
|
Ajoute une ligne.
|
||||||
|
*/
|
||||||
|
void BorderInset::addRow() {
|
||||||
|
setNbRows(nbRows() + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Enleve une ligne sans passer sous le minimum requis.
|
||||||
|
@see minNbRows()
|
||||||
|
*/
|
||||||
|
void BorderInset::removeRow() {
|
||||||
|
setNbRows(nbRows() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Permet de changer le nombre de colonnes.
|
Permet de changer le nombre de colonnes.
|
||||||
Si ce nombre de colonnes est inferieur au minimum requis, cette fonction ne
|
Si ce nombre de colonnes est inferieur au minimum requis, c'est ce minimum
|
||||||
fait rien
|
qui est utilise.
|
||||||
@param nb_c nouveau nombre de colonnes
|
@param nb_c nouveau nombre de colonnes
|
||||||
@see minNbColumns()
|
@see minNbColumns()
|
||||||
*/
|
*/
|
||||||
void BorderInset::setNbColumns(int nb_c) {
|
void BorderInset::setNbColumns(int nb_c) {
|
||||||
if (nb_c < min_nb_columns) return;
|
if (nb_c == nbColumns()) return;
|
||||||
nb_columns = nb_c;
|
nb_columns = qMax(minNbColumns(), nb_c);
|
||||||
setInsetWidth(nb_columns * columns_width);
|
setInsetWidth(diagramWidth());
|
||||||
updateRectangles();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change la largeur des colonnes ; celle-ci doit rester comprise entre 10 et
|
Change la largeur des colonnes.
|
||||||
200px.
|
Si la largeur indiquee est inferieure au minimum requis, c'est ce minimum
|
||||||
|
qui est utilise.
|
||||||
|
@param new_cw nouvelle largeur des colonnes
|
||||||
|
@see minColumnsWidth()
|
||||||
*/
|
*/
|
||||||
void BorderInset::setColumnsWidth(const qreal &new_cw) {
|
void BorderInset::setColumnsWidth(const qreal &new_cw) {
|
||||||
columns_width = qBound(10.0, new_cw, 200.0);
|
if (new_cw == columnsWidth()) return;
|
||||||
updateRectangles();
|
columns_width = qMax(minColumnsWidth(), new_cw);
|
||||||
|
setInsetWidth(diagramWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change la hauteur des en-tetes contenant les numeros de colonnes. Celle-ci
|
Change la hauteur des en-tetes contenant les numeros de colonnes. Celle-ci
|
||||||
doit rester comprise entre 5 et 50 px.
|
doit rester comprise entre 5 et 50 px.
|
||||||
|
@param new_chh nouvelle hauteur des en-tetes de colonnes
|
||||||
*/
|
*/
|
||||||
void BorderInset::setColumnsHeaderHeight(const qreal &new_chh) {
|
void BorderInset::setColumnsHeaderHeight(const qreal &new_chh) {
|
||||||
columns_header_height = qBound(5.0, new_chh, 50.0);
|
columns_header_height = qBound(5.0, new_chh, 50.0);
|
||||||
@@ -199,29 +276,66 @@ void BorderInset::setColumnsHeaderHeight(const qreal &new_chh) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change la hauteur des colonnes (et donc du cadre). Cette hauteur doit
|
Permet de changer le nombre de lignes.
|
||||||
rester superieure a la hauteur des en-tetes de colonnes + 20px.
|
Si ce nombre de lignes est inferieur au minimum requis, cette fonction ne
|
||||||
|
fait rien
|
||||||
|
@param nb_r nouveau nombre de lignes
|
||||||
|
@see minNbRows()
|
||||||
*/
|
*/
|
||||||
void BorderInset::setColumnsHeight(const qreal &new_ch) {
|
void BorderInset::setNbRows(int nb_r) {
|
||||||
columns_height = qMax(columns_header_height + min_columns_height, new_ch);
|
if (nb_r == nbRows()) return;
|
||||||
|
nb_rows = qMax(minNbRows(), nb_r);
|
||||||
|
setInsetWidth(diagramWidth());
|
||||||
updateRectangles();
|
updateRectangles();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change la largeur du cartouche. Cette largeur doit rester comprise entre
|
Change la hauteur des lignes.
|
||||||
100px et la largeur du cartouche
|
Si la hauteur indiquee est inferieure au minimum requis, c'est ce minimum
|
||||||
|
qui est utilise.
|
||||||
|
@param rh nouvelle hauteur des lignes
|
||||||
|
@see minRowsHeight()
|
||||||
|
*/
|
||||||
|
void BorderInset::setRowsHeight(const qreal &new_rh) {
|
||||||
|
if (new_rh == rowsHeight()) return;
|
||||||
|
rows_height = qMax(minRowsHeight(), new_rh);
|
||||||
|
updateRectangles();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Change la largeur des en-tetes contenant les numeros de lignes. Celle-ci
|
||||||
|
doit rester comprise entre 5 et 50 px.
|
||||||
|
@param new_rhw nouvelle largeur des en-tetes des lignes
|
||||||
|
*/
|
||||||
|
void BorderInset::setRowsHeaderWidth(const qreal &new_rhw) {
|
||||||
|
rows_header_width = qBound(5.0, new_rhw, 50.0);
|
||||||
|
updateRectangles();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Cette methode essaye de se rapprocher le plus possible de la hauteur donnee
|
||||||
|
en parametre en modifiant le nombre de lignes en cours.
|
||||||
|
*/
|
||||||
|
void BorderInset::setDiagramHeight(const qreal &height) {
|
||||||
|
// taille des lignes a utiliser = rows_height
|
||||||
|
setNbColumns(ceil(height / rows_height));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Change la largeur du cartouche. Cette largeur sera restreinte a celle du
|
||||||
|
schema.
|
||||||
*/
|
*/
|
||||||
void BorderInset::setInsetWidth(const qreal &new_iw) {
|
void BorderInset::setInsetWidth(const qreal &new_iw) {
|
||||||
inset_width = qMax(100.0, qMin(nb_columns * columns_width, new_iw));
|
inset_width = qMin(diagramWidth(), new_iw);
|
||||||
updateRectangles();
|
updateRectangles();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change la hauteur du cartouche. Cette largeur doit rester comprise entre
|
Change la hauteur du cartouche. Cette hauteur doit rester comprise entre
|
||||||
20px et la hauteur du cartouche.
|
20px et la hauteur du schema.
|
||||||
*/
|
*/
|
||||||
void BorderInset::setInsetHeight(const qreal &new_ih) {
|
void BorderInset::setInsetHeight(const qreal &new_ih) {
|
||||||
inset_height = qMax(20.0, qMin(columns_height, new_ih));
|
inset_height = qMax(20.0, qMin(diagramHeight(), new_ih));
|
||||||
updateRectangles();
|
updateRectangles();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,5 +344,22 @@ void BorderInset::setInsetHeight(const qreal &new_ih) {
|
|||||||
que le schema
|
que le schema
|
||||||
*/
|
*/
|
||||||
void BorderInset::adjustInsetToColumns() {
|
void BorderInset::adjustInsetToColumns() {
|
||||||
setInsetWidth(nbColumn() * columnsWidth());
|
setInsetWidth(diagramWidth());
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BorderInset::incrementLetters(const QString &string) {
|
||||||
|
if (string.isEmpty()) {
|
||||||
|
return("A");
|
||||||
|
} else {
|
||||||
|
// separe les digits precedents du dernier digit
|
||||||
|
QString first_digits(string.left(string.count() - 1));
|
||||||
|
QChar last_digit(string.at(string.count() - 1));
|
||||||
|
if (last_digit != 'Z') {
|
||||||
|
// incremente le dernier digit
|
||||||
|
last_digit = last_digit.toAscii() + 1;
|
||||||
|
return(first_digits + QString(last_digit));
|
||||||
|
} else {
|
||||||
|
return(incrementLetters(first_digits) + "A");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,29 +39,51 @@ class BorderInset : public QObject {
|
|||||||
|
|
||||||
// methodes
|
// methodes
|
||||||
public:
|
public:
|
||||||
|
static int minNbColumns();
|
||||||
|
static qreal minColumnsWidth();
|
||||||
|
static int minNbRows();
|
||||||
|
static qreal minRowsHeight();
|
||||||
|
|
||||||
void draw(QPainter *, qreal = 0.0, qreal = 0.0);
|
void draw(QPainter *, qreal = 0.0, qreal = 0.0);
|
||||||
|
|
||||||
// methodes d'acces en lecture aux dimensions
|
// methodes d'acces en lecture aux dimensions
|
||||||
|
// colonnes
|
||||||
/// @return le nombre de colonnes du schema
|
/// @return le nombre de colonnes du schema
|
||||||
int nbColumn() const { return(nb_columns); }
|
int nbColumns() const { return(nb_columns); }
|
||||||
/// @return la taille des colonnes en pixels
|
/// @return la largeur des colonnes en pixels
|
||||||
qreal columnsWidth() const { return(columns_width); }
|
qreal columnsWidth() const { return(columns_width); }
|
||||||
|
/// @return la taille de l'ensemble des colonnes, en-tete des lignes non inclus
|
||||||
|
qreal columnsTotalWidth() const { return(nb_columns * columns_width); }
|
||||||
/// @return la hauteur, en pixels, des en-tetes des colonnes
|
/// @return la hauteur, en pixels, des en-tetes des colonnes
|
||||||
qreal columnsHeaderHeight() const { return(columns_header_height); }
|
qreal columnsHeaderHeight() const { return(columns_header_height); }
|
||||||
/// @return la hauteur des colonnes, en-tetes inclus
|
|
||||||
qreal columnsHeight() const { return(columns_height); }
|
// lignes
|
||||||
/// @return la largeur de la bordure
|
/// @return le nombre de lignes du schema
|
||||||
qreal borderWidth() const { return(nb_columns * columns_width); }
|
int nbRows() const { return(nb_rows); }
|
||||||
/// @return la hauteur de la bordure
|
/// @return la hauteur des lignes en pixels
|
||||||
qreal borderHeight() const { return(columns_height + inset_height); }
|
qreal rowsHeight() const { return(rows_height); }
|
||||||
|
/// @return la taille de l'ensemble des lignes, en-tete des colonnes non inclus
|
||||||
|
qreal rowsTotalHeight() const { return(nb_rows * rows_height); }
|
||||||
|
/// @return la largeur, en pixels, des en-tetes des lignes
|
||||||
|
qreal rowsHeaderWidth() const { return(rows_header_width); }
|
||||||
|
|
||||||
|
// cadre sans le cartouche = schema
|
||||||
|
/// @return la largeur du schema, c'est-a-dire du cadre sans le cartouche
|
||||||
|
qreal diagramWidth() const { return(columnsTotalWidth() + rowsHeaderWidth()); }
|
||||||
|
/// @return la hauteurdu schema, c'est-a-dire du cadre sans le cartouche
|
||||||
|
qreal diagramHeight() const { return(rowsTotalHeight() + columnsHeaderHeight()); }
|
||||||
|
|
||||||
|
// cartouche
|
||||||
/// @return la largeur du cartouche
|
/// @return la largeur du cartouche
|
||||||
qreal insetWidth() const { return(inset_width); }
|
qreal insetWidth() const { return(inset_width); }
|
||||||
/// @return la hauteur du cartouche
|
/// @return la hauteur du cartouche
|
||||||
qreal insetHeight() const { return(inset_height); }
|
qreal insetHeight() const { return(inset_height); }
|
||||||
/// @return la hauteur minimale acceptee des colonnes
|
|
||||||
qreal minColumnsHeight() const { return(min_columns_height); }
|
// cadre avec le cartouche
|
||||||
/// @return le nombre minimum accepte de colonnes
|
/// @return la hauteur de la bordure
|
||||||
int minNbColumns() const { return(min_nb_columns); }
|
qreal borderWidth() const { return(diagramWidth()); }
|
||||||
|
/// @return la hauteur de la bordure
|
||||||
|
qreal borderHeight() const { return(diagramHeight() + insetHeight()); }
|
||||||
|
|
||||||
// methodes d'acces en lecture aux informations du cartouche
|
// methodes d'acces en lecture aux informations du cartouche
|
||||||
/// @return le champ "Auteur" du cartouche
|
/// @return le champ "Auteur" du cartouche
|
||||||
@@ -80,16 +102,23 @@ class BorderInset : public QObject {
|
|||||||
bool insetIsDisplayed() const { return(display_inset); }
|
bool insetIsDisplayed() const { return(display_inset); }
|
||||||
/// @return true si les entetes des colonnes sont affiches, false sinon
|
/// @return true si les entetes des colonnes sont affiches, false sinon
|
||||||
bool columnsAreDisplayed() const { return(display_columns); }
|
bool columnsAreDisplayed() const { return(display_columns); }
|
||||||
|
/// @return true si les entetes des lignes sont affiches, false sinon
|
||||||
|
bool rowsAreDisplayed() const { return(display_rows); }
|
||||||
/// @return true si la bordure est affichee, false sinon
|
/// @return true si la bordure est affichee, false sinon
|
||||||
bool borderIsDisplayed() const { return(display_border); }
|
bool borderIsDisplayed() const { return(display_border); }
|
||||||
|
|
||||||
// methodes d'acces en ecriture aux dimensions
|
// methodes d'acces en ecriture aux dimensions
|
||||||
void addColumn ();
|
void addColumn ();
|
||||||
|
void addRow ();
|
||||||
void removeColumn ();
|
void removeColumn ();
|
||||||
|
void removeRow ();
|
||||||
void setNbColumns (int);
|
void setNbColumns (int);
|
||||||
|
void setNbRows (int);
|
||||||
void setColumnsWidth (const qreal &);
|
void setColumnsWidth (const qreal &);
|
||||||
|
void setRowsHeight (const qreal &);
|
||||||
void setColumnsHeaderHeight(const qreal &);
|
void setColumnsHeaderHeight(const qreal &);
|
||||||
void setColumnsHeight (const qreal &);
|
void setRowsHeaderWidth (const qreal &);
|
||||||
|
void setDiagramHeight (const qreal &);
|
||||||
void setInsetWidth (const qreal &);
|
void setInsetWidth (const qreal &);
|
||||||
void setInsetHeight (const qreal &);
|
void setInsetHeight (const qreal &);
|
||||||
void adjustInsetToColumns ();
|
void adjustInsetToColumns ();
|
||||||
@@ -131,11 +160,14 @@ class BorderInset : public QObject {
|
|||||||
void displayInset (bool di) { display_inset = di; }
|
void displayInset (bool di) { display_inset = di; }
|
||||||
/// @param dc true pour afficher les entetes des colonnes, false sinon
|
/// @param dc true pour afficher les entetes des colonnes, false sinon
|
||||||
void displayColumns (bool dc) { display_columns = dc; }
|
void displayColumns (bool dc) { display_columns = dc; }
|
||||||
|
/// @param dr true pour afficher les entetes des lignes, false sinon
|
||||||
|
void displayRows (bool dr) { display_rows = dr; }
|
||||||
/// @param db true pour afficher la bordure du schema, false sinon
|
/// @param db true pour afficher la bordure du schema, false sinon
|
||||||
void displayBorder (bool db) { display_border = db; }
|
void displayBorder (bool db) { display_border = db; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateRectangles();
|
void updateRectangles();
|
||||||
|
QString incrementLetters(const QString &);
|
||||||
|
|
||||||
// signaux
|
// signaux
|
||||||
signals:
|
signals:
|
||||||
@@ -155,18 +187,23 @@ class BorderInset : public QObject {
|
|||||||
QString bi_folio;
|
QString bi_folio;
|
||||||
QString bi_filename;
|
QString bi_filename;
|
||||||
|
|
||||||
// dimensions du cadre et du cartouche
|
// dimensions du cadre (lignes et colonnes)
|
||||||
|
// colonnes : nombres et dimensions
|
||||||
int nb_columns;
|
int nb_columns;
|
||||||
int min_nb_columns;
|
|
||||||
qreal columns_width;
|
qreal columns_width;
|
||||||
qreal columns_header_height;
|
qreal columns_header_height;
|
||||||
qreal columns_height;
|
|
||||||
qreal min_columns_height;
|
// lignes : nombres et dimensions
|
||||||
|
int nb_rows;
|
||||||
|
qreal rows_height;
|
||||||
|
qreal rows_header_width;
|
||||||
|
|
||||||
|
// dimensions du cartouche
|
||||||
qreal inset_width;
|
qreal inset_width;
|
||||||
qreal inset_height;
|
qreal inset_height;
|
||||||
|
|
||||||
// rectangles utilises pour le dessin
|
// rectangles utilises pour le dessin
|
||||||
QRectF border;
|
QRectF diagram;
|
||||||
QRectF inset;
|
QRectF inset;
|
||||||
QRectF inset_author;
|
QRectF inset_author;
|
||||||
QRectF inset_date;
|
QRectF inset_date;
|
||||||
@@ -177,6 +214,7 @@ class BorderInset : public QObject {
|
|||||||
// booleens pour les options de dessin
|
// booleens pour les options de dessin
|
||||||
bool display_inset;
|
bool display_inset;
|
||||||
bool display_columns;
|
bool display_columns;
|
||||||
|
bool display_rows;
|
||||||
bool display_border;
|
bool display_border;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include "insetpropertieswidget.h"
|
#include "insetpropertieswidget.h"
|
||||||
#include "qetapp.h"
|
#include "qetapp.h"
|
||||||
#include "qetdiagrameditor.h"
|
#include "qetdiagrameditor.h"
|
||||||
|
#include "borderinset.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Constructeur
|
Constructeur
|
||||||
@@ -31,9 +32,10 @@ NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
|
|||||||
QSettings &settings = QETApp::settings();
|
QSettings &settings = QETApp::settings();
|
||||||
|
|
||||||
// recupere les dimensions du schema
|
// recupere les dimensions du schema
|
||||||
int columns_count_value = settings.value("diagrameditor/defaultcols", 15).toInt();
|
int columns_count_value = settings.value("diagrameditor/defaultcols", 15).toInt();
|
||||||
int columns_width_value = qRound(settings.value("diagrameditor/defaultcolsize", 50.0).toDouble());
|
int columns_width_value = qRound(settings.value("diagrameditor/defaultcolsize", 50.0).toDouble());
|
||||||
int columns_height_value = qRound(settings.value("diagrameditor/defaultheight", 500.0).toDouble());
|
int rows_count_value = settings.value("diagrameditor/defaultrows", 6).toDouble();
|
||||||
|
int rows_height_value = qRound(settings.value("diagrameditor/defaultrowsize", 80.0).toDouble());
|
||||||
|
|
||||||
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
||||||
|
|
||||||
@@ -54,28 +56,35 @@ NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
|
|||||||
QLabel *ds1 = new QLabel(tr("Colonnes :"));
|
QLabel *ds1 = new QLabel(tr("Colonnes :"));
|
||||||
|
|
||||||
columns_count = new QSpinBox(diagram_size_box);
|
columns_count = new QSpinBox(diagram_size_box);
|
||||||
columns_count -> setMinimum(3); /// @todo methode statique pour recuperer ca
|
columns_count -> setMinimum(BorderInset::minNbColumns());
|
||||||
columns_count -> setValue(columns_count_value);
|
columns_count -> setValue(columns_count_value);
|
||||||
|
|
||||||
columns_width = new QSpinBox(diagram_size_box);
|
columns_width = new QSpinBox(diagram_size_box);
|
||||||
columns_width -> setMinimum(1);
|
columns_width -> setMinimum(BorderInset::minColumnsWidth());
|
||||||
columns_width -> setSingleStep(10);
|
columns_width -> setSingleStep(10);
|
||||||
columns_width -> setValue(columns_width_value);
|
columns_width -> setValue(columns_width_value);
|
||||||
columns_width -> setPrefix(tr("\327"));
|
columns_width -> setPrefix(tr("\327"));
|
||||||
columns_width -> setSuffix(tr("px"));
|
columns_width -> setSuffix(tr("px"));
|
||||||
|
|
||||||
QLabel *ds2 = new QLabel(tr("Hauteur :"));
|
QLabel *ds2 = new QLabel(tr("Lignes :"));
|
||||||
|
|
||||||
columns_height = new QSpinBox(diagram_size_box);
|
rows_count = new QSpinBox(diagram_size_box);
|
||||||
columns_height -> setRange(80, 10000); /// @todo methode statique pour recuperer ca
|
rows_count -> setMinimum(BorderInset::minNbRows());
|
||||||
columns_height -> setSingleStep(80);
|
rows_count -> setValue(rows_count_value);
|
||||||
columns_height -> setValue(columns_height_value);
|
|
||||||
|
rows_height = new QSpinBox(diagram_size_box);
|
||||||
|
rows_height -> setMinimum(BorderInset::minRowsHeight());
|
||||||
|
rows_height -> setSingleStep(10);
|
||||||
|
rows_height -> setValue(rows_height_value);
|
||||||
|
rows_height -> setPrefix(tr("\327"));
|
||||||
|
rows_height -> setSuffix(tr("px"));
|
||||||
|
|
||||||
diagram_size_box_layout -> addWidget(ds1, 0, 0);
|
diagram_size_box_layout -> addWidget(ds1, 0, 0);
|
||||||
diagram_size_box_layout -> addWidget(columns_count, 0, 1);
|
diagram_size_box_layout -> addWidget(columns_count, 0, 1);
|
||||||
diagram_size_box_layout -> addWidget(columns_width, 0, 2);
|
diagram_size_box_layout -> addWidget(columns_width, 0, 2);
|
||||||
diagram_size_box_layout -> addWidget(ds2, 1, 0);
|
diagram_size_box_layout -> addWidget(ds2, 1, 0);
|
||||||
diagram_size_box_layout -> addWidget(columns_height, 1, 1);
|
diagram_size_box_layout -> addWidget(rows_count, 1, 1);
|
||||||
|
diagram_size_box_layout -> addWidget(rows_height, 1, 2);
|
||||||
|
|
||||||
ipw = new InsetPropertiesWidget(QETDiagramEditor::defaultInsetProperties(), true, this);
|
ipw = new InsetPropertiesWidget(QETDiagramEditor::defaultInsetProperties(), true, this);
|
||||||
|
|
||||||
@@ -107,7 +116,8 @@ void NewDiagramPage::applyConf() {
|
|||||||
// dimensions des nouveaux schemas
|
// dimensions des nouveaux schemas
|
||||||
settings.setValue("diagrameditor/defaultcols", columns_count -> value());
|
settings.setValue("diagrameditor/defaultcols", columns_count -> value());
|
||||||
settings.setValue("diagrameditor/defaultcolsize", columns_width -> value());
|
settings.setValue("diagrameditor/defaultcolsize", columns_width -> value());
|
||||||
settings.setValue("diagrameditor/defaultheight", columns_height -> value());
|
settings.setValue("diagrameditor/defaultrows", rows_count -> value());
|
||||||
|
settings.setValue("diagrameditor/defaultrowsize", rows_height -> value());
|
||||||
|
|
||||||
// proprietes du cartouche
|
// proprietes du cartouche
|
||||||
InsetProperties inset = ipw-> insetProperties();
|
InsetProperties inset = ipw-> insetProperties();
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ class NewDiagramPage : public ConfigPage {
|
|||||||
public:
|
public:
|
||||||
QSpinBox *columns_count; ///< Widget d'edition du nombre par defaut de colonnes
|
QSpinBox *columns_count; ///< Widget d'edition du nombre par defaut de colonnes
|
||||||
QSpinBox *columns_width; ///< Widget d'edition de la largeur par defaut des colonnes
|
QSpinBox *columns_width; ///< Widget d'edition de la largeur par defaut des colonnes
|
||||||
QSpinBox *columns_height; ///< Widget d'edition de la hauteur par defaut des colonnes
|
QSpinBox *rows_count; ///< Widget d'edition du nombre par defaut de lignes
|
||||||
|
QSpinBox *rows_height; ///< Widget d'edition de la hauteur par defaut des lignes
|
||||||
InsetPropertiesWidget *ipw; ///< Widget d'edition des proprietes par defaut du cartouche
|
InsetPropertiesWidget *ipw; ///< Widget d'edition des proprietes par defaut du cartouche
|
||||||
ConductorPropertiesWidget *cpw; ///< Widget d'edition des proprietes par defaut des conducteurs
|
ConductorPropertiesWidget *cpw; ///< Widget d'edition des proprietes par defaut des conducteurs
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -247,9 +247,12 @@ QDomDocument Diagram::toXml(bool diagram) {
|
|||||||
if (!border_and_inset.title().isNull()) racine.setAttribute("title", border_and_inset.title());
|
if (!border_and_inset.title().isNull()) racine.setAttribute("title", border_and_inset.title());
|
||||||
if (!border_and_inset.fileName().isNull()) racine.setAttribute("filename", border_and_inset.fileName());
|
if (!border_and_inset.fileName().isNull()) racine.setAttribute("filename", border_and_inset.fileName());
|
||||||
if (!border_and_inset.folio().isNull()) racine.setAttribute("folio", border_and_inset.folio());
|
if (!border_and_inset.folio().isNull()) racine.setAttribute("folio", border_and_inset.folio());
|
||||||
racine.setAttribute("cols", border_and_inset.nbColumn());
|
racine.setAttribute("cols", border_and_inset.nbColumns());
|
||||||
racine.setAttribute("colsize", border_and_inset.columnsWidth());
|
racine.setAttribute("colsize", border_and_inset.columnsWidth());
|
||||||
racine.setAttribute("height", border_and_inset.columnsHeight());
|
racine.setAttribute("rows", border_and_inset.nbRows());
|
||||||
|
racine.setAttribute("rowsize", border_and_inset.rowsHeight());
|
||||||
|
// attribut datant de la version 0.1 - laisse pour retrocompatibilite
|
||||||
|
racine.setAttribute("height", border_and_inset.diagramHeight());
|
||||||
|
|
||||||
// type de conducteur par defaut
|
// type de conducteur par defaut
|
||||||
QDomElement default_conductor = document.createElement("defaultconductor");
|
QDomElement default_conductor = document.createElement("defaultconductor");
|
||||||
@@ -353,9 +356,20 @@ bool Diagram::fromXml(QDomDocument &document, QPointF position, bool consider_in
|
|||||||
double col_size = root.attribute("colsize").toDouble(&ok);
|
double col_size = root.attribute("colsize").toDouble(&ok);
|
||||||
if (ok) border_and_inset.setColumnsWidth(col_size);
|
if (ok) border_and_inset.setColumnsWidth(col_size);
|
||||||
|
|
||||||
// hauteur du schema
|
// retrocompatibilite : les schemas enregistres avec la 0.1 ont un attribut "height"
|
||||||
double height = root.attribute("height").toDouble(&ok);
|
if (root.hasAttribute("rows") && root.hasAttribute("rowsize")) {
|
||||||
if (ok) border_and_inset.setColumnsHeight(height);
|
// nombre de lignes
|
||||||
|
int nb_rows = root.attribute("rows").toInt(&ok);
|
||||||
|
if (ok) border_and_inset.setNbRows(nb_rows);
|
||||||
|
|
||||||
|
// taille des lignes
|
||||||
|
double row_size = root.attribute("rowsize").toDouble(&ok);
|
||||||
|
if (ok) border_and_inset.setRowsHeight(row_size);
|
||||||
|
} else {
|
||||||
|
// hauteur du schema
|
||||||
|
double height = root.attribute("height").toDouble(&ok);
|
||||||
|
if (ok) border_and_inset.setDiagramHeight(height);
|
||||||
|
}
|
||||||
|
|
||||||
border_and_inset.adjustInsetToColumns();
|
border_and_inset.adjustInsetToColumns();
|
||||||
|
|
||||||
|
|||||||
@@ -540,9 +540,11 @@ ChangeBorderCommand::ChangeBorderCommand(Diagram *dia, QUndoCommand *parent) :
|
|||||||
QUndoCommand(QObject::tr("modifier les dimensions du sch\351ma"), parent),
|
QUndoCommand(QObject::tr("modifier les dimensions du sch\351ma"), parent),
|
||||||
diagram(dia),
|
diagram(dia),
|
||||||
columnsCountDifference(0),
|
columnsCountDifference(0),
|
||||||
columnsHeightDifference(0.0),
|
rowsCountDifference(0),
|
||||||
columnsWidthDifference(0.0),
|
columnsWidthDifference(0.0),
|
||||||
headersHeightDifference(0.0)
|
rowsHeightDifference(0.0),
|
||||||
|
headersHeightDifference(0.0),
|
||||||
|
headersWidthDifference(0.0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -561,17 +563,23 @@ void ChangeBorderCommand::applyChanges(int coeff) {
|
|||||||
// reference vers l'objet border_and_inset du schema
|
// reference vers l'objet border_and_inset du schema
|
||||||
BorderInset &border = diagram -> border_and_inset;
|
BorderInset &border = diagram -> border_and_inset;
|
||||||
if (columnsCountDifference) {
|
if (columnsCountDifference) {
|
||||||
border.setNbColumns(border.nbColumn() + (columnsCountDifference * coeff));
|
border.setNbColumns(border.nbColumns() + (columnsCountDifference * coeff));
|
||||||
}
|
}
|
||||||
if (columnsHeightDifference) {
|
if (rowsCountDifference) {
|
||||||
border.setColumnsHeight(border.columnsHeight() + (columnsHeightDifference * coeff));
|
border.setNbRows(border.nbRows() + (rowsCountDifference * coeff));
|
||||||
}
|
}
|
||||||
if (columnsWidthDifference) {
|
if (columnsWidthDifference) {
|
||||||
border.setColumnsWidth(border.columnsWidth() + (columnsWidthDifference * coeff));
|
border.setColumnsWidth(border.columnsWidth() + (columnsWidthDifference * coeff));
|
||||||
}
|
}
|
||||||
|
if (rowsHeightDifference) {
|
||||||
|
border.setRowsHeight(border.rowsHeight() + (rowsHeightDifference * coeff));
|
||||||
|
}
|
||||||
if (headersHeightDifference) {
|
if (headersHeightDifference) {
|
||||||
border.setColumnsHeaderHeight(border.columnsHeaderHeight() + (headersHeightDifference * coeff));
|
border.setColumnsHeaderHeight(border.columnsHeaderHeight() + (headersHeightDifference * coeff));
|
||||||
}
|
}
|
||||||
|
if (headersWidthDifference) {
|
||||||
|
border.setRowsHeaderWidth(border.rowsHeaderWidth() + (headersWidthDifference * coeff));
|
||||||
|
}
|
||||||
border.adjustInsetToColumns();
|
border.adjustInsetToColumns();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -353,12 +353,16 @@ class ChangeBorderCommand : public QUndoCommand {
|
|||||||
public:
|
public:
|
||||||
/// nombre de colonnes ajoutees / enlevees
|
/// nombre de colonnes ajoutees / enlevees
|
||||||
int columnsCountDifference;
|
int columnsCountDifference;
|
||||||
/// delta pour la hauteur des colonnes
|
/// nombre de lignes ajoutees / enlevees
|
||||||
qreal columnsHeightDifference;
|
int rowsCountDifference;
|
||||||
/// delta pour la largeur des colonnes
|
/// delta pour la largeur des colonnes
|
||||||
qreal columnsWidthDifference;
|
qreal columnsWidthDifference;
|
||||||
|
/// delta pour la hauteur des lignes
|
||||||
|
qreal rowsHeightDifference;
|
||||||
/// delta pour la hauteur des entetes des colonnes
|
/// delta pour la hauteur des entetes des colonnes
|
||||||
qreal headersHeightDifference;
|
qreal headersHeightDifference;
|
||||||
|
/// delta pour la largeur des entetes des lignes
|
||||||
|
qreal headersWidthDifference;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Constructeur
|
Constructeur
|
||||||
@param parent Le QWidegt parent de cette vue de schema
|
@param parent Le QWidget parent de cette vue de schema
|
||||||
*/
|
*/
|
||||||
DiagramView::DiagramView(QWidget *parent) : QGraphicsView(parent), is_adding_text(false) {
|
DiagramView::DiagramView(QWidget *parent) : QGraphicsView(parent), is_adding_text(false) {
|
||||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||||
@@ -67,7 +67,7 @@ DiagramView::~DiagramView() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
appelle la methode select sur tous les elements de la liste d'elements
|
Appelle la methode select sur tous les elements de la liste d'elements
|
||||||
*/
|
*/
|
||||||
void DiagramView::selectAll() {
|
void DiagramView::selectAll() {
|
||||||
if (scene -> items().isEmpty()) return;
|
if (scene -> items().isEmpty()) return;
|
||||||
@@ -117,7 +117,7 @@ void DiagramView::rotateSelection() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
accepte ou refuse le drag'n drop en fonction du type de donnees entrant
|
Accepte ou refuse le drag'n drop en fonction du type de donnees entrant
|
||||||
@param e le QDragEnterEvent correspondant au drag'n drop tente
|
@param e le QDragEnterEvent correspondant au drag'n drop tente
|
||||||
*/
|
*/
|
||||||
void DiagramView::dragEnterEvent(QDragEnterEvent *e) {
|
void DiagramView::dragEnterEvent(QDragEnterEvent *e) {
|
||||||
@@ -126,14 +126,14 @@ void DiagramView::dragEnterEvent(QDragEnterEvent *e) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
gere les dragleaveevent
|
Gere les dragleaveevent
|
||||||
@param e le QDragEnterEvent correspondant au drag'n drop sortant
|
@param e le QDragEnterEvent correspondant au drag'n drop sortant
|
||||||
*/
|
*/
|
||||||
void DiagramView::dragLeaveEvent(QDragLeaveEvent *) {
|
void DiagramView::dragLeaveEvent(QDragLeaveEvent *) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
accepte ou refuse le drag'n drop en fonction du type de donnees entrant
|
Accepte ou refuse le drag'n drop en fonction du type de donnees entrant
|
||||||
@param e le QDragMoveEvent correspondant au drag'n drop tente
|
@param e le QDragMoveEvent correspondant au drag'n drop tente
|
||||||
*/
|
*/
|
||||||
void DiagramView::dragMoveEvent(QDragMoveEvent *e) {
|
void DiagramView::dragMoveEvent(QDragMoveEvent *e) {
|
||||||
@@ -142,7 +142,7 @@ void DiagramView::dragMoveEvent(QDragMoveEvent *e) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
gere les depots (drop) acceptes sur le Diagram
|
Gere les depots (drop) acceptes sur le Diagram
|
||||||
@param e le QDropEvent correspondant au drag'n drop effectue
|
@param e le QDropEvent correspondant au drag'n drop effectue
|
||||||
*/
|
*/
|
||||||
void DiagramView::dropEvent(QDropEvent *e) {
|
void DiagramView::dropEvent(QDropEvent *e) {
|
||||||
@@ -210,7 +210,7 @@ void DiagramView::zoomReset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
copie les elements selectionnes du schema dans le presse-papier puis les supprime
|
Copie les elements selectionnes du schema dans le presse-papier puis les supprime
|
||||||
*/
|
*/
|
||||||
void DiagramView::cut() {
|
void DiagramView::cut() {
|
||||||
copy();
|
copy();
|
||||||
@@ -220,7 +220,7 @@ void DiagramView::cut() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
copie les elements selectionnes du schema dans le presse-papier
|
Copie les elements selectionnes du schema dans le presse-papier
|
||||||
*/
|
*/
|
||||||
void DiagramView::copy() {
|
void DiagramView::copy() {
|
||||||
QClipboard *presse_papier = QApplication::clipboard();
|
QClipboard *presse_papier = QApplication::clipboard();
|
||||||
@@ -551,9 +551,10 @@ void DiagramView::dialogEditInfos() {
|
|||||||
InsetProperties inset = scene -> border_and_inset.exportInset();
|
InsetProperties inset = scene -> border_and_inset.exportInset();
|
||||||
|
|
||||||
// recupere les dimensions du schema
|
// recupere les dimensions du schema
|
||||||
int columns_count_value = scene -> border_and_inset.nbColumn();
|
int columns_count_value = scene -> border_and_inset.nbColumns();
|
||||||
int columns_width_value = qRound(scene -> border_and_inset.columnsWidth());
|
int columns_width_value = qRound(scene -> border_and_inset.columnsWidth());
|
||||||
int columns_height_value = qRound(scene -> border_and_inset.columnsHeight());
|
int rows_count_value = scene -> border_and_inset.nbRows();
|
||||||
|
int rows_height_value = qRound(scene -> border_and_inset.rowsHeight());
|
||||||
|
|
||||||
// construit le dialogue
|
// construit le dialogue
|
||||||
QDialog popup;
|
QDialog popup;
|
||||||
@@ -566,28 +567,35 @@ void DiagramView::dialogEditInfos() {
|
|||||||
QLabel *ds1 = new QLabel(tr("Colonnes :"));
|
QLabel *ds1 = new QLabel(tr("Colonnes :"));
|
||||||
|
|
||||||
QSpinBox *columns_count = new QSpinBox(diagram_size_box);
|
QSpinBox *columns_count = new QSpinBox(diagram_size_box);
|
||||||
columns_count -> setMinimum(scene -> border_and_inset.minNbColumns());
|
columns_count -> setMinimum(BorderInset::minNbColumns());
|
||||||
columns_count -> setValue(columns_count_value);
|
columns_count -> setValue(columns_count_value);
|
||||||
|
|
||||||
QSpinBox *columns_width = new QSpinBox(diagram_size_box);
|
QSpinBox *columns_width = new QSpinBox(diagram_size_box);
|
||||||
columns_width -> setMinimum(1);
|
columns_width -> setMinimum(BorderInset::minColumnsWidth());
|
||||||
columns_width -> setSingleStep(10);
|
columns_width -> setSingleStep(10);
|
||||||
columns_width -> setValue(columns_width_value);
|
columns_width -> setValue(columns_width_value);
|
||||||
columns_width -> setPrefix(tr("\327"));
|
columns_width -> setPrefix(tr("\327"));
|
||||||
columns_width -> setSuffix(tr("px"));
|
columns_width -> setSuffix(tr("px"));
|
||||||
|
|
||||||
QLabel *ds2 = new QLabel(tr("Hauteur :"));
|
QLabel *ds2 = new QLabel(tr("Lignes :"));
|
||||||
|
|
||||||
QSpinBox *columns_height = new QSpinBox(diagram_size_box);
|
QSpinBox *rows_count = new QSpinBox(diagram_size_box);
|
||||||
columns_height -> setRange(qRound(scene -> border_and_inset.minColumnsHeight()), 10000);
|
rows_count -> setMinimum(BorderInset::minNbRows());
|
||||||
columns_height -> setSingleStep(80);
|
rows_count -> setValue(rows_count_value);
|
||||||
columns_height -> setValue(columns_height_value);
|
|
||||||
|
QSpinBox *rows_height = new QSpinBox(diagram_size_box);
|
||||||
|
rows_height -> setMinimum(BorderInset::minRowsHeight());
|
||||||
|
rows_height -> setSingleStep(10);
|
||||||
|
rows_height -> setValue(rows_height_value);
|
||||||
|
rows_height -> setPrefix(tr("\327"));
|
||||||
|
rows_height -> setSuffix(tr("px"));
|
||||||
|
|
||||||
diagram_size_box_layout.addWidget(ds1, 0, 0);
|
diagram_size_box_layout.addWidget(ds1, 0, 0);
|
||||||
diagram_size_box_layout.addWidget(columns_count, 0, 1);
|
diagram_size_box_layout.addWidget(columns_count, 0, 1);
|
||||||
diagram_size_box_layout.addWidget(columns_width, 0, 2);
|
diagram_size_box_layout.addWidget(columns_width, 0, 2);
|
||||||
diagram_size_box_layout.addWidget(ds2, 1, 0);
|
diagram_size_box_layout.addWidget(ds2, 1, 0);
|
||||||
diagram_size_box_layout.addWidget(columns_height, 1, 1);
|
diagram_size_box_layout.addWidget(rows_count, 1, 1);
|
||||||
|
diagram_size_box_layout.addWidget(rows_height, 1, 2);
|
||||||
diagram_size_box_layout.setColumnStretch(0, 1);
|
diagram_size_box_layout.setColumnStretch(0, 1);
|
||||||
diagram_size_box_layout.setColumnStretch(1, 1);
|
diagram_size_box_layout.setColumnStretch(1, 1);
|
||||||
diagram_size_box_layout.setColumnStretch(2, 1);
|
diagram_size_box_layout.setColumnStretch(2, 1);
|
||||||
@@ -619,12 +627,14 @@ void DiagramView::dialogEditInfos() {
|
|||||||
if (
|
if (
|
||||||
columns_count_value != columns_count -> value() ||\
|
columns_count_value != columns_count -> value() ||\
|
||||||
columns_width_value != columns_width -> value() ||\
|
columns_width_value != columns_width -> value() ||\
|
||||||
columns_height_value != columns_height -> value()
|
rows_count_value != rows_count -> value() ||\
|
||||||
|
rows_height_value != rows_height -> value()
|
||||||
) {
|
) {
|
||||||
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
||||||
cbc -> columnsCountDifference = columns_count -> value() - columns_count_value;
|
cbc -> columnsCountDifference = columns_count -> value() - columns_count_value;
|
||||||
cbc -> columnsWidthDifference = columns_width -> value() - columns_width_value;
|
cbc -> columnsWidthDifference = columns_width -> value() - columns_width_value;
|
||||||
cbc -> columnsHeightDifference = columns_height -> value() - columns_height_value;
|
cbc -> rowsCountDifference = rows_count -> value() - rows_count_value;
|
||||||
|
cbc -> rowsHeightDifference = rows_height -> value() - rows_height_value;
|
||||||
scene -> undoStack().push(cbc);
|
scene -> undoStack().push(cbc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -658,18 +668,18 @@ void DiagramView::removeColumn() {
|
|||||||
/**
|
/**
|
||||||
Agrandit le schema en hauteur
|
Agrandit le schema en hauteur
|
||||||
*/
|
*/
|
||||||
void DiagramView::expand() {
|
void DiagramView::addRow() {
|
||||||
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
||||||
cbc -> columnsHeightDifference = 80.0;
|
cbc -> rowsCountDifference = 1;
|
||||||
scene -> undoStack().push(cbc);
|
scene -> undoStack().push(cbc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Retrecit le schema en hauteur
|
Retrecit le schema en hauteur
|
||||||
*/
|
*/
|
||||||
void DiagramView::shrink() {
|
void DiagramView::removeRow() {
|
||||||
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
ChangeBorderCommand *cbc = new ChangeBorderCommand(scene);
|
||||||
cbc -> columnsHeightDifference = -80.0;
|
cbc -> rowsCountDifference = -1;
|
||||||
scene -> undoStack().push(cbc);
|
scene -> undoStack().push(cbc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -897,8 +907,8 @@ void DiagramView::contextMenuEvent(QContextMenuEvent *e) {
|
|||||||
context_menu -> addAction(qde -> infos_diagram);
|
context_menu -> addAction(qde -> infos_diagram);
|
||||||
context_menu -> addAction(qde -> add_column);
|
context_menu -> addAction(qde -> add_column);
|
||||||
context_menu -> addAction(qde -> remove_column);
|
context_menu -> addAction(qde -> remove_column);
|
||||||
context_menu -> addAction(qde -> expand_diagram);
|
context_menu -> addAction(qde -> add_row);
|
||||||
context_menu -> addAction(qde -> shrink_diagram);
|
context_menu -> addAction(qde -> remove_row);
|
||||||
} else {
|
} else {
|
||||||
context_menu -> addAction(qde -> cut);
|
context_menu -> addAction(qde -> cut);
|
||||||
context_menu -> addAction(qde -> copy);
|
context_menu -> addAction(qde -> copy);
|
||||||
@@ -936,7 +946,7 @@ void DiagramView::mouseDoubleClickEvent(QMouseEvent *e) {
|
|||||||
// recupere le rectangle corespondant au cartouche
|
// recupere le rectangle corespondant au cartouche
|
||||||
QRectF inset_rect(
|
QRectF inset_rect(
|
||||||
Diagram::margin,
|
Diagram::margin,
|
||||||
Diagram::margin + bi.columnsHeight(),
|
Diagram::margin + bi.diagramHeight(),
|
||||||
bi.insetWidth(),
|
bi.insetWidth(),
|
||||||
bi.insetHeight()
|
bi.insetHeight()
|
||||||
);
|
);
|
||||||
@@ -949,6 +959,14 @@ void DiagramView::mouseDoubleClickEvent(QMouseEvent *e) {
|
|||||||
bi.columnsHeaderHeight()
|
bi.columnsHeaderHeight()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// recupere le rectangle correspondant aux en-tetes des lignes
|
||||||
|
QRectF rows_rect(
|
||||||
|
Diagram::margin,
|
||||||
|
Diagram::margin,
|
||||||
|
bi.rowsHeaderWidth(),
|
||||||
|
bi.diagramHeight()
|
||||||
|
);
|
||||||
|
|
||||||
// coordonnees du clic par rapport au schema
|
// coordonnees du clic par rapport au schema
|
||||||
QPointF click_pos = viewportTransform().inverted().map(e -> pos());
|
QPointF click_pos = viewportTransform().inverted().map(e -> pos());
|
||||||
|
|
||||||
@@ -959,7 +977,7 @@ void DiagramView::mouseDoubleClickEvent(QMouseEvent *e) {
|
|||||||
} else {
|
} else {
|
||||||
QGraphicsView::mouseDoubleClickEvent(e);
|
QGraphicsView::mouseDoubleClickEvent(e);
|
||||||
}
|
}
|
||||||
} else if (inset_rect.contains(click_pos) || columns_rect.contains(click_pos)) {
|
} else if (inset_rect.contains(click_pos) || columns_rect.contains(click_pos) || rows_rect.contains(click_pos)) {
|
||||||
// edite les proprietes du schema
|
// edite les proprietes du schema
|
||||||
dialogEditInfos();
|
dialogEditInfos();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ class DiagramView : public QGraphicsView {
|
|||||||
void dialogPrint();
|
void dialogPrint();
|
||||||
void addColumn();
|
void addColumn();
|
||||||
void removeColumn();
|
void removeColumn();
|
||||||
void expand();
|
void addRow();
|
||||||
void shrink();
|
void removeRow();
|
||||||
/// @return Le schema visualise par ce DiagramView
|
/// @return Le schema visualise par ce DiagramView
|
||||||
Diagram *diagram() { return(scene); }
|
Diagram *diagram() { return(scene); }
|
||||||
QETDiagramEditor *diagramEditor() const;
|
QETDiagramEditor *diagramEditor() const;
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ ExportDialog::ExportDialog(Diagram *dia, QWidget *parent) : QDialog(parent) {
|
|||||||
connect(draw_border, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(draw_border, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
connect(draw_inset, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(draw_inset, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
connect(draw_columns, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(draw_columns, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
|
connect(draw_rows, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
connect(draw_terminals, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(draw_terminals, SIGNAL(stateChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
connect(width, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(width, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
connect(height, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview()));
|
connect(height, SIGNAL(valueChanged(int) ), this, SLOT(slot_refreshPreview()));
|
||||||
@@ -158,6 +159,11 @@ QGroupBox *ExportDialog::setupOptionsGroupBox() {
|
|||||||
optionshlayout -> addWidget(draw_columns, 2, 1);
|
optionshlayout -> addWidget(draw_columns, 2, 1);
|
||||||
draw_columns -> setChecked(diagram -> border_and_inset.columnsAreDisplayed());
|
draw_columns -> setChecked(diagram -> border_and_inset.columnsAreDisplayed());
|
||||||
|
|
||||||
|
// dessiner les lignes
|
||||||
|
draw_rows = new QCheckBox(tr("Dessiner les lignes"), groupbox_options);
|
||||||
|
optionshlayout -> addWidget(draw_rows, 3, 1);
|
||||||
|
draw_rows -> setChecked(diagram -> border_and_inset.rowsAreDisplayed());
|
||||||
|
|
||||||
// dessiner les bornes
|
// dessiner les bornes
|
||||||
draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options);
|
draw_terminals = new QCheckBox(tr("Dessiner les bornes"), groupbox_options);
|
||||||
optionshlayout -> addWidget(draw_terminals, 3, 0);
|
optionshlayout -> addWidget(draw_terminals, 3, 0);
|
||||||
@@ -305,6 +311,7 @@ QImage ExportDialog::generateImage() {
|
|||||||
void ExportDialog::saveReloadDiagramParameters(bool save) {
|
void ExportDialog::saveReloadDiagramParameters(bool save) {
|
||||||
static bool state_drawBorder;
|
static bool state_drawBorder;
|
||||||
static bool state_drawColumns;
|
static bool state_drawColumns;
|
||||||
|
static bool state_drawRows;
|
||||||
static bool state_drawInset;
|
static bool state_drawInset;
|
||||||
static bool state_drawGrid;
|
static bool state_drawGrid;
|
||||||
static bool state_drawTerm;
|
static bool state_drawTerm;
|
||||||
@@ -314,6 +321,7 @@ void ExportDialog::saveReloadDiagramParameters(bool save) {
|
|||||||
// memorise les parametres relatifs au schema
|
// memorise les parametres relatifs au schema
|
||||||
state_drawBorder = diagram -> border_and_inset.borderIsDisplayed();
|
state_drawBorder = diagram -> border_and_inset.borderIsDisplayed();
|
||||||
state_drawColumns = diagram -> border_and_inset.columnsAreDisplayed();
|
state_drawColumns = diagram -> border_and_inset.columnsAreDisplayed();
|
||||||
|
state_drawRows = diagram -> border_and_inset.rowsAreDisplayed();
|
||||||
state_drawInset = diagram -> border_and_inset.insetIsDisplayed();
|
state_drawInset = diagram -> border_and_inset.insetIsDisplayed();
|
||||||
state_drawGrid = diagram -> displayGrid();
|
state_drawGrid = diagram -> displayGrid();
|
||||||
state_drawTerm = diagram -> drawTerminals();
|
state_drawTerm = diagram -> drawTerminals();
|
||||||
@@ -324,11 +332,13 @@ void ExportDialog::saveReloadDiagramParameters(bool save) {
|
|||||||
diagram -> setDisplayGrid(draw_grid -> isChecked());
|
diagram -> setDisplayGrid(draw_grid -> isChecked());
|
||||||
diagram -> border_and_inset.displayBorder(draw_border -> isChecked());
|
diagram -> border_and_inset.displayBorder(draw_border -> isChecked());
|
||||||
diagram -> border_and_inset.displayColumns(draw_columns -> isChecked());
|
diagram -> border_and_inset.displayColumns(draw_columns -> isChecked());
|
||||||
|
diagram -> border_and_inset.displayRows(draw_rows -> isChecked());
|
||||||
diagram -> border_and_inset.displayInset(draw_inset -> isChecked());
|
diagram -> border_and_inset.displayInset(draw_inset -> isChecked());
|
||||||
} else {
|
} else {
|
||||||
// restaure les parametres relatifs au schema
|
// restaure les parametres relatifs au schema
|
||||||
diagram -> border_and_inset.displayBorder(state_drawBorder);
|
diagram -> border_and_inset.displayBorder(state_drawBorder);
|
||||||
diagram -> border_and_inset.displayColumns(state_drawColumns);
|
diagram -> border_and_inset.displayColumns(state_drawColumns);
|
||||||
|
diagram -> border_and_inset.displayRows(state_drawRows);
|
||||||
diagram -> border_and_inset.displayInset(state_drawInset);
|
diagram -> border_and_inset.displayInset(state_drawInset);
|
||||||
diagram -> setDisplayGrid(state_drawGrid);
|
diagram -> setDisplayGrid(state_drawGrid);
|
||||||
diagram -> setDrawTerminals(state_drawTerm);
|
diagram -> setDrawTerminals(state_drawTerm);
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ class ExportDialog : public QDialog {
|
|||||||
QCheckBox *draw_border;
|
QCheckBox *draw_border;
|
||||||
QCheckBox *draw_inset;
|
QCheckBox *draw_inset;
|
||||||
QCheckBox *draw_columns;
|
QCheckBox *draw_columns;
|
||||||
|
QCheckBox *draw_rows;
|
||||||
QCheckBox *draw_terminals;
|
QCheckBox *draw_terminals;
|
||||||
QRadioButton *export_elements;
|
QRadioButton *export_elements;
|
||||||
QRadioButton *export_border;
|
QRadioButton *export_border;
|
||||||
|
|||||||
@@ -44,8 +44,11 @@ HotspotEditor::HotspotEditor(QWidget *parent) :
|
|||||||
sb_hotspot_y -> setSingleStep(10);
|
sb_hotspot_y -> setSingleStep(10);
|
||||||
|
|
||||||
diagram_scene = new Diagram();
|
diagram_scene = new Diagram();
|
||||||
diagram_scene -> border_and_inset.setNbColumns(4);
|
diagram_scene -> border_and_inset.setColumnsWidth(50.0);
|
||||||
diagram_scene -> border_and_inset.setColumnsHeight(140);
|
diagram_scene -> border_and_inset.setNbColumns(3);
|
||||||
|
diagram_scene -> border_and_inset.setRowsHeight(60.0);
|
||||||
|
diagram_scene -> border_and_inset.setNbRows(2);
|
||||||
|
diagram_scene -> border_and_inset.displayRows(false);
|
||||||
diagram_scene -> border_and_inset.displayInset(false);
|
diagram_scene -> border_and_inset.displayInset(false);
|
||||||
|
|
||||||
diagram_view = new QGraphicsView(diagram_scene);
|
diagram_view = new QGraphicsView(diagram_scene);
|
||||||
|
|||||||
@@ -194,8 +194,8 @@ void QETDiagramEditor::actions() {
|
|||||||
add_text = new QAction(QIcon(":/ico/textfield.png"), tr("Ajouter un champ de texte"), this);
|
add_text = new QAction(QIcon(":/ico/textfield.png"), tr("Ajouter un champ de texte"), this);
|
||||||
add_column = new QAction(QIcon(":/ico/add_col.png"), tr("Ajouter une colonne"), this);
|
add_column = new QAction(QIcon(":/ico/add_col.png"), tr("Ajouter une colonne"), this);
|
||||||
remove_column = new QAction(QIcon(":/ico/remove_col.png"), tr("Enlever une colonne"), this);
|
remove_column = new QAction(QIcon(":/ico/remove_col.png"), tr("Enlever une colonne"), this);
|
||||||
expand_diagram = new QAction( tr("Agrandir le sch\351ma"), this);
|
add_row = new QAction(QIcon(":/ico/add_row.png"), tr("Ajouter une ligne"), this);
|
||||||
shrink_diagram = new QAction( tr("R\351tr\351cir le sch\351ma"), this);
|
remove_row = new QAction(QIcon(":/ico/remove_row.png"), tr("Enlever une ligne"), this);
|
||||||
|
|
||||||
zoom_in = new QAction(QIcon(":/ico/viewmag+.png"), tr("Zoom avant"), this);
|
zoom_in = new QAction(QIcon(":/ico/viewmag+.png"), tr("Zoom avant"), this);
|
||||||
zoom_out = new QAction(QIcon(":/ico/viewmag-.png"), tr("Zoom arri\350re"), this);
|
zoom_out = new QAction(QIcon(":/ico/viewmag-.png"), tr("Zoom arri\350re"), this);
|
||||||
@@ -281,8 +281,8 @@ void QETDiagramEditor::actions() {
|
|||||||
infos_diagram -> setStatusTip(tr("\311dite les informations affich\351es par le cartouche"));
|
infos_diagram -> setStatusTip(tr("\311dite les informations affich\351es par le cartouche"));
|
||||||
add_column -> setStatusTip(tr("Ajoute une colonne au sch\351ma"));
|
add_column -> setStatusTip(tr("Ajoute une colonne au sch\351ma"));
|
||||||
remove_column -> setStatusTip(tr("Enl\350ve une colonne au sch\351ma"));
|
remove_column -> setStatusTip(tr("Enl\350ve une colonne au sch\351ma"));
|
||||||
expand_diagram -> setStatusTip(tr("Agrandit le sch\351ma en hauteur"));
|
add_row -> setStatusTip(tr("Agrandit le sch\351ma en hauteur"));
|
||||||
shrink_diagram -> setStatusTip(tr("R\351tr\351cit le sch\351ma en hauteur"));
|
remove_row -> setStatusTip(tr("R\351tr\351cit le sch\351ma en hauteur"));
|
||||||
|
|
||||||
zoom_in -> setStatusTip(tr("Agrandit le sch\351ma"));
|
zoom_in -> setStatusTip(tr("Agrandit le sch\351ma"));
|
||||||
zoom_out -> setStatusTip(tr("R\351tr\351cit le sch\351ma"));
|
zoom_out -> setStatusTip(tr("R\351tr\351cit le sch\351ma"));
|
||||||
@@ -356,8 +356,8 @@ void QETDiagramEditor::actions() {
|
|||||||
connect(add_text, SIGNAL(triggered()), this, SLOT(slot_addText()) );
|
connect(add_text, SIGNAL(triggered()), this, SLOT(slot_addText()) );
|
||||||
connect(add_column, SIGNAL(triggered()), this, SLOT(slot_addColumn()) );
|
connect(add_column, SIGNAL(triggered()), this, SLOT(slot_addColumn()) );
|
||||||
connect(remove_column, SIGNAL(triggered()), this, SLOT(slot_removeColumn()) );
|
connect(remove_column, SIGNAL(triggered()), this, SLOT(slot_removeColumn()) );
|
||||||
connect(expand_diagram, SIGNAL(triggered()), this, SLOT(slot_expand()) );
|
connect(add_row, SIGNAL(triggered()), this, SLOT(slot_addRow()) );
|
||||||
connect(shrink_diagram, SIGNAL(triggered()), this, SLOT(slot_shrink()) );
|
connect(remove_row, SIGNAL(triggered()), this, SLOT(slot_removeRow()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -419,8 +419,8 @@ void QETDiagramEditor::menus() {
|
|||||||
menu_edition -> addAction(infos_diagram);
|
menu_edition -> addAction(infos_diagram);
|
||||||
menu_edition -> addAction(add_column);
|
menu_edition -> addAction(add_column);
|
||||||
menu_edition -> addAction(remove_column);
|
menu_edition -> addAction(remove_column);
|
||||||
menu_edition -> addAction(expand_diagram);
|
menu_edition -> addAction(add_row);
|
||||||
menu_edition -> addAction(shrink_diagram);
|
menu_edition -> addAction(remove_row);
|
||||||
|
|
||||||
// menu Configurer > Afficher
|
// menu Configurer > Afficher
|
||||||
QMenu *display_toolbars = createPopupMenu();
|
QMenu *display_toolbars = createPopupMenu();
|
||||||
@@ -767,8 +767,8 @@ void QETDiagramEditor::slot_updateActions() {
|
|||||||
add_text -> setEnabled(opened_document);
|
add_text -> setEnabled(opened_document);
|
||||||
add_column -> setEnabled(opened_document);
|
add_column -> setEnabled(opened_document);
|
||||||
remove_column -> setEnabled(opened_document);
|
remove_column -> setEnabled(opened_document);
|
||||||
expand_diagram -> setEnabled(opened_document);
|
add_row -> setEnabled(opened_document);
|
||||||
shrink_diagram -> setEnabled(opened_document);
|
remove_row -> setEnabled(opened_document);
|
||||||
|
|
||||||
// affiche les actions correspondant au diagram view en cours
|
// affiche les actions correspondant au diagram view en cours
|
||||||
if (sv) undo_group.setActiveStack(&(sv -> diagram() -> undoStack()));
|
if (sv) undo_group.setActiveStack(&(sv -> diagram() -> undoStack()));
|
||||||
@@ -957,45 +957,45 @@ void QETDiagramEditor::slot_updateWindowsMenu() {
|
|||||||
Edite les informations du schema en cours
|
Edite les informations du schema en cours
|
||||||
*/
|
*/
|
||||||
void QETDiagramEditor::slot_editInfos() {
|
void QETDiagramEditor::slot_editInfos() {
|
||||||
DiagramView *sv = currentDiagram();
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
if (!sv) return;
|
dv -> dialogEditInfos();
|
||||||
sv -> dialogEditInfos();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Ajoute une colonne au schema en cours
|
Ajoute une colonne au schema en cours
|
||||||
*/
|
*/
|
||||||
void QETDiagramEditor::slot_addColumn() {
|
void QETDiagramEditor::slot_addColumn() {
|
||||||
DiagramView *sv = currentDiagram();
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
if (!sv) return;
|
dv -> addColumn();
|
||||||
sv -> addColumn();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Enleve une colonne au schema en cours
|
Enleve une colonne au schema en cours
|
||||||
*/
|
*/
|
||||||
void QETDiagramEditor::slot_removeColumn() {
|
void QETDiagramEditor::slot_removeColumn() {
|
||||||
DiagramView *sv = currentDiagram();
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
if (!sv) return;
|
dv -> removeColumn();
|
||||||
sv -> removeColumn();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Allonge le schema en cours en hauteur
|
Allonge le schema en cours en hauteur
|
||||||
*/
|
*/
|
||||||
void QETDiagramEditor::slot_expand() {
|
void QETDiagramEditor::slot_addRow() {
|
||||||
DiagramView *sv = currentDiagram();
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
if (!sv) return;
|
dv -> addRow();
|
||||||
sv -> expand();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Retrecit le schema en cours en hauteur
|
Retrecit le schema en cours en hauteur
|
||||||
*/
|
*/
|
||||||
void QETDiagramEditor::slot_shrink() {
|
void QETDiagramEditor::slot_removeRow() {
|
||||||
DiagramView *sv = currentDiagram();
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
if (!sv) return;
|
dv -> removeRow();
|
||||||
sv -> shrink();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -92,8 +92,8 @@ class QETDiagramEditor : public QMainWindow {
|
|||||||
void slot_updateWindowsMenu();
|
void slot_updateWindowsMenu();
|
||||||
void slot_addColumn();
|
void slot_addColumn();
|
||||||
void slot_removeColumn();
|
void slot_removeColumn();
|
||||||
void slot_expand();
|
void slot_addRow();
|
||||||
void slot_shrink();
|
void slot_removeRow();
|
||||||
void slot_editConductor();
|
void slot_editConductor();
|
||||||
void slot_resetConductors();
|
void slot_resetConductors();
|
||||||
void slot_editDefaultConductors();
|
void slot_editDefaultConductors();
|
||||||
@@ -133,8 +133,8 @@ class QETDiagramEditor : public QMainWindow {
|
|||||||
QAction *add_text; ///< Passe en mode "Ajout de texte"
|
QAction *add_text; ///< Passe en mode "Ajout de texte"
|
||||||
QAction *add_column; ///< Ajoute une colonne au schema
|
QAction *add_column; ///< Ajoute une colonne au schema
|
||||||
QAction *remove_column; ///< Enleve une colonne du schema
|
QAction *remove_column; ///< Enleve une colonne du schema
|
||||||
QAction *expand_diagram; ///< Augmente la hauteur du schema
|
QAction *add_row; ///< Augmente la hauteur du schema
|
||||||
QAction *shrink_diagram; ///< Reduit la hauteur du schema
|
QAction *remove_row; ///< Reduit la hauteur du schema
|
||||||
QAction *zoom_in; ///< Zoome avant
|
QAction *zoom_in; ///< Zoome avant
|
||||||
QAction *zoom_out; ///< Zoome arriere
|
QAction *zoom_out; ///< Zoome arriere
|
||||||
QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements
|
QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements
|
||||||
|
|||||||
Reference in New Issue
Block a user