annotate cagou/plugins/plugin_wid_widget_selector.kv @ 353:19422bbd9c8e

core (widgets handler): refactoring: - CagouWidget now has class properties (to be overridden when needed) which indicate how if the widget handle must add a wrapping ScreenManager (global_screen_manager) or show all instances of the class in a Carousel (collection_carousel). If none of those options is used, a ScrollView will be wrapping the widget, to be sure that the widget will be resized correctly when necessary (without it, the widget could still be drawn in the backround when the size is too small and overflow on the WidgetWrapper, this would be the case with WidgetSelector) - some helper methods/properties have been added to CagouWidget. Check docstrings for details - better handling of (in)visible widget in WidgetsHandler - thanks to the new wrapping ScrollView, WidgetSelect will show scroll bars if the available space is too small. - bugs fixes
author Goffi <goffi@goffi.org>
date Fri, 17 Jan 2020 18:44:35 +0100
parents 1b835bcfa663
children 9c6fe392d623
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client
282
1b835bcfa663 date update
Goffi <goffi@goffi.org>
parents: 179
diff changeset
2 # Copyright (C) 2016-2019 Jérôme Poisson (goffi@goffi.org)
12
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
3
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 # This program is free software: you can redistribute it and/or modify
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 # it under the terms of the GNU Affero General Public License as published by
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 # the Free Software Foundation, either version 3 of the License, or
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 # (at your option) any later version.
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
8
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 # This program is distributed in the hope that it will be useful,
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 # GNU Affero General Public License for more details.
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
13
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 # You should have received a copy of the GNU Affero General Public License
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
16
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 <WidgetSelItem>:
18
790dbc5c4e89 plugin widget selector: display improvment + host profiles are now used by default
Goffi <goffi@goffi.org>
parents: 15
diff changeset
18 size_hint: (1, None)
62
1922506846be design fixes:
Goffi <goffi@goffi.org>
parents: 25
diff changeset
19 height: dp(40)
169
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
20 item: item
12
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 Widget:
169
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
22 BoxLayout:
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
23 id: item
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
24 size_hint: None, 1
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
25 spacing: dp(10)
179
7177fe2d9725 common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents: 169
diff changeset
26 ActionIcon:
7177fe2d9725 common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents: 169
diff changeset
27 plugin_info: root.plugin_info
169
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
28 size_hint: None, 1
179
7177fe2d9725 common: new ActionIcon widget which display symbol or image icon according to what is specified in plugin_info
Goffi <goffi@goffi.org>
parents: 169
diff changeset
29 width: self.height
169
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
30 Label:
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
31 text: root.plugin_info["name"]
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
32 bold: True
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
33 valign: 'middle'
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
34 font_size: sp(20)
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
35 size_hint: None, 1
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
36 width: self.texture_size[0]
12
30f6586f904b widget selector:
Goffi <goffi@goffi.org>
parents:
diff changeset
37 Widget:
169
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
38
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
39
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
40 <WidgetSelector>:
6a288d4a493f widget selector: replaced deprecated ListView by BoxLayout
Goffi <goffi@goffi.org>
parents: 126
diff changeset
41 spacing: dp(10)
353
19422bbd9c8e core (widgets handler): refactoring:
Goffi <goffi@goffi.org>
parents: 282
diff changeset
42 size_hint: 1, None
19422bbd9c8e core (widgets handler): refactoring:
Goffi <goffi@goffi.org>
parents: 282
diff changeset
43 height: self.minimum_height