diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b8b9a1663..3c17564d9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Flet changelog +## 0.28.2 + +* Fixed missing imports in `__init__.py` ([#5292](https://github.com/flet-dev/flet/pull/5292)). +* Fixed: GestureDetector should have at least one event handler defined ([#5293](https://github.com/flet-dev/flet/pull/5293)). + ## 0.28.0 * feat(cli): `flet -V` as alternative to `flet --version` ([#4791](https://github.com/flet-dev/flet/pull/4791)) diff --git a/README.md b/README.md index 715cae393e..a8bd90f0fd 100644 --- a/README.md +++ b/README.md @@ -37,14 +37,13 @@ At the moment you can write Flet apps in Python and other languages will be adde Here is a sample "Counter" app: ```python title="counter.py" -import flet -from flet import IconButton, Page, Row, TextField, icons +import flet as ft -def main(page: Page): +def main(page: ft.Page): page.title = "Flet counter example" - page.vertical_alignment = "center" + page.vertical_alignment = ft.MainAxisAlignment.CENTER - txt_number = TextField(value="0", text_align="right", width=100) + txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100) def minus_click(e): txt_number.value = str(int(txt_number.value) - 1) @@ -55,17 +54,17 @@ def main(page: Page): page.update() page.add( - Row( + ft.Row( [ - IconButton(icons.REMOVE, on_click=minus_click), + ft.IconButton(ft.Icons.REMOVE, on_click=minus_click), txt_number, - IconButton(icons.ADD, on_click=plus_click), + ft.IconButton(ft.Icons.ADD, on_click=plus_click), ], - alignment="center", + alignment=ft.alignment.center, ) ) -flet.app(target=main) +ft.app(main) ``` To run the app install `flet` module: diff --git a/ci/clean-pypi.sh b/ci/clean-pypi.sh index 42742696ae..f05605302c 100644 --- a/ci/clean-pypi.sh +++ b/ci/clean-pypi.sh @@ -1,5 +1,5 @@ # set PYPI_CLEANUP_PASSWORD with pypi.org password -VER="0\.25\.0\.dev" +VER="0\.28\.0\.dev" #VER="0\.21\.1" pypi-cleanup -u flet -p flet -y -r $VER --do-it pypi-cleanup -u flet -p flet-cli -y -r $VER --do-it diff --git a/packages/flet/CHANGELOG.md b/packages/flet/CHANGELOG.md index 01f29b3fee..8bc2394ea0 100644 --- a/packages/flet/CHANGELOG.md +++ b/packages/flet/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.28.2 + +* Fixed missing imports in `__init__.py` ([#5292](https://github.com/flet-dev/flet/pull/5292)). +* Fixed: GestureDetector should have at least one event handler defined ([#5293](https://github.com/flet-dev/flet/pull/5293)). + # 0.28.0 * New Features and Flutter 3.29 ([#4891](https://github.com/flet-dev/flet/issues/4891)) diff --git a/packages/flet/pubspec.yaml b/packages/flet/pubspec.yaml index 5447096e67..f10430a31f 100644 --- a/packages/flet/pubspec.yaml +++ b/packages/flet/pubspec.yaml @@ -2,7 +2,7 @@ name: flet description: Write entire Flutter app in Python or add server-driven UI experience into existing Flutter app. homepage: https://flet.dev repository: https://github.com/flet-dev/flet/packages/flet -version: 0.28.0 +version: 0.28.2 # This package supports all platforms listed below. platforms: diff --git a/sdk/python/packages/flet/src/flet/__init__.py b/sdk/python/packages/flet/src/flet/__init__.py index c105a1d9c4..45ec856792 100644 --- a/sdk/python/packages/flet/src/flet/__init__.py +++ b/sdk/python/packages/flet/src/flet/__init__.py @@ -1,11 +1,21 @@ from flet.app import app, app_async +from flet.core import ( + alignment, + border, + border_radius, + dropdown, + dropdownm2, + margin, + padding, + painting, + size, +) from flet.core.adaptive_control import AdaptiveControl from flet.core.alert_dialog import AlertDialog from flet.core.alignment import Alignment, Axis from flet.core.animated_switcher import AnimatedSwitcher, AnimatedSwitcherTransition -from flet.core.animation import Animation, AnimationCurve +from flet.core.animation import Animation, AnimationCurve, AnimationStyle from flet.core.app_bar import AppBar -from flet.core.reorderable_draggable import ReorderableDraggable from flet.core.audio import ( Audio, AudioDurationChangeEvent, @@ -278,6 +288,7 @@ from flet.core.radio_group import RadioGroup from flet.core.range_slider import RangeSlider from flet.core.ref import Ref +from flet.core.reorderable_draggable import ReorderableDraggable from flet.core.reorderable_list_view import OnReorderEvent, ReorderableListView from flet.core.responsive_row import ResponsiveRow from flet.core.rive import Rive diff --git a/sdk/python/packages/flet/src/flet/core/window_drag_area.py b/sdk/python/packages/flet/src/flet/core/window_drag_area.py index 6773ffa62a..23df8f10d2 100644 --- a/sdk/python/packages/flet/src/flet/core/window_drag_area.py +++ b/sdk/python/packages/flet/src/flet/core/window_drag_area.py @@ -53,8 +53,8 @@ def __init__( ) self.maximizable = maximizable - self.on_double_tap = on_double_tap - self.on_pan_start = on_pan_start + self._on_double_tap = on_double_tap + self._on_pan_start = on_pan_start def before_update(self): super().before_update() @@ -62,16 +62,13 @@ def before_update(self): def handle_double_tap(self, e: TapEvent): if self.maximizable and self.page.window.maximizable: - if not self.page.window.maximized: - self.page.window.maximized = True - else: - self.page.window.maximized = False + self.page.window.maximized = not self.page.window.maximized self.page.update() - if self.on_double_tap is not None and self.page.window.maximized: - self.on_double_tap(e) + if self._on_double_tap is not None and self.page.window.maximized: + self._on_double_tap(e) def handle_pan_start(self, e: DragStartEvent): self.page.window.start_dragging() - if self.on_pan_start is not None: - self.on_pan_start(e) + if self._on_pan_start is not None: + self._on_pan_start(e)