42 tableWidget->setColumnCount(2);
44 QStringList horizontalHeaders;
45 horizontalHeaders.append(
"Name");
46 horizontalHeaders.append(
"Value");
47 tableWidget->setHorizontalHeaderLabels(horizontalHeaders);
49 tableWidget->verticalHeader()->hide();
52 if (!properties)
return;
53 tableWidget->setRowCount(properties->size());
57 it != properties->end(); ++it, ++r) {
58 QTableWidgetItem* textItem =
new QTableWidgetItem;
60 textItem->setFlags(textItem->flags() & ~Qt::ItemIsEditable);
61 tableWidget->setItem(r, 0, textItem);
66 QTableWidgetItem* checkItem =
new QTableWidgetItem;
67 checkItem->setText(
"enabled");
68 checkItem->setFlags(checkItem->flags() | Qt::ItemIsUserCheckable);
70 checkItem->setCheckState(Qt::Checked);
72 checkItem->setCheckState(Qt::Unchecked);
73 tableWidget->setItem(r, 1, checkItem);
75 QLineEdit* editor =
new QLineEdit(tableWidget);
76 editor->setText(QString::fromStdString(it->second->toString()));
78 editor->setValidator(
new QIntValidator(editor));
80 editor->setValidator(
new QDoubleValidator(editor));
82 editor->setValidator(
new QDoubleValidator(editor));
84 tableWidget->setCellWidget(r, 1, editor);
87 tableWidget->resizeColumnToContents(0);
91 assert(tableWidget->rowCount() == (
int)
_propNames.size());
93 for (
int r = 0; r < tableWidget->rowCount(); ++r) {
96 if (!baseProp)
continue;
100 QTableWidgetItem* checkItem = tableWidget->item(r, 1);
101 prop->
setValue(checkItem->checkState() == Qt::Checked);
104 dynamic_cast<QLineEdit*
>(tableWidget->cellWidget(r, 1));
105 bool status = baseProp->
fromString(editor->text().toStdString());
107 cerr <<
"Warning: unable to set property " << baseProp->
name() << endl;