Mercurial > libervia-backend
diff frontends/src/tools/xmlui.py @ 2036:db3bbbd745e4
frontends (xmlui): added a user_action attribute:
this attribute indicate if the data is a result of a user interaction or an event from the backend (in the later case, the frontend can choose to avoid interrupting the user).
Internally (in XMLUI), "FROM_BACKEND" is added to XMLUI.flags if the UI result from a backend event.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 21 Aug 2016 12:07:31 +0200 |
parents | 9ad1a06ed0f8 |
children | cbf3af02e941 |
line wrap: on
line diff
--- a/frontends/src/tools/xmlui.py Sun Aug 21 12:03:34 2016 +0200 +++ b/frontends/src/tools/xmlui.py Sun Aug 21 12:07:31 2016 +0200 @@ -204,7 +204,7 @@ class NoteDialog(Dialog): - """Dialog with a OK/Cancel type configuration""" + """Short message which doesn't need user confirmation to disappear""" pass @@ -237,6 +237,7 @@ @param title: force the title, or use XMLUI one if None @param flags: list of string which can be: - NO_CANCEL: the UI can't be cancelled + - FROM_BACKEND: the UI come from backend (i.e. it's not the direct result of user operation) @param callback(callable, None): if not None, will be used with launchAction: - if None is used, default behaviour will be used (closing the dialog and calling host.actionManager) - if a callback is provided, it will be used instead, so you'll have to manage @@ -253,6 +254,10 @@ self.callback = callback or self._defaultCb self.profile = profile + @property + def user_action(self): + return "FROM_BACKEND" not in self.flags + def _defaultCb(self, data, cb_id, profile): # TODO: when XMLUI updates will be managed, the _xmluiClose # must be called only if there is not update