Gui: property view related changes
* Display property from linked object, colored green, * Change DlgPropertyLink to support external linking and sub-object selection * Improve large selection performance by using a timer * Improve TAB key behavior in property editor * Add context menu to show hidden properties, change property status, set expression on any and property, and add/remove dynamic properties * Optimize expression completer model construction, as the original implementation gets prohibitively slow for moderate number of objects.
This commit is contained in:
@@ -90,6 +90,11 @@ DlgExpressionInput::DlgExpressionInput(const App::ObjectIdentifier & _path,
|
||||
ui->horizontalSpacer_3->changeSize(0, 2);
|
||||
ui->verticalLayout->setContentsMargins(9, 9, 9, 9);
|
||||
this->adjustSize();
|
||||
// It is strange that (at least on Linux) DlgExpressionInput will shrink
|
||||
// to be narrower than ui->expression after calling adjustSize() above.
|
||||
// Why?
|
||||
if(this->width() < ui->expression->width() + 18)
|
||||
this->resize(ui->expression->width()+18,this->height());
|
||||
}
|
||||
ui->expression->setFocus();
|
||||
}
|
||||
@@ -138,10 +143,12 @@ void DlgExpressionInput::textChanged(const QString &text)
|
||||
if (n) {
|
||||
Base::Quantity value = n->getQuantity();
|
||||
|
||||
if (!value.getUnit().isEmpty() && value.getUnit() != impliedUnit)
|
||||
throw Base::UnitsMismatchError("Unit mismatch between result and required unit");
|
||||
if(!impliedUnit.isEmpty()) {
|
||||
if (!value.getUnit().isEmpty() && value.getUnit() != impliedUnit)
|
||||
throw Base::UnitsMismatchError("Unit mismatch between result and required unit");
|
||||
|
||||
value.setUnit(impliedUnit);
|
||||
value.setUnit(impliedUnit);
|
||||
}
|
||||
|
||||
ui->msg->setText(value.getUserString());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user