mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
Les proprietes des elements affichent desormais la position de l'element dans la grille.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@662 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
#include <QPainter>
|
||||
#include "borderinset.h"
|
||||
#include "diagramposition.h"
|
||||
#include "qetapp.h"
|
||||
#include "math.h"
|
||||
|
||||
@@ -426,6 +427,36 @@ void BorderInset::adjustInsetToColumns() {
|
||||
setInsetWidth(diagramWidth());
|
||||
}
|
||||
|
||||
/**
|
||||
@param pos Position cartesienne (ex : 10.3, 45.2) a transformer en position
|
||||
dans la grille (ex : B2)
|
||||
@return la position dans la grille correspondant a pos
|
||||
*/
|
||||
DiagramPosition BorderInset::convertPosition(const QPointF &pos) {
|
||||
// recupere le rectangle quadrille par les en-tetes
|
||||
QRectF grid_rect(
|
||||
rowsHeaderWidth(),
|
||||
columnsHeaderHeight(),
|
||||
diagramWidth(),
|
||||
diagramHeight()
|
||||
);
|
||||
|
||||
if (!grid_rect.contains(pos)) {
|
||||
return(DiagramPosition("", 0));
|
||||
}
|
||||
|
||||
QPointF relative_pos = pos - grid_rect.topLeft();
|
||||
int row_number = ceil(relative_pos.x() / columnsWidth());
|
||||
int column_number = ceil(relative_pos.y() / rowsHeight());
|
||||
|
||||
QString letter = "A";
|
||||
for (int i = 1 ; i < column_number ; ++ i) {
|
||||
letter = incrementLetters(letter);
|
||||
}
|
||||
|
||||
return(DiagramPosition(letter, row_number));
|
||||
}
|
||||
|
||||
QString BorderInset::incrementLetters(const QString &string) {
|
||||
if (string.isEmpty()) {
|
||||
return("A");
|
||||
|
||||
Reference in New Issue
Block a user