From 8c5cacb2a9fc667ec19114c3c3d21cd274499940 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Thu, 23 Oct 2025 00:49:17 +0200 Subject: [PATCH 01/12] initial commit --- .../flet/lib/src/controls/expansion_tile.dart | 154 ++++++++++-------- packages/flet/lib/src/utils/theme.dart | 8 + .../flet/src/flet/controls/base_control.py | 4 + .../flet/controls/material/expansion_tile.py | 52 ++++-- 4 files changed, 138 insertions(+), 80 deletions(-) diff --git a/packages/flet/lib/src/controls/expansion_tile.dart b/packages/flet/lib/src/controls/expansion_tile.dart index f1d2144fc..14ca70b5c 100644 --- a/packages/flet/lib/src/controls/expansion_tile.dart +++ b/packages/flet/lib/src/controls/expansion_tile.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; import '../extensions/control.dart'; import '../models/control.dart'; @@ -11,52 +12,71 @@ import '../utils/numbers.dart'; import '../utils/theme.dart'; import '../widgets/error.dart'; import 'base_controls.dart'; -import 'control_widget.dart'; -class ExpansionTileControl extends StatelessWidget { +class ExpansionTileControl extends StatefulWidget { final Control control; - const ExpansionTileControl({ - super.key, - required this.control, - }); + const ExpansionTileControl({super.key, required this.control}); @override - Widget build(BuildContext context) { - debugPrint("ExpansionTile build: ${control.id}"); + State createState() => _ExpansionTileControlState(); +} + +class _ExpansionTileControlState extends State { + late final ExpansibleController _controller; + bool _expanded = false; + + @override + void initState() { + super.initState(); + _controller = ExpansibleController(); + _expanded = widget.control.getBool("expanded", false)!; + } - var controls = control - .children("controls") - .map((child) => ControlWidget(control: child, key: ValueKey(child.id))) - .toList(); + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } - var leading = control.buildIconOrWidget("leading"); - var title = control.buildTextOrWidget("title"); - var subtitle = control.buildTextOrWidget("subtitle"); - var trailing = control.buildIconOrWidget("trailing"); + /// Schedules an update to the controller after the current frame. + /// This ensures the expansion/collapse animation is triggered safely. + void _scheduleControllerUpdate(bool expanded) { + SchedulerBinding.instance.addPostFrameCallback((_) { + if (!mounted) return; // Prevents updates if the widget is disposed. + + if (expanded) { + _controller.expand(); + } else { + _controller.collapse(); + } + }); + } + void _handleExpansionChanged(bool expanded) { + _expanded = expanded; + widget.control.updateProperties({"expanded": expanded}); + widget.control.triggerEvent("change", expanded); + } + + @override + Widget build(BuildContext context) { + debugPrint("ExpansionTile build: ${widget.control.id}"); + + final title = widget.control.buildTextOrWidget("title"); if (title == null) { return const ErrorControl( "ExpansionTile.title must be provided and visible"); } - bool maintainState = control.getBool("maintain_state", false)!; - bool initiallyExpanded = control.getBool("initially_expanded", false)!; - - var iconColor = control.getColor("icon_color", context); - var textColor = control.getColor("text_color", context); - var bgColor = control.getColor("bgcolor", context); - var collapsedBgColor = control.getColor("collapsed_bgcolor", context); - var collapsedIconColor = control.getColor("collapsed_icon_color", context); - var collapsedTextColor = control.getColor("collapsed_text_color", context); - - var affinity = control.getListTileControlAffinity( - "affinity", ListTileControlAffinity.platform)!; - var clipBehavior = parseClip(control.getString("clip_behavior")); + var expanded = widget.control.getBool("expanded", false)!; + if (_expanded != expanded) { + _expanded = expanded; + _scheduleControllerUpdate(expanded); + } - var expandedCrossAxisAlignment = control.getCrossAxisAlignment( + var expandedCrossAxisAlignment = widget.control.getCrossAxisAlignment( "expanded_cross_axis_alignment", CrossAxisAlignment.center)!; - if (expandedCrossAxisAlignment == CrossAxisAlignment.baseline) { return const ErrorControl( 'CrossAxisAlignment.baseline is not supported since the expanded ' @@ -64,44 +84,44 @@ class ExpansionTileControl extends StatelessWidget { 'Try aligning the controls differently.'); } - Function(bool)? onChange = !control.disabled - ? (expanded) { - control.triggerEvent("change", expanded); - } - : null; - - Widget tile = ExpansionTile( - controlAffinity: affinity, - childrenPadding: control.getPadding("controls_padding"), - tilePadding: control.getEdgeInsets("tile_padding"), - expandedAlignment: control.getAlignment("expanded_alignment"), - expandedCrossAxisAlignment: - control.getCrossAxisAlignment("expanded_cross_axis_alignment"), - backgroundColor: bgColor, - iconColor: iconColor, - textColor: textColor, - collapsedBackgroundColor: collapsedBgColor, - collapsedIconColor: collapsedIconColor, - collapsedTextColor: collapsedTextColor, - maintainState: maintainState, - initiallyExpanded: initiallyExpanded, - clipBehavior: clipBehavior, - shape: control.getShape("shape", Theme.of(context)), - collapsedShape: control.getShape("collapsed_shape", Theme.of(context)), - onExpansionChanged: onChange, - visualDensity: control.getVisualDensity("visual_density"), - enableFeedback: control.getBool("enable_feedback"), - showTrailingIcon: control.getBool("show_trailing_icon", true)!, - enabled: !control.disabled, - minTileHeight: control.getDouble("min_tile_height"), - dense: control.getBool("dense"), - leading: leading, + final tile = ExpansionTile( + controller: _controller, + controlAffinity: widget.control.getListTileControlAffinity( + "affinity", ListTileControlAffinity.platform)!, + childrenPadding: widget.control.getPadding("controls_padding"), + tilePadding: widget.control.getEdgeInsets("tile_padding"), + expandedAlignment: widget.control.getAlignment("expanded_alignment"), + expandedCrossAxisAlignment: expandedCrossAxisAlignment, + backgroundColor: widget.control.getColor("bgcolor", context), + iconColor: widget.control.getColor("icon_color", context), + textColor: widget.control.getColor("text_color", context), + collapsedBackgroundColor: + widget.control.getColor("collapsed_bgcolor", context), + collapsedIconColor: + widget.control.getColor("collapsed_icon_color", context), + collapsedTextColor: + widget.control.getColor("collapsed_text_color", context), + maintainState: widget.control.getBool("maintain_state", false)!, + initiallyExpanded: expanded, + clipBehavior: widget.control.getClipBehavior("clip_behavior"), + shape: widget.control.getShape("shape", Theme.of(context)), + collapsedShape: + widget.control.getShape("collapsed_shape", Theme.of(context)), + onExpansionChanged: + !widget.control.disabled ? _handleExpansionChanged : null, + visualDensity: widget.control.getVisualDensity("visual_density"), + enableFeedback: widget.control.getBool("enable_feedback"), + showTrailingIcon: widget.control.getBool("show_trailing_icon", true)!, + enabled: !widget.control.disabled, + minTileHeight: widget.control.getDouble("min_tile_height"), + dense: widget.control.getBool("dense"), + leading: widget.control.buildIconOrWidget("leading"), title: title, - subtitle: subtitle, - trailing: trailing, - children: controls, + subtitle: widget.control.buildTextOrWidget("subtitle"), + trailing: widget.control.buildIconOrWidget("trailing"), + children: widget.control.buildWidgets("controls"), ); - return LayoutControl(control: control, child: tile); + return LayoutControl(control: widget.control, child: tile); } } diff --git a/packages/flet/lib/src/utils/theme.dart b/packages/flet/lib/src/utils/theme.dart index 9da21cede..025a0aad6 100644 --- a/packages/flet/lib/src/utils/theme.dart +++ b/packages/flet/lib/src/utils/theme.dart @@ -8,6 +8,7 @@ import '../flet_backend.dart'; import '../models/control.dart'; import '../utils/transforms.dart'; import 'alignment.dart'; +import 'animations.dart'; import 'borders.dart'; import 'box.dart'; import 'buttons.dart'; @@ -850,6 +851,9 @@ ListTileThemeData? parseListTileTheme( parseTextStyle(value["leading_and_trailing_text_style"], theme), mouseCursor: parseWidgetStateMouseCursor(value["mouse_cursor"]), minTileHeight: parseDouble(value["min_height"]), + controlAffinity: parseListTileControlAffinity(value["affinity"]), + style: parseListTileStyle(value["style"]), + titleAlignment: parseListTileTitleAlignment(value["title_alignment"]), ); } @@ -894,6 +898,10 @@ ExpansionTileThemeData? parseExpansionTileTheme( tilePadding: parsePadding(value["tile_padding"]), expandedAlignment: parseAlignment(value["expanded_alignment"]), childrenPadding: parsePadding(value["controls_padding"]), + shape: parseShape(value["shape"], theme), + collapsedShape: parseShape(value["collapsed_shape"], theme), + expansionAnimationStyle: + parseAnimationStyle(value["expansion_animation_style"]), ); } diff --git a/sdk/python/packages/flet/src/flet/controls/base_control.py b/sdk/python/packages/flet/src/flet/controls/base_control.py index d805f5abf..16a5232ce 100644 --- a/sdk/python/packages/flet/src/flet/controls/base_control.py +++ b/sdk/python/packages/flet/src/flet/controls/base_control.py @@ -116,6 +116,7 @@ class BaseControl: """ Arbitrary data of any type. """ + key: Optional[KeyValue] = None ref: InitVar[Optional[Ref["BaseControl"]]] = None @@ -124,6 +125,9 @@ class BaseControl: _internals: dict = field( default_factory=dict, init=False, repr=False, compare=False ) + """ + A dictionary for storing internal control configuration. + """ def __post_init__(self, ref: Optional[Ref[Any]]): self.__class__.__hash__ = BaseControl.__hash__ diff --git a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py index 8aea00d2d..970b1c069 100644 --- a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py +++ b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py @@ -23,9 +23,29 @@ class TileAffinity(Enum): + """ + Where to place a control in controls that use [`ListTile`][flet.] to position a + control next to a label. + """ + LEADING = "leading" + """ + Positions the control on the leading edge, and the secondary control, if + any, on the trailing edge. + """ + TRAILING = "trailing" + """ + Positions the control on the trailing edge, and the secondary control, if + any, on the leading edge. + """ + PLATFORM = "platform" + """ + Positions the control relative to the text in the fashion that is typical + for the current platform, and place the secondary control on the opposite + side. + """ @control("ExpansionTile") @@ -39,11 +59,11 @@ class ExpansionTile(LayoutControl, AdaptiveControl): width=400, title="Account", subtitle="Manage profile and security", + expanded=True, controls=[ ft.ListTile(title=ft.Text("Profile")), ft.ListTile(title=ft.Text("Security")), ], - initially_expanded=True, ) ``` """ @@ -55,7 +75,7 @@ class ExpansionTile(LayoutControl, AdaptiveControl): Typically a [`Text`][flet.] control. Raises: - ValueError: If [`title`][(c).] is neither a string nor a visible Control. + ValueError: If it is neither a string nor a visible Control. """ controls: Optional[list[Control]] = None @@ -86,20 +106,23 @@ class ExpansionTile(LayoutControl, AdaptiveControl): controls_padding: Optional[PaddingValue] = None """ - Defines the padding around the `controls`. + Defines the padding around the [`controls`][(c).]. """ tile_padding: Optional[PaddingValue] = None """ - Defines the tile's padding. Default value is `Padding.symmetric(horizontal=16.0)`. + Defines the tile's padding. + + Default value is `Padding.symmetric(horizontal=16.0)`. """ affinity: Optional[TileAffinity] = None """ - Typically used to force the expansion arrow icon to the tile's `leading` or - `trailing` edge. + Typically used to force the expansion arrow icon to the tile's [`leading`][(c).] or + [`trailing`][(c).] edge. - Defaults to `TileAffinity.PLATFORM`. + Defaults to [`TileAffinity.PLATFORM`][flet.], i.e. the expansion arrow icon + will appear on the tile's trailing edge. """ expanded_alignment: Optional[Alignment] = None @@ -121,11 +144,6 @@ class ExpansionTile(LayoutControl, AdaptiveControl): Defaults to `ClipBehavior.NONE`. """ - initially_expanded: bool = False - """ - A boolean value which defines whether the tile is initially expanded or collapsed. - """ - maintain_state: bool = False """ A boolean value which defines whether the state of the `controls` is maintained @@ -195,7 +213,15 @@ class ExpansionTile(LayoutControl, AdaptiveControl): min_tile_height: Optional[Number] = None """ - The minimum height of the tile. + The minimum height of this tile. + """ + + expanded: bool = False + """ + The expansion state of this tile. + + Set to `True` to expand the tile or `False` to + collapse it programmatically. """ visual_density: Optional[VisualDensity] = None From 85b8193509027f9911bc563459e98d993d8f8466 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Thu, 23 Oct 2025 03:35:21 +0200 Subject: [PATCH 02/12] docs + example --- .../cupertino_sliding_segmented_button.dart | 10 +- .../flet/lib/src/controls/expansion_tile.dart | 25 ++- .../expansion_tile/custom_animations.py | 44 +++++ .../expansion_tile/programmatic_expansion.py | 34 ++++ .../flet/docs/controls/expansiontile.md | 11 ++ .../flet/src/flet/controls/animation.py | 20 ++ .../cupertino_sliding_segmented_button.py | 2 +- .../flet/controls/material/expansion_panel.py | 4 +- .../flet/controls/material/expansion_tile.py | 171 +++++++++++++++--- .../src/flet/controls/material/text_button.py | 12 +- .../packages/flet/src/flet/controls/theme.py | 38 ++++ 11 files changed, 313 insertions(+), 58 deletions(-) create mode 100644 sdk/python/examples/controls/expansion_tile/custom_animations.py create mode 100644 sdk/python/examples/controls/expansion_tile/programmatic_expansion.py diff --git a/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart b/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart index 61ea3c5dc..09024d698 100644 --- a/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart +++ b/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart @@ -36,15 +36,13 @@ class CupertinoSlidingSegmentedButtonControl extends StatelessWidget { "thumb_color", context, const CupertinoDynamicColor.withBrightness( - color: Color(0xFFFFFFFF), - darkColor: Color(0xFF636366), - ))!, + color: Color(0xFFFFFFFF), darkColor: Color(0xFF636366)))!, children: controls.asMap().map((i, c) => MapEntry(i, c)), onValueChanged: (int? index) { if (!control.disabled) { - control - .updateProperties({"selected_index": index ?? 0}, notify: true); - control.triggerEvent("change", index ?? 0); + index = index ?? 0; + control.updateProperties({"selected_index": index}, notify: true); + control.triggerEvent("change", index); } }, ); diff --git a/packages/flet/lib/src/controls/expansion_tile.dart b/packages/flet/lib/src/controls/expansion_tile.dart index 14ca70b5c..039ab92ed 100644 --- a/packages/flet/lib/src/controls/expansion_tile.dart +++ b/packages/flet/lib/src/controls/expansion_tile.dart @@ -1,3 +1,4 @@ +import 'package:flet/src/utils/animations.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; @@ -39,8 +40,8 @@ class _ExpansionTileControlState extends State { super.dispose(); } - /// Schedules an update to the controller after the current frame. - /// This ensures the expansion/collapse animation is triggered safely. + // Schedules an update to the controller after the current frame. + // This ensures the expansion/collapse animation is triggered safely. void _scheduleControllerUpdate(bool expanded) { SchedulerBinding.instance.addPostFrameCallback((_) { if (!mounted) return; // Prevents updates if the widget is disposed. @@ -53,12 +54,6 @@ class _ExpansionTileControlState extends State { }); } - void _handleExpansionChanged(bool expanded) { - _expanded = expanded; - widget.control.updateProperties({"expanded": expanded}); - widget.control.triggerEvent("change", expanded); - } - @override Widget build(BuildContext context) { debugPrint("ExpansionTile build: ${widget.control.id}"); @@ -79,15 +74,14 @@ class _ExpansionTileControlState extends State { "expanded_cross_axis_alignment", CrossAxisAlignment.center)!; if (expandedCrossAxisAlignment == CrossAxisAlignment.baseline) { return const ErrorControl( - 'CrossAxisAlignment.baseline is not supported since the expanded ' + 'CrossAxisAlignment.BASELINE is not supported since the expanded ' 'controls are aligned in a column, not a row. ' 'Try aligning the controls differently.'); } final tile = ExpansionTile( controller: _controller, - controlAffinity: widget.control.getListTileControlAffinity( - "affinity", ListTileControlAffinity.platform)!, + controlAffinity: widget.control.getListTileControlAffinity("affinity"), childrenPadding: widget.control.getPadding("controls_padding"), tilePadding: widget.control.getEdgeInsets("tile_padding"), expandedAlignment: widget.control.getAlignment("expanded_alignment"), @@ -107,14 +101,19 @@ class _ExpansionTileControlState extends State { shape: widget.control.getShape("shape", Theme.of(context)), collapsedShape: widget.control.getShape("collapsed_shape", Theme.of(context)), - onExpansionChanged: - !widget.control.disabled ? _handleExpansionChanged : null, + onExpansionChanged: (bool expanded) { + _expanded = expanded; + widget.control.updateProperties({"expanded": expanded}); + widget.control.triggerEvent("change", expanded); + }, visualDensity: widget.control.getVisualDensity("visual_density"), enableFeedback: widget.control.getBool("enable_feedback"), showTrailingIcon: widget.control.getBool("show_trailing_icon", true)!, enabled: !widget.control.disabled, minTileHeight: widget.control.getDouble("min_tile_height"), dense: widget.control.getBool("dense"), + expansionAnimationStyle: + widget.control.getAnimationStyle("animation_style"), leading: widget.control.buildIconOrWidget("leading"), title: title, subtitle: widget.control.buildTextOrWidget("subtitle"), diff --git a/sdk/python/examples/controls/expansion_tile/custom_animations.py b/sdk/python/examples/controls/expansion_tile/custom_animations.py new file mode 100644 index 000000000..a248837f5 --- /dev/null +++ b/sdk/python/examples/controls/expansion_tile/custom_animations.py @@ -0,0 +1,44 @@ +import flet as ft + + +def main(page: ft.Page): + page.horizontal_alignment = ft.CrossAxisAlignment.CENTER + page.spacing = 20 + + def switch_animation(e: ft.Event[ft.CupertinoSlidingSegmentedButton]): + if e.control.selected_index == 0: + tile.animation_style = None + elif e.control.selected_index == 1: + tile.animation_style = ft.AnimationStyle( + curve=ft.AnimationCurve.BOUNCE_OUT, + duration=ft.Duration(seconds=5), + ) + else: + tile.animation_style = ft.AnimationStyle.no_animation() + + page.add( + ft.CupertinoSlidingSegmentedButton( + selected_index=0, + thumb_color=ft.Colors.BLUE_400, + on_change=switch_animation, + controls=[ + ft.Text("Default animation"), + ft.Text("Custom animation"), + ft.Text("No animation"), + ], + ), + tile := ft.ExpansionTile( + expanded=True, + title=ft.Text( + "Expand/Collapse me while being attentive to the animations!" + ), + controls=[ + ft.ListTile(title=ft.Text("Sub-item 1")), + ft.ListTile(title=ft.Text("Sub-item 2")), + ft.ListTile(title=ft.Text("Sub-item 3")), + ], + ), + ) + + +ft.run(main) diff --git a/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py b/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py new file mode 100644 index 000000000..6b0dd0326 --- /dev/null +++ b/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py @@ -0,0 +1,34 @@ +import flet as ft + + +def main(page: ft.Page): + page.spacing = 20 + + def expand_tile(e: ft.Event[ft.FilledButton]): + tile.expanded = True + + def collapse_tile(e: ft.Event[ft.OutlinedButton]): + tile.expanded = False + + page.add( + ft.Row( + alignment=ft.MainAxisAlignment.CENTER, + controls=[ + ft.FilledButton("Expand Tile", on_click=expand_tile), + ft.OutlinedButton("Collapse Tile", on_click=collapse_tile), + ], + ), + tile := ft.ExpansionTile( + title=ft.Text("I am the title of this tile.", weight=ft.FontWeight.BOLD), + subtitle=ft.Text("This is the subtitle."), + affinity=ft.TileAffinity.LEADING, + controls=[ft.Text("👻", size=80)], + expanded=True, + on_change=lambda e: print( + f"Tile was {'expanded' if e.data else 'collapsed'}" + ), + ), + ) + + +ft.run(main) diff --git a/sdk/python/packages/flet/docs/controls/expansiontile.md b/sdk/python/packages/flet/docs/controls/expansiontile.md index db77e4174..26396af68 100644 --- a/sdk/python/packages/flet/docs/controls/expansiontile.md +++ b/sdk/python/packages/flet/docs/controls/expansiontile.md @@ -19,6 +19,17 @@ example_media: ../examples/controls/expansion_tile/media {{ image(example_media + "/basic.png", alt="basic", width="80%") }} +## Programmatic expansion/collapse + +```python +--8<-- "{{ examples }}/programmatic_expansion.py" +``` + +## Custom animations + +```python +--8<-- "{{ examples }}/custom_animations.py" +``` ### Theme mode toggle diff --git a/sdk/python/packages/flet/src/flet/controls/animation.py b/sdk/python/packages/flet/src/flet/controls/animation.py index 094a01e7d..24572ccf7 100644 --- a/sdk/python/packages/flet/src/flet/controls/animation.py +++ b/sdk/python/packages/flet/src/flet/controls/animation.py @@ -86,6 +86,16 @@ def copy( @dataclass class AnimationStyle: + """ + Used to override the default parameters of an animation. + + Note: + If [`duration`][(c).] and [`reverse_duration`][(c).] are set to + [`Duration()`][flet.Duration], the corresponding animation will be disabled. + See [`no_animation()`][(c).no_animation] method for a convenient way to create + such an instance. + """ + duration: Optional[DurationValue] = None """ The duration of the animation. @@ -106,6 +116,16 @@ class AnimationStyle: The curve to use for the reverse animation. """ + @staticmethod + def no_animation() -> "AnimationStyle": + """ + Creates an instance of `AnimationStyle` with no animation. + """ + return AnimationStyle( + duration=Duration(), + reverse_duration=Duration(), + ) + def copy( self, *, diff --git a/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py b/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py index 2fa597882..6e102df91 100644 --- a/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +++ b/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py @@ -21,12 +21,12 @@ class CupertinoSlidingSegmentedButton(LayoutControl): ```python ft.CupertinoSlidingSegmentedButton( + selected_index=1, controls=[ ft.Text("One"), ft.Text("Two"), ft.Text("Three"), ], - selected_index=1, ) ``` """ diff --git a/sdk/python/packages/flet/src/flet/controls/material/expansion_panel.py b/sdk/python/packages/flet/src/flet/controls/material/expansion_panel.py index baab761f9..34f6abc7d 100644 --- a/sdk/python/packages/flet/src/flet/controls/material/expansion_panel.py +++ b/sdk/python/packages/flet/src/flet/controls/material/expansion_panel.py @@ -149,8 +149,8 @@ class ExpansionPanelList(LayoutControl): """ Called when an item of [`controls`][(c).] is expanded or collapsed. - The event's [`data`][flet.Event.], contains the index of the - child panel (in [`controls`][(c).]) which triggered this event. + The [`data`][flet.Event.] property of the event handler argument contains the + index of the child panel (in [`controls`][(c).]) which triggered this event. """ def before_update(self): diff --git a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py index 970b1c069..0fa12c1ea 100644 --- a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py +++ b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py @@ -3,6 +3,7 @@ from flet.controls.adaptive_control import AdaptiveControl from flet.controls.alignment import Alignment +from flet.controls.animation import AnimationStyle from flet.controls.base_control import control from flet.controls.buttons import OutlinedBorder from flet.controls.control import Control @@ -70,7 +71,7 @@ class ExpansionTile(LayoutControl, AdaptiveControl): title: StrOrControl """ - A `Control` to display as primary content of the tile. + A Control to display as primary content of this tile. Typically a [`Text`][flet.] control. @@ -80,40 +81,57 @@ class ExpansionTile(LayoutControl, AdaptiveControl): controls: Optional[list[Control]] = None """ - The controls to be displayed when the tile expands. + The controls to be displayed when this tile [expands][(c).expanded]. Typically a list of [`ListTile`][flet.] controls. """ subtitle: Optional[StrOrControl] = None """ - Additional content displayed below the title. + Additional content displayed below the [`title`][(c).]. Typically a [`Text`][flet.] control. """ leading: Optional[IconDataOrControl] = None """ - A `Control` to display before the title. + A Control to display before the [`title`][(c).]. + + Typically a [`CircleAvatar`][flet.] control. + + Depending on the value of [`affinity`][(c).], this control + may replace the rotating expansion arrow icon. """ trailing: Optional[IconDataOrControl] = None """ - A `Control` to display after the title. + A Control to display after the [`title`][(c).]. Typically an [`Icon`][flet.] control. + + Depending on the value of [`affinity`][(c).], this control + may replace the rotating expansion arrow icon. """ controls_padding: Optional[PaddingValue] = None """ Defines the padding around the [`controls`][(c).]. + + If `None`, [`ExpansionTileTheme.controls_padding`][flet.] is used; + if that is also `None`, then defaults to `Padding.all(0)`. """ tile_padding: Optional[PaddingValue] = None """ Defines the tile's padding. - Default value is `Padding.symmetric(horizontal=16.0)`. + Analogous to [`ListTile.content_padding`][flet.], this property defines the + insets for the [`leading`][(c).], [`title`][(c).], [`subtitle`][(c).] and + [`trailing`][(c).] controls. It does not inset the expanded + [`controls`][(c).] widgets. + + If `None`, [`ExpansionTileTheme.tile_padding`][flet.] is used; + if that is also `None`, then defaults to `Padding.symmetric(horizontal=16.0)`. """ affinity: Optional[TileAffinity] = None @@ -121,81 +139,133 @@ class ExpansionTile(LayoutControl, AdaptiveControl): Typically used to force the expansion arrow icon to the tile's [`leading`][(c).] or [`trailing`][(c).] edge. - Defaults to [`TileAffinity.PLATFORM`][flet.], i.e. the expansion arrow icon - will appear on the tile's trailing edge. + If `None`, [`ListTileTheme.affinity`][flet.] is used; + if that is also `None`, then defaults to [`TileAffinity.TRAILING`][flet.] + (the expansion arrow icon appears on the tile's trailing edge). """ expanded_alignment: Optional[Alignment] = None """ - Defines the alignment of children, which are arranged in a column when the tile is - expanded. + Defines the alignment of [`controls`][(c).], which are arranged in a column when + the tile is expanded. + + If `None`, [`ExpansionTileTheme.expanded_alignment`][flet.] is used; + if that is also `None`, then defaults to [`Alignment.CENTER`][flet.]. """ expanded_cross_axis_alignment: CrossAxisAlignment = CrossAxisAlignment.CENTER """ - Defines the alignment of each child control within `controls` when the tile is - expanded. + Defines the alignment of each child control within [`controls`][(c).] when the + tile is expanded. + + Raises: + ValueError: If set to [`CrossAxisAlignment.BASELINE`][flet.]. """ clip_behavior: Optional[ClipBehavior] = None """ - The content will be clipped (or not) according to this option. + Defines how the content of this tile is clipped. - Defaults to `ClipBehavior.NONE`. + If set and a custom collapsed or expanded shape is provided, + this value determines how this tile is clipped. + + If `None`, [`ExpansionTileTheme.clip_behavior`][flet.] is used; + if that is also `None`, then defaults to [`ClipBehavior.ANTI_ALIAS`][flet.]. """ maintain_state: bool = False """ - A boolean value which defines whether the state of the `controls` is maintained - when the tile expands and collapses. + A boolean value which defines whether the state of the [`controls`][(c).] is + maintained when this tile [expands][(c).expanded] and collapses. + + When `True`, the children are kept in the tree while the tile is collapsed. + When `False` (default), the [`controls`][(c).] are removed from the tree when + the tile is collapsed and recreated upon expansion. """ text_color: Optional[ColorValue] = None """ - The color of the tile's titles when the sublist is expanded. + The color of this tile's titles when the sublist is [`expanded`][(c).]. + + If `None`, [`ExpansionTileTheme.text_color`][flet.] is used; + if that is also `None`, then defaults to [`body_large`][flet.TextTheme.] + of the [`Theme.text_theme`][flet.]. """ icon_color: Optional[ColorValue] = None """ - The icon color of tile's expansion arrow icon when the sublist is expanded. + The icon color of this tile's expansion arrow icon + when the sublist is [`expanded`][(c).]. + + If `None`, [`ExpansionTileTheme.icon_color`][flet.] is used; + if that is also `None`, then defaults to [`ColorScheme.primary`][flet.] + of the [`Page.theme`][flet.]. """ shape: Optional[OutlinedBorder] = None """ - The tile's border shape when the sublist is expanded. + The border shape of this tile when the sublist is [`expanded`][(c).]. + + If `None`, [`ExpansionTileTheme.shape`][flet.] is used; + if that is also `None`, then defaults to a [`Border`][flet.] with vertical sides + of color [`Theme.divider_color`][flet.]. """ bgcolor: Optional[ColorValue] = None """ - The color to display behind the sublist when expanded. + The color to display behind the sublist when [`expanded`][(c).]. + + If `None`, [`ExpansionTileTheme.bgcolor`][flet.] is used; + if that is also `None`, then defaults to [`Colors.TRANSPARENT`][flet.]. """ collapsed_bgcolor: Optional[ColorValue] = None """ - Defines the background color of tile when the sublist is collapsed. + Defines the background color of this tile when the sublist + is collapsed ([`expanded`][(c).] is False). + + If `None`, [`ExpansionTileTheme.collapsed_bgcolor`][flet.] is used; + if that is also `None`, then defaults to [`Colors.TRANSPARENT`][flet.]. """ collapsed_icon_color: Optional[ColorValue] = None """ - The icon color of tile's expansion arrow icon when the sublist is collapsed. + The icon color of this tile's expansion arrow icon when the sublist + is collapsed ([`expanded`][(c).] is False). + + If `None`, [`ExpansionTileTheme.collapsed_icon_color`][flet.] is used; + if that is also `None`, then defaults to [`ColorScheme.on_surface`][flet.] + of the [`Page.theme`][flet.]. """ collapsed_text_color: Optional[ColorValue] = None """ - The color of the tile's titles when the sublist is collapsed. + The color of this tile's titles when the sublist + is collapsed ([`expanded`][(c).] is False). + + If `None`, [`ExpansionTileTheme.collapsed_text_color`][flet.] is used; + if that is also `None`, then defaults to [`body_large`][flet.TextTheme.] + of the [`Theme.text_theme`][flet.]. """ collapsed_shape: Optional[OutlinedBorder] = None """ The tile's border shape when the sublist is collapsed. + + If `None`, [`ExpansionTileTheme.shape`][flet.] is used; + if that is also `None`, then defaults to a [`Border`][flet.] with vertical sides + of color [`Colors.TRANSPARENT`][flet.]. """ dense: Optional[bool] = None """ - Whether this list tile is part of a vertically dense list. Dense list tiles default - to a smaller height. + Whether this list tile is part of a vertically dense list. + + Dense tiles default to having a smaller height. It is not recommended to set this property to `True` when in Material3. + + If `None`, then its value is based on [`ListTileTheme.dense`][flet.]. """ enable_feedback: bool = True @@ -207,34 +277,75 @@ class ExpansionTile(LayoutControl, AdaptiveControl): show_trailing_icon: bool = True """ - Whether to show the trailing icon (be it the default icon or the custom `trailing`, - if specified and visible). + Whether this tile should build/show a default trailing icon, if + [`trailing`][(c).] is `None`. """ min_tile_height: Optional[Number] = None """ The minimum height of this tile. + + If `None`, the default tile heights are `56.0`, `72.0`, and `88.0` for one, two, + and three lines of text respectively. If [`dense`][(c).] is `True`, these defaults + are changed to `48.0`, `64.0`, and `76.0`. A visual density value or a large title + will also adjust the default tile heights. """ expanded: bool = False """ The expansion state of this tile. - Set to `True` to expand the tile or `False` to - collapse it programmatically. + `True` - expanded, `False` - collapsed. """ visual_density: Optional[VisualDensity] = None """ - Defines how compact the control's layout will be. + Defines how compact this tile's layout will be. + """ + + animation_style: Optional[AnimationStyle] = None + """ + Defines the animation style (curve and duration) for this tile's expansion and + collapse. + + If [`AnimationStyle.duration`][flet.] is provided, it will be used to override + the expansion animation duration. If it is `None`, then + [`AnimationStyle.duration`][flet.] from the + [`ExpansionTileTheme.animation_style`][(c).] will be used. If that is also + `None`, `Duration(milliseconds=200)` will be used as default. + + If [`AnimationStyle.curve`][flet.] is provided, it will be used to override + the expansion animation curve. If it is `None`, then + [`AnimationStyle.curve`][flet.] from the + [`ExpansionTileTheme.animation_style`][(c).] will be used. If that is also + `None`, [`Curves.EASE_IN`][flet.] will be used as default. + + If [`AnimationStyle.reverse_curve`][flet.] is provided, it will be used to override + the collapse animation curve. If it is `None`, then + [`AnimationStyle.reverse_curve`][flet.] from the + [`ExpansionTileTheme.animation_style`][(c).] will be used. If that is also + `None`, the expansion curve will be used as default. + + Tip: + To disable the animations, use + [`AnimationStyle.no_animation()`][flet.AnimationStyle.no_animation]. """ on_change: Optional[ControlEventHandler["ExpansionTile"]] = None """ Called when a user clicks or taps the list tile. + + The [`data`][flet.Event.] property of the event handler argument is a boolean + representing the [`expanded`][(c).] state of the tile after the change. """ def before_update(self): super().before_update() if isinstance(self.title, Control) and not self.title.visible: raise ValueError("title must be visible") + if self.expanded_cross_axis_alignment == CrossAxisAlignment.BASELINE: + raise ValueError( + "expanded_cross_axis_alignment cannot be CrossAxisAlignment.BASELINE " + "is not supported since the expanded controls are aligned in a column, " + "not a row. Try aligning the controls differently." + ) diff --git a/sdk/python/packages/flet/src/flet/controls/material/text_button.py b/sdk/python/packages/flet/src/flet/controls/material/text_button.py index 792569029..89c9a7e39 100644 --- a/sdk/python/packages/flet/src/flet/controls/material/text_button.py +++ b/sdk/python/packages/flet/src/flet/controls/material/text_button.py @@ -25,10 +25,10 @@ class TextButton(LayoutControl, AdaptiveControl): ```python ft.TextButton( - content="Text Button", - icon=ft.Icons.STAR_BORDER, - icon_color=ft.Colors.BLUE_300, - ) + content="Text Button", + icon=ft.Icons.STAR_BORDER, + icon_color=ft.Colors.BLUE_300, + ) ``` """ @@ -87,8 +87,8 @@ class TextButton(LayoutControl, AdaptiveControl): """ Called when a mouse pointer enters or exists this button's response area. - The [`data`][flet.Event.] property of event object is `True` when cursor - enters and `False` when it exits. + The [`data`][flet.Event.] property of the event handler argument is `True` when + cursor enters and `False` when it exits. """ on_focus: Optional[ControlEventHandler["TextButton"]] = None diff --git a/sdk/python/packages/flet/src/flet/controls/theme.py b/sdk/python/packages/flet/src/flet/controls/theme.py index f2040b106..f20667bc3 100644 --- a/sdk/python/packages/flet/src/flet/controls/theme.py +++ b/sdk/python/packages/flet/src/flet/controls/theme.py @@ -3,6 +3,7 @@ from typing import Optional from flet.controls.alignment import Alignment +from flet.controls.animation import AnimationStyle from flet.controls.border import BorderSide from flet.controls.border_radius import BorderRadiusValue from flet.controls.box import BoxConstraints, BoxDecoration, BoxShadowValue @@ -11,6 +12,8 @@ from flet.controls.duration import DurationValue from flet.controls.geometry import Size from flet.controls.margin import MarginValue +from flet.controls.material.expansion_tile import TileAffinity +from flet.controls.material.list_tile import ListTileStyle, ListTileTitleAlignment from flet.controls.material.menu_bar import MenuStyle from flet.controls.material.navigation_bar import NavigationBarLabelBehavior from flet.controls.material.navigation_rail import NavigationRailLabelType @@ -2351,6 +2354,24 @@ class ListTileTheme: [`ListTile.min_height`][flet.]. """ + affinity: Optional[TileAffinity] = None + """ + Overrides the default value for + [`ExpansionTile.affinity`][flet.]. + """ + + style: Optional[ListTileStyle] = None + """ + Overrides the default value for + [`ListTile.style`][flet.]. + """ + + title_alignment: Optional[ListTileTitleAlignment] = None + """ + Overrides the default value for + [`ListTile.title_alignment`][flet.]. + """ + @dataclass class TooltipTheme: @@ -2504,6 +2525,23 @@ class ExpansionTileTheme: [`ExpansionTile.controls_padding`][flet.]. """ + shape: Optional[OutlinedBorder] = None + """ + Overrides the default value for [`ExpansionTile.shape`][flet.]. + """ + + collapsed_shape: Optional[OutlinedBorder] = None + """ + Overrides the default value for + [`ExpansionTile.collapsed_shape`][flet.]. + """ + + animation_style: Optional[AnimationStyle] = None + """ + Overrides the default value for + [`ExpansionTile.animation_style`][flet.]. + """ + @dataclass class SliderTheme: From 61513604bc3da0d5df39d1f7f6845e2850f796fe Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Thu, 23 Oct 2025 05:46:47 +0200 Subject: [PATCH 03/12] fix: set default value for `CupertinoSlidingSegmentedControl.selected_index` --- .../src/controls/cupertino_sliding_segmented_button.dart | 3 +-- .../cupertino/cupertino_sliding_segmented_button.py | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart b/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart index 09024d698..35de6e6f9 100644 --- a/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart +++ b/packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart @@ -19,14 +19,13 @@ class CupertinoSlidingSegmentedButtonControl extends StatelessWidget { debugPrint("CupertinoSlidingSegmentedButtonControl build: ${control.id}"); var controls = control.buildWidgets("controls"); - if (controls.length < 2) { return const ErrorControl( "CupertinoSlidingSegmentedButton must have at minimum two visible controls"); } var button = CupertinoSlidingSegmentedControl( - groupValue: control.getInt("selected_index"), + groupValue: control.getInt("selected_index", 0)!, proportionalWidth: control.getBool("proportional_width", false)!, backgroundColor: control.getColor( "bgcolor", context, CupertinoColors.tertiarySystemFill)!, diff --git a/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py b/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py index 6e102df91..ee3bd7e2f 100644 --- a/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py +++ b/sdk/python/packages/flet/src/flet/controls/cupertino/cupertino_sliding_segmented_button.py @@ -39,8 +39,7 @@ class CupertinoSlidingSegmentedButton(LayoutControl): Must contain at least two visible Controls. Raises: - ValueError: If [`controls`][(c).] does not contain at least two - visible controls. + ValueError: If it does not contain at least two visible controls. """ selected_index: int = 0 @@ -48,8 +47,7 @@ class CupertinoSlidingSegmentedButton(LayoutControl): The index (starting from 0) of the selected segment in the [`controls`][(c).] list. Raises: - IndexError: If [`selected_index`][(c).] is out of range relative to the - visible controls. + IndexError: If it is out of range relative to the visible controls. """ bgcolor: ColorValue = CupertinoColors.TERTIARY_SYSTEM_FILL From 5b496f0909cc8a4467e021c31cbe22a83d7c25c6 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Thu, 23 Oct 2025 05:50:57 +0200 Subject: [PATCH 04/12] apply copilot review suggestion --- .../flet/src/flet/controls/material/expansion_tile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py index 0fa12c1ea..3758f72a8 100644 --- a/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py +++ b/sdk/python/packages/flet/src/flet/controls/material/expansion_tile.py @@ -346,6 +346,6 @@ def before_update(self): if self.expanded_cross_axis_alignment == CrossAxisAlignment.BASELINE: raise ValueError( "expanded_cross_axis_alignment cannot be CrossAxisAlignment.BASELINE " - "is not supported since the expanded controls are aligned in a column, " - "not a row. Try aligning the controls differently." + "since the expanded controls are aligned in a column, not a row. " + "Try aligning the controls differently." ) From eced52216b9a8a49a4c00870858b24b27ee36cfe Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Sun, 26 Oct 2025 15:46:46 +0100 Subject: [PATCH 05/12] add tests --- .../controls/core/test_icon.py | 1 - .../controls/core/test_pagelet.py | 1 - ...pertino_sliding_segmented_button_basic.png | Bin 4793 -> 0 bytes .../cupertino/test_cupertino_context_menu.py | 1 - ...test_cupertino_sliding_segmented_button.py | 4 +- .../golden/macos/expansion_tile/basic.png | Bin 6198 -> 11720 bytes .../golden/macos/expansion_tile/collapsed.png | Bin 19858 -> 13837 bytes .../golden/macos/expansion_tile/expanded.png | Bin 30847 -> 24401 bytes .../controls/material/test_banner.py | 12 +- .../controls/material/test_checkbox.py | 1 - .../controls/material/test_chip.py | 2 - .../controls/material/test_data_table.py | 1 - .../controls/material/test_dropdown.py | 6 +- .../controls/material/test_expansion_tile.py | 74 ++--- .../material/test_floating_action_button.py | 1 - .../controls/material/test_list_tile.py | 1 - .../controls/material/test_menu_bar.py | 3 +- .../controls/material/test_navigation_bar.py | 1 - .../material/test_popup_menu_button.py | 6 +- .../controls/material/test_range_slider.py | 3 +- .../controls/material/test_search_bar.py | 6 +- .../material/test_segmented_button.py | 1 - .../material/test_vertical_divider.py | 2 - .../theme/test_expansion_tile_theme.py | 3 +- .../test_floating_action_button_theme.py | 3 - .../controls/theme/test_list_tile_theme.py | 11 +- .../packages/flet/src/flet/controls/theme.py | 269 +++++++----------- 27 files changed, 167 insertions(+), 246 deletions(-) delete mode 100644 sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/cupertino_sliding_segmented_button_basic.png diff --git a/sdk/python/packages/flet/integration_tests/controls/core/test_icon.py b/sdk/python/packages/flet/integration_tests/controls/core/test_icon.py index de74f2027..a48437d58 100644 --- a/sdk/python/packages/flet/integration_tests/controls/core/test_icon.py +++ b/sdk/python/packages/flet/integration_tests/controls/core/test_icon.py @@ -138,7 +138,6 @@ async def test_theme(flet_app: ftt.FletTestApp): ), ) flet_app.page.add(scr_1) - flet_app.page.update() await flet_app.tester.pump_and_settle() flet_app.assert_screenshot( diff --git a/sdk/python/packages/flet/integration_tests/controls/core/test_pagelet.py b/sdk/python/packages/flet/integration_tests/controls/core/test_pagelet.py index 1c0ef311a..5432a03f1 100644 --- a/sdk/python/packages/flet/integration_tests/controls/core/test_pagelet.py +++ b/sdk/python/packages/flet/integration_tests/controls/core/test_pagelet.py @@ -19,7 +19,6 @@ # ft.Container(bgcolor=ft.Colors.AMBER, content=ft.Text("Pagelet Content")) # ), # ) -# flet_app.page.update() # await flet_app.tester.pump_and_settle() # flet_app.assert_screenshot( diff --git a/sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/cupertino_sliding_segmented_button_basic.png b/sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/cupertino_sliding_segmented_button_basic.png deleted file mode 100644 index 740a801b0ed854e80a597dc179185bf01cfe29e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4793 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 T2?ZBU00000NkvXXu0mjf{)kbS diff --git a/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_context_menu.py b/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_context_menu.py index 44781ad6a..6e414da89 100644 --- a/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_context_menu.py +++ b/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_context_menu.py @@ -34,7 +34,6 @@ async def test_cupertino_context_menu_basic(flet_app: ftt.FletTestApp, request): flet_app.page.window.width = 400 flet_app.page.window.height = 600 flet_app.page.add(ccm) - flet_app.page.update() await flet_app.tester.pump_and_settle() flet_app.assert_screenshot( diff --git a/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_sliding_segmented_button.py b/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_sliding_segmented_button.py index 6ba1faf6e..07c95a771 100644 --- a/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_sliding_segmented_button.py +++ b/sdk/python/packages/flet/integration_tests/controls/cupertino/test_cupertino_sliding_segmented_button.py @@ -5,9 +5,7 @@ @pytest.mark.asyncio(loop_scope="module") -async def test_cupertino_sliding_segmented_button_basic( - flet_app: ftt.FletTestApp, request -): +async def test_basic(flet_app: ftt.FletTestApp, request): await flet_app.assert_control_screenshot( request.node.name, ft.CupertinoSlidingSegmentedButton( diff --git a/sdk/python/packages/flet/integration_tests/controls/material/golden/macos/expansion_tile/basic.png b/sdk/python/packages/flet/integration_tests/controls/material/golden/macos/expansion_tile/basic.png index 86bb4f6d374a9cd05565120902f662053295e375..65da6999c761b4dff79f37bf0f25953bee433546 100644 GIT binary patch literal 11720 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 T6$cDljSVQuzLhDHHV^(k`2Fyp literal 6198 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 diff --git a/sdk/python/packages/flet/integration_tests/controls/material/golden/macos/expansion_tile/expanded.png b/sdk/python/packages/flet/integration_tests/controls/material/golden/macos/expansion_tile/expanded.png index 23a34b19da8c64b2753374884a797f29728c529d..db8e3bf9b33f41209efd054b42595e94da949ae6 100644 GIT binary patch literal 24401 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�@VecZkT|{ciIc>%C{A+jqAIFeH4=w6y%Nb|8KcQ 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 Date: Sun, 26 Oct 2025 23:13:49 +0100 Subject: [PATCH 06/12] add integration test golden for CupertinoSlidingSegmentedButton on macOS --- .../cupertino_sliding_segmented_button/basic.png | Bin 0 -> 6475 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/basic.png diff --git a/sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/basic.png b/sdk/python/packages/flet/integration_tests/controls/cupertino/golden/macos/cupertino_sliding_segmented_button/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..89304d0a27a64841aa6de4258263d3d2ec2e5235 GIT binary patch literal 6475 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 Date: Mon, 27 Oct 2025 00:07:51 +0100 Subject: [PATCH 07/12] refactor: replace `initially_expanded` with `expanded` in examples --- sdk/python/examples/controls/expansion_tile/basic.py | 2 +- .../examples/controls/expansion_tile/theme_mode_toggle.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/examples/controls/expansion_tile/basic.py b/sdk/python/examples/controls/expansion_tile/basic.py index 702c1d2cc..89237d9d3 100644 --- a/sdk/python/examples/controls/expansion_tile/basic.py +++ b/sdk/python/examples/controls/expansion_tile/basic.py @@ -53,7 +53,7 @@ def handle_expansion_tile_change(e: ft.Event[ft.ExpansionTile]): title=ft.Text("ExpansionTile 3"), subtitle=ft.Text("Leading expansion arrow icon"), affinity=ft.TileAffinity.LEADING, - initially_expanded=True, + expanded=True, collapsed_text_color=ft.Colors.BLUE_800, text_color=ft.Colors.BLUE_200, controls=[ diff --git a/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py b/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py index f3f11196e..e9a6733a2 100644 --- a/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py +++ b/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py @@ -63,7 +63,7 @@ def handle_expansion_tile_change(e: ft.Event[ft.ExpansionTile]): title=ft.Text("ExpansionTile 3"), subtitle=ft.Text("Leading expansion arrow icon"), affinity=ft.TileAffinity.LEADING, - initially_expanded=True, + expanded=True, collapsed_text_color=ft.Colors.BLUE_800, text_color=ft.Colors.BLUE_200, controls=[ From a9b3b9ec04b8736018b7156698d1592924cdbdb3 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Mon, 27 Oct 2025 17:17:48 +0100 Subject: [PATCH 08/12] refactor: update `initially_expanded` to `expanded` in integration tests and examples --- .../examples/layout/expansiontile/01_expansiontile_example.py | 2 +- .../integration_tests/examples/material/test_expansion_tile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/examples/apps/controls-gallery/examples/layout/expansiontile/01_expansiontile_example.py b/sdk/python/examples/apps/controls-gallery/examples/layout/expansiontile/01_expansiontile_example.py index efb0dd961..ffb77d578 100644 --- a/sdk/python/examples/apps/controls-gallery/examples/layout/expansiontile/01_expansiontile_example.py +++ b/sdk/python/examples/apps/controls-gallery/examples/layout/expansiontile/01_expansiontile_example.py @@ -27,7 +27,7 @@ def example(): title=ft.Text("ExpansionTile 3"), subtitle=ft.Text("Leading expansion arrow icon"), affinity=ft.TileAffinity.LEADING, - initially_expanded=True, + expanded=True, collapsed_text_color=ft.Colors.BLUE, text_color=ft.Colors.BLUE, controls=[ diff --git a/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py b/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py index 35c8305d0..69b1eb879 100644 --- a/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py +++ b/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py @@ -13,10 +13,10 @@ async def test_image_for_docs(flet_app_function: ftt.FletTestApp, request): width=400, title="Account", subtitle="Manage profile and security", + expanded=True, controls=[ ft.ListTile(title=ft.Text("Profile")), ft.ListTile(title=ft.Text("Security")), ], - initially_expanded=True, ), ) From 9b2407617b069f155c95f1c75a2d52c300aba20b Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Mon, 27 Oct 2025 18:46:18 +0100 Subject: [PATCH 09/12] refactor: update image display examples and test cases --- sdk/python/README.md | 9 ++++----- sdk/python/packages/flet/docs/controls/image.md | 5 ++--- .../flet/integration_tests/assets/mignon.png | Bin 0 -> 26648 bytes .../integration_tests/assets/sample_image.jpg | Bin 232 -> 0 bytes .../controls/core/golden/macos/image/image.png | Bin 40556 -> 0 bytes .../controls/core/golden/macos/image/src.png | Bin 0 -> 42994 bytes .../image/{image_base64.png => src_base64.png} | Bin .../controls/core/test_image.py | 6 +++--- .../examples/core/test_image.py | 2 +- .../flet/src/flet/controls/core/image.py | 2 +- 10 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 sdk/python/packages/flet/integration_tests/assets/mignon.png delete mode 100644 sdk/python/packages/flet/integration_tests/assets/sample_image.jpg delete mode 100644 sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/image.png create mode 100644 sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src.png rename sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/{image_base64.png => src_base64.png} (100%) diff --git a/sdk/python/README.md b/sdk/python/README.md index 583c0c4b0..e9b9b6774 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -4,8 +4,7 @@ Package relationships: ```mermaid graph TD; - flet-core-->flet-runtime; - flet-core-->flet-pyodide; - flet-runtime-->flet-embed; - flet-runtime-->flet; -``` \ No newline at end of file + flet --> flet-cli; + flet --> flet-desktop; + flet --> flet-web; +``` diff --git a/sdk/python/packages/flet/docs/controls/image.md b/sdk/python/packages/flet/docs/controls/image.md index 1b2c04a7f..0adfadb2a 100644 --- a/sdk/python/packages/flet/docs/controls/image.md +++ b/sdk/python/packages/flet/docs/controls/image.md @@ -11,14 +11,13 @@ example_media: ../examples/controls/image/media [Live example](https://flet-controls-gallery.fly.dev/displays/image) -### Displaying an image +### Image gallery ```python --8<-- "{{ examples }}/gallery.py" ``` -{{ image(example_media + "/gallery.gif", alt="gallery", width="80%") }} - +{{ image(example_media + "/gallery.gif", width="80%") }} ### Displaying a base64 image diff --git a/sdk/python/packages/flet/integration_tests/assets/mignon.png b/sdk/python/packages/flet/integration_tests/assets/mignon.png new file mode 100644 index 0000000000000000000000000000000000000000..a760674567aca6837ffa260163804015c72a437d GIT binary patch literal 26648 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 n#BiPvZfMcnE(QZ?f43HrhDb4Fli$>^s%a_AQd= z;_!_xeoth&ua4q}J!oi>-V~-}@`*Y|Ia7vyRaZ-n^MhxK9NX36E6=2uNydi}`SJ(h CFJc-1 diff --git a/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/image.png b/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/image.png deleted file mode 100644 index 0e2169c94f6e57a1f568235936b3371e6df37af5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40556 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 QU;qFB07*qoM6N<$f;u!?%>V!Z diff --git a/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src.png b/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src.png new file mode 100644 index 0000000000000000000000000000000000000000..8c32183fd2b8460e611686be91b50fc7d975191d GIT binary patch literal 42994 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 KMNUMnLSTYR0rSlO literal 0 HcmV?d00001 diff --git a/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/image_base64.png b/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_base64.png similarity index 100% rename from sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/image_base64.png rename to sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_base64.png diff --git a/sdk/python/packages/flet/integration_tests/controls/core/test_image.py b/sdk/python/packages/flet/integration_tests/controls/core/test_image.py index db2d816b9..d28f9d445 100644 --- a/sdk/python/packages/flet/integration_tests/controls/core/test_image.py +++ b/sdk/python/packages/flet/integration_tests/controls/core/test_image.py @@ -5,11 +5,11 @@ @pytest.mark.asyncio(loop_scope="module") -async def test_image(flet_app: ftt.FletTestApp, request): +async def test_src(flet_app: ftt.FletTestApp, request): await flet_app.assert_control_screenshot( request.node.name, ft.Image( - src="https://picsum.photos/seed/picsum/100/100", + src="/mignon.png", width=100, height=100, fit=ft.BoxFit.CONTAIN, @@ -20,7 +20,7 @@ async def test_image(flet_app: ftt.FletTestApp, request): @pytest.mark.asyncio(loop_scope="module") -async def test_image_base64(flet_app: ftt.FletTestApp, request): +async def test_src_base64(flet_app: ftt.FletTestApp, request): await flet_app.assert_control_screenshot( request.node.name, ft.Image( diff --git a/sdk/python/packages/flet/integration_tests/examples/core/test_image.py b/sdk/python/packages/flet/integration_tests/examples/core/test_image.py index d9e890184..db126db6f 100644 --- a/sdk/python/packages/flet/integration_tests/examples/core/test_image.py +++ b/sdk/python/packages/flet/integration_tests/examples/core/test_image.py @@ -11,7 +11,7 @@ async def test_image_for_docs(flet_app_function: ftt.FletTestApp, request): await flet_app_function.assert_control_screenshot( request.node.name, ft.Image( - src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC", + src="https://flet.dev/img/logo.svg", width=100, height=100, ), diff --git a/sdk/python/packages/flet/src/flet/controls/core/image.py b/sdk/python/packages/flet/src/flet/controls/core/image.py index f1cd442be..2f883c9ce 100644 --- a/sdk/python/packages/flet/src/flet/controls/core/image.py +++ b/sdk/python/packages/flet/src/flet/controls/core/image.py @@ -29,7 +29,7 @@ class Image(LayoutControl): ```python ft.Image( - src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC", + src="https://flet.dev/img/logo.svg", width=100, height=100, ) From b334a82bf4ad301e118f521899c3bb6904de5146 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Tue, 28 Oct 2025 12:14:31 +0100 Subject: [PATCH 10/12] add logo SVG and enhance image source tests --- .../flet/integration_tests/assets/logo.svg | 14 ++++ .../assets/{mignon.png => minion.png} | Bin .../core/golden/macos/image/src_bytes.png | Bin 0 -> 22237 bytes .../macos/image/{src.png => src_png.png} | Bin .../golden/macos/image/src_svg_string.png | Bin 0 -> 2998 bytes .../core/golden/macos/image/src_svg_url.png | Bin 0 -> 2998 bytes .../controls/core/test_image.py | 72 +++++++++++++++++- .../golden/macos/image/image_for_docs.png | Bin 4284 -> 2998 bytes 8 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 sdk/python/packages/flet/integration_tests/assets/logo.svg rename sdk/python/packages/flet/integration_tests/assets/{mignon.png => minion.png} (100%) create mode 100644 sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_bytes.png rename sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/{src.png => src_png.png} (100%) create mode 100644 sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_svg_string.png create mode 100644 sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_svg_url.png diff --git a/sdk/python/packages/flet/integration_tests/assets/logo.svg b/sdk/python/packages/flet/integration_tests/assets/logo.svg new file mode 100644 index 000000000..4762afefc --- /dev/null +++ b/sdk/python/packages/flet/integration_tests/assets/logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/sdk/python/packages/flet/integration_tests/assets/mignon.png b/sdk/python/packages/flet/integration_tests/assets/minion.png similarity index 100% rename from sdk/python/packages/flet/integration_tests/assets/mignon.png rename to sdk/python/packages/flet/integration_tests/assets/minion.png diff --git a/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_bytes.png b/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_bytes.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd519f7bd580d2ee3760bed2de6f672fb6a1d49 GIT binary patch literal 22237 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 literal 0 HcmV?d00001 diff --git a/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_svg_url.png b/sdk/python/packages/flet/integration_tests/controls/core/golden/macos/image/src_svg_url.png new file mode 100644 index 0000000000000000000000000000000000000000..abe665e9b32cc3d45a0381a80fdc4dd5feed365c GIT binary patch literal 2998 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 literal 0 HcmV?d00001 diff --git a/sdk/python/packages/flet/integration_tests/controls/core/test_image.py b/sdk/python/packages/flet/integration_tests/controls/core/test_image.py index d28f9d445..e6b2ff125 100644 --- a/sdk/python/packages/flet/integration_tests/controls/core/test_image.py +++ b/sdk/python/packages/flet/integration_tests/controls/core/test_image.py @@ -1,3 +1,5 @@ +import base64 + import pytest import flet as ft @@ -5,11 +7,11 @@ @pytest.mark.asyncio(loop_scope="module") -async def test_src(flet_app: ftt.FletTestApp, request): +async def test_src_png(flet_app: ftt.FletTestApp, request): await flet_app.assert_control_screenshot( request.node.name, ft.Image( - src="/mignon.png", + src="/minion.png", width=100, height=100, fit=ft.BoxFit.CONTAIN, @@ -24,10 +26,74 @@ async def test_src_base64(flet_app: ftt.FletTestApp, request): await flet_app.assert_control_screenshot( request.node.name, ft.Image( - src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC", + src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC", # noqa: E501 width=100, height=100, ), pump_times=3, pump_duration=1000, ) + + +@pytest.mark.asyncio(loop_scope="module") +async def test_src_svg_url(flet_app: ftt.FletTestApp, request): + await flet_app.assert_control_screenshot( + request.node.name, + ft.Image( + src="https://flet.dev/img/logo.svg", + width=100, + height=100, + fit=ft.BoxFit.CONTAIN, + ), + pump_times=5, + pump_duration=1000, + ) + + +@pytest.mark.asyncio(loop_scope="module") +async def test_src_svg_string(flet_app: ftt.FletTestApp, request): + svg = """ + + + + + + + + + + + + + """ # noqa: E501 + + await flet_app.assert_control_screenshot( + request.node.name, + ft.Image( + src=svg, + width=100, + height=100, + fit=ft.BoxFit.CONTAIN, + ), + ) + + +@pytest.mark.asyncio(loop_scope="module") +async def test_src_bytes(flet_app: ftt.FletTestApp, request): + base64_string = "iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC" # noqa: E501 + # Decode the Base64 string into bytes + image_bytes = base64.b64decode(base64_string) + + await flet_app.assert_control_screenshot( + request.node.name, + ft.Image( + src_bytes=image_bytes, + width=100, + height=100, + fit=ft.BoxFit.CONTAIN, + ), + pump_times=5, + pump_duration=1000, + ) diff --git a/sdk/python/packages/flet/integration_tests/examples/core/golden/macos/image/image_for_docs.png b/sdk/python/packages/flet/integration_tests/examples/core/golden/macos/image/image_for_docs.png index e5600106b8517dd5de5eef8489fc38750aa0f8c3..abe665e9b32cc3d45a0381a80fdc4dd5feed365c 100644 GIT binary patch delta 2964 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 NU@lpk)tO-L{uecg&Sd}q From dd85e97d3d89aa05bb29dd1dffb0c7934c336d88 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Tue, 28 Oct 2025 18:42:22 +0100 Subject: [PATCH 11/12] docs: update image example to include base64 strings and byte data support --- .../examples/controls/image/src_base64.py | 14 ---------- .../controls/image/src_base64_and_bytes.py | 26 +++++++++++++++++++ .../packages/flet/docs/controls/image.md | 4 +-- 3 files changed, 28 insertions(+), 16 deletions(-) delete mode 100644 sdk/python/examples/controls/image/src_base64.py create mode 100644 sdk/python/examples/controls/image/src_base64_and_bytes.py diff --git a/sdk/python/examples/controls/image/src_base64.py b/sdk/python/examples/controls/image/src_base64.py deleted file mode 100644 index 99bb00320..000000000 --- a/sdk/python/examples/controls/image/src_base64.py +++ /dev/null @@ -1,14 +0,0 @@ -import flet as ft - - -def main(page: ft.Page): - page.add( - ft.Image( - src_base64="iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC", - width=100, - height=100, - ), - ) - - -ft.run(main) diff --git a/sdk/python/examples/controls/image/src_base64_and_bytes.py b/sdk/python/examples/controls/image/src_base64_and_bytes.py new file mode 100644 index 000000000..c8d8e14fc --- /dev/null +++ b/sdk/python/examples/controls/image/src_base64_and_bytes.py @@ -0,0 +1,26 @@ +import base64 + +import flet as ft + + +def main(page: ft.Page): + # image as base64 string + base64_src = "iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC" + # image as bytes + bytes_src = base64.b64decode(base64_src) + + page.add( + ft.Image( + src_base64=base64_src, + width=100, + height=100, + ), + ft.Image( + src_bytes=bytes_src, + width=100, + height=100, + ), + ) + + +ft.run(main) diff --git a/sdk/python/packages/flet/docs/controls/image.md b/sdk/python/packages/flet/docs/controls/image.md index 0adfadb2a..40b913231 100644 --- a/sdk/python/packages/flet/docs/controls/image.md +++ b/sdk/python/packages/flet/docs/controls/image.md @@ -19,10 +19,10 @@ example_media: ../examples/controls/image/media {{ image(example_media + "/gallery.gif", width="80%") }} -### Displaying a base64 image +### Displaying images from base64 strings and byte data ```python ---8<-- "{{ examples }}/base64.py" +--8<-- "{{ examples }}/src_base64_and_bytes.py" ``` ### Displaying a static SVG image From 8a224dc1cb04810348cb5af4f6230cd8cc4f5b31 Mon Sep 17 00:00:00 2001 From: ndonkoHenri Date: Tue, 28 Oct 2025 22:26:40 +0100 Subject: [PATCH 12/12] refactor: enhance `ExpansionTile` examples and tests --- .../controls/expansion_tile/__init__.py | 0 .../examples/controls/expansion_tile/basic.py | 29 +++++++++--------- .../controls/expansion_tile/borders.py | 3 +- .../expansion_tile/custom_animations.py | 3 +- .../controls/expansion_tile/media/basic.png | Bin 69272 -> 0 bytes .../expansion_tile/programmatic_expansion.py | 3 +- .../expansion_tile/theme_mode_toggle.py | 3 +- .../flet/docs/controls/expansiontile.md | 3 +- .../golden/macos/expansion_tile/basic.png | Bin 0 -> 80865 bytes .../examples/material/test_expansion_tile.py | 14 +++++++++ 10 files changed, 38 insertions(+), 20 deletions(-) create mode 100644 sdk/python/examples/controls/expansion_tile/__init__.py delete mode 100644 sdk/python/examples/controls/expansion_tile/media/basic.png create mode 100644 sdk/python/packages/flet/integration_tests/examples/material/golden/macos/expansion_tile/basic.png diff --git a/sdk/python/examples/controls/expansion_tile/__init__.py b/sdk/python/examples/controls/expansion_tile/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sdk/python/examples/controls/expansion_tile/basic.py b/sdk/python/examples/controls/expansion_tile/basic.py index 89237d9d3..1b6c39d14 100644 --- a/sdk/python/examples/controls/expansion_tile/basic.py +++ b/sdk/python/examples/controls/expansion_tile/basic.py @@ -6,7 +6,7 @@ def main(page: ft.Page): page.spacing = 0 page.padding = 0 - def handle_expansion_tile_change(e: ft.Event[ft.ExpansionTile]): + def handle_tile_change(e: ft.Event[ft.ExpansionTile]): page.show_dialog( ft.SnackBar( duration=1000, @@ -25,44 +25,45 @@ def handle_expansion_tile_change(e: ft.Event[ft.ExpansionTile]): page.add( ft.ExpansionTile( + expanded=True, title=ft.Text("ExpansionTile 1"), subtitle=ft.Text("Trailing expansion arrow icon"), - bgcolor=ft.Colors.BLUE_GREY_200, - collapsed_bgcolor=ft.Colors.BLUE_GREY_200, affinity=ft.TileAffinity.PLATFORM, maintain_state=True, collapsed_text_color=ft.Colors.RED, text_color=ft.Colors.RED, controls=[ - ft.ListTile( - title=ft.Text("This is sub-tile number 1"), - bgcolor=ft.Colors.BLUE_GREY_200, - ) + ft.ListTile(title=ft.Text("This is sub-tile number 1.1")), + ft.ListTile(title=ft.Text("This is sub-tile number 1.2")), ], ), ft.ExpansionTile( + expanded=True, title=ft.Text("ExpansionTile 2"), subtitle=ft.Text("Custom expansion arrow icon"), trailing=ft.Icon(ft.Icons.ARROW_DROP_DOWN), collapsed_text_color=ft.Colors.GREEN, text_color=ft.Colors.GREEN, - on_change=handle_expansion_tile_change, - controls=[ft.ListTile(title=ft.Text("This is sub-tile number 2"))], + on_change=handle_tile_change, + controls=[ + ft.ListTile(title=ft.Text("This is sub-tile number 2.1")), + ft.ListTile(title=ft.Text("This is sub-tile number 2.2")), + ], ), ft.ExpansionTile( + expanded=True, title=ft.Text("ExpansionTile 3"), subtitle=ft.Text("Leading expansion arrow icon"), affinity=ft.TileAffinity.LEADING, - expanded=True, collapsed_text_color=ft.Colors.BLUE_800, text_color=ft.Colors.BLUE_200, controls=[ - ft.ListTile(title=ft.Text("This is sub-tile number 3")), - ft.ListTile(title=ft.Text("This is sub-tile number 4")), - ft.ListTile(title=ft.Text("This is sub-tile number 5")), + ft.ListTile(title=ft.Text("This is sub-tile number 3.1")), + ft.ListTile(title=ft.Text("This is sub-tile number 3.2")), ], ), ) -ft.run(main) +if __name__ == "__main__": + ft.run(main) diff --git a/sdk/python/examples/controls/expansion_tile/borders.py b/sdk/python/examples/controls/expansion_tile/borders.py index d79374d71..643b1a558 100644 --- a/sdk/python/examples/controls/expansion_tile/borders.py +++ b/sdk/python/examples/controls/expansion_tile/borders.py @@ -41,4 +41,5 @@ def main(page: ft.Page): ) -ft.run(main) +if __name__ == "__main__": + ft.run(main) diff --git a/sdk/python/examples/controls/expansion_tile/custom_animations.py b/sdk/python/examples/controls/expansion_tile/custom_animations.py index a248837f5..14e535c4d 100644 --- a/sdk/python/examples/controls/expansion_tile/custom_animations.py +++ b/sdk/python/examples/controls/expansion_tile/custom_animations.py @@ -41,4 +41,5 @@ def switch_animation(e: ft.Event[ft.CupertinoSlidingSegmentedButton]): ) -ft.run(main) +if __name__ == "__main__": + ft.run(main) diff --git a/sdk/python/examples/controls/expansion_tile/media/basic.png b/sdk/python/examples/controls/expansion_tile/media/basic.png deleted file mode 100644 index d28585f9e9ddd79993cf7e63d8e49872919ad983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69272 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�yG3B2@t5dkJ|6s(-g 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 diff --git a/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py b/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py index 6b0dd0326..508146dce 100644 --- a/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py +++ b/sdk/python/examples/controls/expansion_tile/programmatic_expansion.py @@ -31,4 +31,5 @@ def collapse_tile(e: ft.Event[ft.OutlinedButton]): ) -ft.run(main) +if __name__ == "__main__": + ft.run(main) diff --git a/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py b/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py index e9a6733a2..0f4c0ffd8 100644 --- a/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py +++ b/sdk/python/examples/controls/expansion_tile/theme_mode_toggle.py @@ -87,4 +87,5 @@ def handle_expansion_tile_change(e: ft.Event[ft.ExpansionTile]): ) -ft.run(main) +if __name__ == "__main__": + ft.run(main) diff --git a/sdk/python/packages/flet/docs/controls/expansiontile.md b/sdk/python/packages/flet/docs/controls/expansiontile.md index 26396af68..7c45eeb2b 100644 --- a/sdk/python/packages/flet/docs/controls/expansiontile.md +++ b/sdk/python/packages/flet/docs/controls/expansiontile.md @@ -2,7 +2,6 @@ class_name: flet.ExpansionTile examples: ../../examples/controls/expansion_tile example_images: ../test-images/examples/material/golden/macos/expansion_tile -example_media: ../examples/controls/expansion_tile/media --- {{ class_summary(class_name, example_images + "/image_for_docs.png", image_caption="Basic ExpansionTile") }} @@ -17,7 +16,7 @@ example_media: ../examples/controls/expansion_tile/media --8<-- "{{ examples }}/basic.py" ``` -{{ image(example_media + "/basic.png", alt="basic", width="80%") }} +{{ image(example_images + "/basic.png", width="80%") }} ## Programmatic expansion/collapse diff --git a/sdk/python/packages/flet/integration_tests/examples/material/golden/macos/expansion_tile/basic.png b/sdk/python/packages/flet/integration_tests/examples/material/golden/macos/expansion_tile/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..e7d4ae17dbf6c59cc92bd4635ed025d9a12a46b3 GIT binary patch literal 80865 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 literal 0 HcmV?d00001 diff --git a/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py b/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py index 69b1eb879..0b8f576c0 100644 --- a/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py +++ b/sdk/python/packages/flet/integration_tests/examples/material/test_expansion_tile.py @@ -2,6 +2,7 @@ import flet as ft import flet.testing as ftt +from examples.controls.expansion_tile import basic @pytest.mark.asyncio(loop_scope="function") @@ -20,3 +21,16 @@ async def test_image_for_docs(flet_app_function: ftt.FletTestApp, request): ], ), ) + + +@pytest.mark.parametrize( + "flet_app_function", + [{"flet_app_main": basic.main}], + indirect=True, +) +@pytest.mark.asyncio(loop_scope="function") +async def test_basic(flet_app_function: ftt.FletTestApp): + flet_app_function.assert_screenshot( + "basic", + await flet_app_function.take_page_controls_screenshot(), + )