PIVariantEdit::Enum full edit mode implement

This commit is contained in:
2022-12-17 23:52:14 +03:00
parent 5327e4f7b0
commit e0b4dc06db
9 changed files with 398 additions and 12 deletions

View File

@@ -240,16 +240,14 @@ void PIValueTreeEdit::actionTriggered(QToolButton * button, const PIString & vn,
comm_labels.remove(vt.name());
} else {
auto * ve = new PIVariantEdit();
ve->setAttributes(vt.attributes());
ve->setValue(vt.value());
applyVariantEdit(ve, vt);
grid->replace(grid->getRow(button), PI2QString(vt.name()), ve, PI2QString(vt.comment()));
value_edits[vt.name()] = ve;
}
ve = nullptr;
}
if (ve) {
ve->setAttributes(vt.attributes());
ve->setValue(vt.value());
applyVariantEdit(ve, vt);
}
if (now_label) {
label_labels[vt.name()]->setStyleSheet(PI2QString(vt.attribute(Attribute::style).toString()));
@@ -301,8 +299,7 @@ PIValueTreeEdit * PIValueTreeEdit::addTreeEdit(const PIValueTree & vt) {
void PIValueTreeEdit::addValueEdit(const PIValueTree & vt) {
auto * ve = new PIVariantEdit();
ve->setAttributes(vt.attributes());
ve->setValue(vt.value());
applyVariantEdit(ve, vt);
grid->add(vt, PI2QString(vt.name()), ve, PI2QString(vt.comment()));
value_edits[vt.name()] = ve;
}
@@ -332,6 +329,13 @@ QLabel * PIValueTreeEdit::newLabel(const PIValueTree & vt) {
}
void PIValueTreeEdit::applyVariantEdit(PIVariantEdit * ve, const PIValueTree & vt) {
ve->setFullEditMode(is_full_edit);
ve->setAttributes(vt.attributes());
ve->setValue(vt.value());
}
void PIValueTreeEdit::newRequest(NewType type) {
PIString nn = Q2PIString(QInputDialog::getText(nullptr, tr("New item"), tr("Input new name:")));
if (nn.isEmpty()) return;