switch (theEvent->key()) {
case Qt::Key_Enter:
case Qt::Key_Return:
+ emit keyReleased(theEvent);
// do not react to the Enter key, the property panel processes it
return;
break;
}
}
-bool ExpressionEditor::focusNextPrevChild(bool theIsNext)
-{
- if (myIsModified)
- emit editingFinished();
- emit valueStored();
- emit focusNextPrev();
- return QPlainTextEdit::focusNextPrevChild(theIsNext);
-}
-
void ExpressionEditor::onTextChanged()
{
myIsModified = true;
this->setLayout(aMainLay);
connect(myEditor, SIGNAL(valueModified()), this, SIGNAL(valuesModified()));
- //connect(myEditor, SIGNAL(editingFinished()), this, SLOT(onTextChanged()));
- connect(myEditor, SIGNAL(valueStored()), this, SLOT(onTextChanged()));
- connect(myEditor, SIGNAL(focusNextPrev()), this, SIGNAL(focusNextPrev()));
+ connect(myEditor, SIGNAL(keyReleased(QKeyEvent*)), this, SIGNAL(keyReleased(QKeyEvent*)));
}
ModuleBase_WidgetExprEditor::~ModuleBase_WidgetExprEditor()
{
}
+void ModuleBase_WidgetExprEditor::initializeValueByActivate()
+{
+}
+
bool ModuleBase_WidgetExprEditor::storeValueCustom() const
{
// A rare case when plugin was not loaded.
return false;
DataPtr aData = myFeature->data();
AttributeStringPtr aStringAttr = aData->string(attributeID());
+
QString aWidgetValue = myEditor->toPlainText();
aStringAttr->setValue(aWidgetValue.toStdString());
updateObject(myFeature);
bool ModuleBase_WidgetExprEditor::processEnter()
{
- bool isModified = myEditor->isModified();
+ //bool isModified = myEditor->isModified();
+ bool isModified = getValueState() == ModifiedInPP;
if (isModified) {
emit valuesChanged();
- myEditor->clearModified();
+ //myEditor->clearModified();
myEditor->selectAll();
}
return isModified;