Commit graph libervia-backend/frontends/src/primitivus/xmlui.py
Author SHA1 Message Date
Goffi
506f948214 core, frontends (xmlui): new LabelContainer:
LabelContainer is like a PairContainer where first widget can only be LabelWidget or EmptyWidget. This case is the most common, and allow to generate better code when label can be associated to widget (e.g. in HTML).
2017-09-24 16:36:11 +02:00
Goffi
f237685c1a Primitivus (xmlui): use constants for BOOL_TRUE and BOOL_FALSE value 2016-12-20 21:06:42 +01:00
Goffi
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02:00
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
Goffi
e847a9f001 primitivus: fixed showDialog and XMLUI message dialog 2015-11-17 12:28:45 +01:00
Goffi
fd271b69ba primitivus (xmlui): fixed closing on popup panel "OK" button press 2015-11-16 09:25:05 +01:00
Goffi
73139e59ba Primitivus: better popups handling:
- widget to remove can now be specified in removePopUp: if it is not the current one, it will be removed from queue
    - Primitivus.Alert method is a shortcut to display an Alert which will be removed on "OK" press
    - showDialog is now obsolete and removed, if generic dialog creation is needed, XMLUI can be used
2015-11-11 18:32:59 +01:00
Goffi
719a624892 quick_frontend, primitivus (xmlui): removed _xmluiClose from workflow were submit is triggered, as submit launch the callback which close the dialog itself + fixed dialogs _xmluiClose 2015-11-11 18:29:32 +01:00
Goffi
db35bfb674 primitivus (XMLUI): manage message in FileDialog /!\ Urwid SàText need to be updated /!\ 2015-09-25 19:19:12 +02:00
souliane
a90bcacfe9 tools, frontends (xmlui): allow to select a tab when adding it 2015-08-21 14:17:41 +02:00
Goffi
9df7cd6d33 frontends, primitivus: JidsList XMLUI widget management /!\ urwid SàText must be updated 2015-08-20 18:36:53 +02:00
Goffi
7f14e1865d core , privmitivus (xmlui): add jidInput handling, with a simple String for now 2015-08-18 10:35:44 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
Goffi
e4708c9cbb quick_frontend, primitivus: multi-profiles refactoring part 1 (big commit, sorry :p):
This refactoring allow primitivus to manage correctly several profiles at once, with various other improvments:
    - profile_manager can now plug several profiles at once, requesting password when needed. No more profile plug specific method is used anymore in backend, instead a "validated" key is used in actions
    - Primitivus widget are now based on a common "PrimitivusWidget" classe which mainly manage the decoration so far
    - all widgets are treated in the same way (contactList, Chat, Progress, etc), no more chat_wins specific behaviour
    - widgets are created in a dedicated manager, with facilities to react on new widget creation or other events
    - quick_frontend introduce a new QuickWidget class, which aims to be as generic and flexible as possible. It can manage several targets (jids or something else), and several profiles
    - each widget class return a Hash according to its target. For example if given a target jid and a profile, a widget class return a hash like (target.bare, profile), the same widget will be used for all resources of the same jid
    - better management of CHAT_GROUP mode for Chat widgets
    - some code moved from Primitivus to QuickFrontend, the final goal is to have most non backend code in QuickFrontend, and just graphic code in subclasses
    - no more (un)escapePrivate/PRIVATE_PREFIX
    - contactList improved a lot: entities not in roster and special entities (private MUC conversations) are better managed
    - resources can be displayed in Primitivus, and their status messages
    - profiles are managed in QuickFrontend with dedicated managers


This is work in progress, other frontends are broken. Urwid SàText need to be updated. Most of features of Primitivus should work as before (or in a better way ;))
2014-12-10 19:00:09 +01:00
souliane
ac59d061f4 memory (params), tools (xml_tools), plugins, frontends: add "int" parameter type with "min" and "max" attributes 2014-10-03 12:27:43 +02:00
Goffi
171f1677d2 Primitivus (xmlui): fixed window closing on save params + removed now unused onConfigureRoom in Chat 2014-09-08 18:32:36 +02:00
Goffi
b6563c596b frontends: XMLUI refactoring + dialogs:
- there are now XMLUIPanel and XMLUIDialog both inheriting from XMLUIBase
    - following dialogs are managed:
        - MessageDialog
        - NoteDialog
        - ConfirmDialog
        - FileDialog
    - XMLUI creation is now made using xmlui.create(...) instead of instanciating directly XMLUI
    - classes must be registed in frontends
    - "parent" attribute renamed to "_xmlui_parent" to avoid name conflicts with frontends toolkits
2014-08-13 14:48:49 +02:00
Goffi
e002d55880 frontends (XMLUI): implementation of read_only attributes for widgets String, TextBox, Password and Bool 2014-06-25 14:01:56 +02:00
Goffi
b207fdd6c9 core (XMLUI): management of text-multi in _dataFormField2XMLUIData 2014-06-14 17:25:08 +02:00
Goffi
39989cc985 primitivus: use of new logging system:
- default output is \\memory
    - logs can be seen with :messages command
    - now useless writeLog method has been removed
2014-05-05 20:12:19 +02:00
souliane
35d66de820 frontends (xmlui): add setter methods + fixes:
- add _xmluiSetValue for all widgets + _xmluiAddValues for ListWidget
    - fix popup dialog OK button + _xmluiOnClick for ButtonWidget
2014-04-03 14:49:05 +02:00
souliane
ec579aff81 reverted changeset 5c7707c958d8 (revision 969) 2014-04-03 14:38:48 +02:00
souliane
6608eafb9f tools, frontends (xmlui): add setter methods for widgets + new widget InternalButton to process UI operations 2014-04-01 21:30:21 +02:00
souliane
608e2ba9fa tools, frontends, memory: param definition and XMLUI handle multi-selection for list widgets:
- we need to update urwid_satext to revision 79
                          - no more "value" attribute value in the "list" element, use
                            HTML-style "select" attribute in the "option" elements instead
                          - /!\ param saving do not handle multiple values yet!
2014-04-01 21:21:13 +02:00
Goffi
ab9b658e52 primitivus: PrimitivusVerticalContainer box widgets management:
/!\ Urwid SàText need to be updated /!\
    - updated PrimitivusTabsContainer._xmluiAddTab to manage Urwid SàText changes
    - if a box widget is added to PrimitivusVerticalContainer, if will use the full available space if it is alone, else it we have a height of 5 rows
2014-03-21 15:04:13 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
18aeb3a6aa core (XMLUI), frontends: advancedListContainer part 2: 2014-02-04 18:21:51 +01:00
Goffi
edf3e1bc87 XMLUI (core, frontends): added JidWidget and DividerWidget + popup type + some bugfixes:
- JidWidget is a text container a Jabber ID, this can be used by frontends for special treatment (e.g.: possibility to click on it)
    - DividerWidget is a separator, like a blank or dashed line
    - popup type is similar to normal window, but designed for a smaller popping window
2014-02-04 18:19:32 +01:00
Goffi
9661c1c2c5 core, frontends: implementation of AdvancedListContainer first draft + misc:
/!\ Urwid SàText must be updated as the new TableContainer is used /!\
    - fixed button value in paramsXML2XMLUI
    - new Urwid SàText TabContainer is used in Primitivus for PairsContainer and AdvancedListContainer
    - fixed in core's XMLUI AdvanceListContainer
2014-02-04 18:19:29 +01:00
Goffi
b3fb68cb63 core, frontends: XMLUI refactoring:
- XMLUI now use objects with 2 main classes: widgets (button, label, etc), and container which contain widgets according to a layout
    - widgets and containers classes are found through introspection, thereby it's really easy to add a new one
    - there is still the AddWidgetName helper, for example AddText('jid', 'test@example.net') will add a StringWidget with name "jid" and default value "test@example.net"
    - container can be inside other containers. changeContainer change the first parent container
2014-02-04 18:19:00 +01:00
Goffi
256a110471 core, frontends: XMLUI refactoring:
- now there is a base XMLUI class. Frontends inherits from this class, and add their specific widgets/containers/behaviour
    - wix: param.py has been removed, as the same behaviour has been reimplemented through XMLUI
    - removed "misc" argument in XMLUI.__init__
    - severals things are broken (gateway, directory search), following patches will fix them
    - core: elements names in xml_tools.dataForm2XMLUI now use a construction with category_name/param_name to avoid name conflicts (could happen with 2 parameters of the same name in differents categories).
2014-02-04 18:02:35 +01:00
Goffi
5a00dc9503 core: i18n refactoring:
- _() is no more installed in __builtin__
    - instead, there is a new sat.core.i18n module
    - added D_() method for deferred translation
    - languageSwitch method allow to dynamically change translation language
    - import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
2013-12-29 17:06:01 +01:00
Goffi
3857fff974 core (xml_tools), frontends: added a prefix to XMLUI form names in result data, to avoid name conflicts (e.g.: if a form has name "submit", and this name is also used internally by SàT) 2013-12-24 15:43:22 +01:00
Goffi
80a7423f02 backend, frontends: XMLUI refactoring:
- session_id is resent in result data if found in incoming data
    - list now use distinct labels and values (label is the one displayed, value is the one used for everything else)
    - misc refactoring

/!\ urwid SàtExt must be updated ! /!\
2013-12-24 15:19:18 +01:00
Goffi
069a250b04 backend, frontends: callbacks refactoring:
- launchAction is now async, and return a dictionary for its result
    - no more action_id, actionResult* are deprecated
    - callback system is about to be unified
2013-12-24 15:19:08 +01:00
souliane
a154d9acbb primitivus card_game: bug fix and improvement
- changeset 56f8a9c99194 introduced a bug because it connected all the list widgets to the parameter change callback. This is not OK because the Tarot is using a list form that is not a parameter.
- some list processing was raising an error when the data is not initialized
- display the "choose contrat" dialog with valign='top' to allow the user see his hand while taking the decision.
2013-10-28 19:04:49 +01:00
souliane
010e305d53 core, primitivus: better support for parameter of type list 2013-10-02 17:38:29 +02:00
souliane
2bf3694fd0 core: added the security_limit to setParam
- params with a security greater than security_limit can not be modified
- special value: security_limit < 0 disable the check (all params can be modified)
2013-09-07 02:03:17 +02:00
Goffi
7f612cb9e1 primitivus: really basic implementation of advanced list.
Advanced list are here to allow complex lists, with columns, ordering, customization à la amarok 2. This implementation is just a first draft which show the text version of items in a List.
2013-09-08 18:05:19 +02:00
Goffi
fc74cc35d0 Primitivus: fixed xmlui/chat bad contents change 2013-03-10 20:54:45 +01:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +01:00
Goffi
05c53bf2d6 primitivus: fixed urwid issues with recent urwid versions
fix bug 18
2013-02-24 13:57:37 +01:00
Emmanuel Gil Peyrot
27b3592e16 Remove trailing whitespaces. 2013-01-18 17:55:34 +01:00
Goffi
def79e44cd dates update 2013-01-07 23:30:13 +01:00
Goffi
d66412cb72 primitivus, wix: fixed bad defaults values for XMLUI class 2012-12-09 23:25:51 +01:00
Goffi
c5a930b627 Licence modification: the full project is now under AGPL v3+ instead of GPL v3+ 2012-08-01 22:53:02 +02:00
Goffi
21dbb4473a copyleft date update 2012-03-06 09:07:24 +01:00
Goffi
02509cdeb1 2011 copyright upgrade 2011-01-05 18:52:38 +01:00
Goffi
ff07dfb2b8 distutils installation script, draft 2011-01-05 01:56:36 +01:00
Goffi
e4452c4b03 Files reorganisation 2010-12-29 01:06:29 +01:00
Renamed from frontends/primitivus/xmlui.py (Previous history)