Stefan S. created CAY-2680:
------------------------------
Summary: Text Fields in Modeler loose modification when switching
to another tab or panel
Key: CAY-2680
URL: https://issues.apache.org/jira/browse/CAY-2680
Project: Cayenne
Issue Type: Bug
Components: Modeler
Affects Versions: 4.1
Reporter: Stefan S.
Attachments: cayenne_modeler_text_adapter_patch.diff
Observation:
Several (single line) text fields in Modeler forget changes or insertions of
text if the user switches to a different panel or tab without explicitly
leaving (bluring) the text field.
Expectation:
Text changes shall be kept also in those cases.
Background:
It hit me several times, when, e.g. walking through a list of entities to add
comments or modify other texts, that the changes are dismissed due to switching
to the next entity or a different 'area' of the application. To keep the
changes, it is necessary to click onto a different UI element within the same
panel. It seems that changes of single line texts are 'taken over' only on
'focus lost' event, which are not fired in the described cases.
As a simple solution, I defaulted 'checkOnTyping' to 'true' in the standard
constructor of
{code:java}
org.apache.cayenne.modeler.util.TextAdapter
{code}
which is more a quick hack, since it might not cover all relevant instances and
introduces some potential processing overhead when typing. A better approach
would probably be to trigger the commit of changed texts in listeners of
appropriate events. Nevertheless no negative impact to performance was observed
using this approach.
The attached patch provides this change AND the propagation of constructor
arguments, which have originally been dismissed and replaced by hardcode values.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)