8 #define TR(id) OLocalizator::getString("TabPointsWidget", (id))
12 if (event->type() == QEvent::KeyPress)
14 QKeyEvent* keyEvent =
static_cast<QKeyEvent*
>(event);
15 if (keyEvent->key() == Qt::Key_Comma)
17 keyEvent =
new QKeyEvent(QEvent::KeyPress, Qt::Key_Period, Qt::NoModifier, 0, 0, 0,
".");
18 QApplication::sendEvent(
object, keyEvent);
22 return QStyledItemDelegate::eventFilter(
object, event);
26 : QTableWidget(parent), _listPoints(listPoints)
31 QStringList stringList;
32 stringList.append(
"X");
33 stringList.append(
"Y");
34 stringList.append(
"Z");
36 setHorizontalHeaderLabels(stringList);
38 setSelectionBehavior(QAbstractItemView::SelectRows);
53 setItem(row, 0,
new QTableWidgetItem((QString().setNum(
_listPoints[row]._x,
'f', 2))));
54 setItem(row, 1,
new QTableWidgetItem((QString().setNum(
_listPoints[row]._y,
'f', 2))));
55 setItem(row, 2,
new QTableWidgetItem((QString().setNum(
_listPoints[row]._z,
'f', 2))));
66 double x(0.), y(0.), z(0.);
70 for (
int row = 0; row < rowCount(); row++)
72 x = item(row, 0)->text().toDouble(&ok);
73 y = item(row, 1)->text().toDouble(&ok);
74 z = item(row, 2)->text().toDouble(&ok);
87 item(row, col)->text().toDouble(&ok);
92 item(row, col)->setText(QString().setNum(0.0,
'f', 2));
98 item(row, 0)->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled);
99 item(row, 1)->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled);
100 item(row, 2)->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled);
105 setItem(row, 0,
new QTableWidgetItem((QString().setNum(0.0,
'f', 2))));
106 setItem(row, 1,
new QTableWidgetItem((QString().setNum(0.0,
'f', 2))));
107 setItem(row, 2,
new QTableWidgetItem((QString().setNum(0.0,
'f', 2))));
112 QPoint point = mapFrom(
this, e->pos());
113 if ((point.x() >= 0) && (point.y() >= 0) && (point.x() <= width()) && (point.y() <= height()))
115 QPoint resPoint = QPoint(point.x(), point.y());
116 QTableWidgetItem* element = itemAt(resPoint);
119 int row = indexAt(resPoint).row();
120 row = row >= 0 ? row : 0;
121 row = row < rowCount() ? row : rowCount() - 1;
123 int col = indexAt(resPoint).column();
124 col = col >= 0 ? col : 0;
125 col = col < columnCount() ? col : columnCount() - 1;
127 QAction *insertLine = NULL, *appendLine = NULL, *deleteLine = NULL;
129 QMenu* pPopup =
new QMenu(
this);
131 insertLine = pPopup->addAction(
TR(
"id_insert_row_item"));
132 appendLine = pPopup->addAction(
TR(
"id_append_row_item"));
133 deleteLine = pPopup->addAction(
TR(
"id_delete_row_item"));
135 QAction* ret = pPopup->exec(mapToGlobal(point));
137 if (ret == insertLine)
144 else if (ret == appendLine)
146 setRowCount(rowCount() + 1);
147 int lastRow = rowCount() - 1;
152 else if (ret == deleteLine)
std::vector< TYPoint > TYTabPoint
Collection de TYPoint.
bool eventFilter(QObject *object, QEvent *event) override