2022-07-07 22:16:10 +02:00
|
|
|
<MDNavigationRailMenuButton>
|
|
|
|
pos_hint: {"center_x": .5, "top": 1}
|
|
|
|
|
|
|
|
|
|
|
|
<MDNavigationRailFabButton>
|
|
|
|
type: "standard"
|
|
|
|
pos_hint: {"center_x": .5}
|
|
|
|
|
|
|
|
|
|
|
|
<MDNavigationRail>
|
|
|
|
size_hint: None, 1
|
|
|
|
width: "80dp"
|
|
|
|
|
|
|
|
PanelRoot:
|
|
|
|
id: box_buttons
|
|
|
|
|
|
|
|
PanelItems:
|
|
|
|
id: box_items
|
|
|
|
orientation: "vertical"
|
|
|
|
spacing: "12dp"
|
|
|
|
adaptive_size: True
|
|
|
|
pos_hint: {"center_x": .5}
|
|
|
|
|
|
|
|
|
|
|
|
<MDNavigationRailItem>
|
|
|
|
orientation: "vertical"
|
|
|
|
size_hint: None, None
|
2022-10-02 17:16:59 +02:00
|
|
|
size: self.navigation_rail.width if self.navigation_rail else 100, "56dp"
|
2022-07-07 22:16:10 +02:00
|
|
|
|
|
|
|
RelativeLayout:
|
|
|
|
id: container
|
|
|
|
size_hint: None, None
|
|
|
|
size: root.size
|
|
|
|
|
|
|
|
RippleWidget:
|
|
|
|
id: ripple_widget
|
|
|
|
size_hint: None, None
|
|
|
|
size: (container.width, container.width)
|
|
|
|
radius: container.width / 2
|
|
|
|
scale_value_x: 0
|
|
|
|
scale_value_y: 0
|
|
|
|
scale_value_z: 0
|
|
|
|
opacity: 0
|
|
|
|
md_bg_color:
|
|
|
|
root.navigation_rail.ripple_color_item \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.ripple_color_item else \
|
2022-07-07 22:16:10 +02:00
|
|
|
app.theme_cls.primary_color
|
|
|
|
|
|
|
|
MDIcon:
|
|
|
|
id: icon
|
|
|
|
icon: root.icon
|
|
|
|
opposite_colors: root.opposite_colors
|
|
|
|
font_size: "24sp"
|
|
|
|
pos_hint: {"center_x": .5}
|
|
|
|
badge_icon: root.badge_icon
|
|
|
|
badge_font_size: root.badge_font_size
|
|
|
|
badge_icon_color:
|
|
|
|
root.badge_icon_color \
|
|
|
|
if root.badge_icon_color else \
|
|
|
|
(1, 1, 1, 1)
|
|
|
|
badge_bg_color:
|
|
|
|
root.badge_bg_color \
|
|
|
|
if root.badge_bg_color else \
|
|
|
|
app.theme_cls.error_color
|
|
|
|
theme_text_color: "Custom"
|
|
|
|
text_color:
|
|
|
|
( \
|
|
|
|
root.navigation_rail.icon_color_item_normal \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail \
|
|
|
|
and root.navigation_rail.icon_color_item_normal else \
|
2022-07-07 22:16:10 +02:00
|
|
|
app.theme_cls.text_color \
|
|
|
|
) \
|
|
|
|
if not root.active else \
|
|
|
|
( \
|
|
|
|
root.navigation_rail.icon_color_item_active \
|
|
|
|
if root.navigation_rail.icon_color_item_active else \
|
|
|
|
app.theme_cls.text_color \
|
|
|
|
)
|
|
|
|
y:
|
|
|
|
container.height - \
|
|
|
|
( \
|
|
|
|
(self.height + dp(4)) \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type == "unselected" else \
|
2022-07-07 22:16:10 +02:00
|
|
|
(self.height - dp(8)) \
|
|
|
|
)
|
|
|
|
|
|
|
|
canvas.before:
|
|
|
|
Color:
|
|
|
|
rgba:
|
|
|
|
( \
|
|
|
|
( \
|
|
|
|
( \
|
|
|
|
app.theme_cls.primary_color \
|
|
|
|
if not root.navigation_rail.selected_color_background else \
|
|
|
|
root.navigation_rail.selected_color_background \
|
|
|
|
) \
|
|
|
|
if root._release else \
|
|
|
|
(0, 0, 0, 0) \
|
|
|
|
) \
|
|
|
|
) \
|
|
|
|
if root.active else \
|
|
|
|
(0, 0, 0, 0)
|
|
|
|
RoundedRectangle:
|
|
|
|
radius:
|
|
|
|
[root._selected_region_width / 2,] \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type == "unselected" else \
|
2022-07-07 22:16:10 +02:00
|
|
|
[root._selected_region_width / 4,]
|
|
|
|
size:
|
|
|
|
root._selected_region_width, \
|
|
|
|
root._selected_region_width \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type == "unselected" else \
|
2022-07-07 22:16:10 +02:00
|
|
|
root._selected_region_width / 2
|
|
|
|
pos:
|
|
|
|
self.center_x - self.width - dp(4), \
|
|
|
|
self.center_y - root._selected_region_width / 2 \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type == "unselected" else \
|
2022-07-07 22:16:10 +02:00
|
|
|
self.center_y - root._selected_region_width / 4
|
|
|
|
|
|
|
|
MDLabel:
|
|
|
|
id: label
|
|
|
|
text: root.text
|
|
|
|
size_hint_x: None
|
|
|
|
text_size: None, root.height
|
|
|
|
adaptive_height: True
|
|
|
|
opposite_colors: root.opposite_colors
|
|
|
|
pos_hint: {"center_x": .5}
|
|
|
|
y: "16"
|
|
|
|
font_style: "Body2"
|
|
|
|
theme_text_color: "Custom"
|
2022-10-02 17:16:59 +02:00
|
|
|
font_name:
|
|
|
|
root.navigation_rail.font_name \
|
|
|
|
if root.navigation_rail else \
|
|
|
|
"Roboto"
|
2022-07-07 22:16:10 +02:00
|
|
|
text_color:
|
|
|
|
( \
|
|
|
|
root.navigation_rail.text_color_item_normal \
|
2022-10-02 17:16:59 +02:00
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.text_color_item_normal else \
|
2022-07-07 22:16:10 +02:00
|
|
|
app.theme_cls.text_color \
|
|
|
|
) \
|
|
|
|
if not root.active else \
|
|
|
|
( \
|
|
|
|
root.navigation_rail.text_color_item_active \
|
|
|
|
if root.navigation_rail.text_color_item_active else \
|
|
|
|
app.theme_cls.text_color \
|
|
|
|
)
|
|
|
|
opacity:
|
2022-10-02 17:16:59 +02:00
|
|
|
(0 if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type == "unselected" else 1) \
|
|
|
|
if root.navigation_rail and \
|
|
|
|
root.navigation_rail.type != "selected" else \
|
2022-07-07 22:16:10 +02:00
|
|
|
(0 if not root.active else 1)
|