Skip to content

Commit 94e4fa0

Browse files
authored
Cleanup 0.22.0 (#3002)
* fix typing * PopupMenuButton: remove onSelected * PopupMenuButton: fix check selection * Update ErrorControl message in CupertinoSlidingSegmentedButton and CupertinoSegmentedButton * DatePicker, TimePicker: fix on_entry_mode_change * DatePicker, TimePicker: export event handlers * Export ListTileTitleAlignment * Checkbox: remove unused imports * deprecate warning in UserControl
1 parent dd9fcdf commit 94e4fa0

File tree

12 files changed

+32
-43
lines changed

12 files changed

+32
-43
lines changed

packages/flet/lib/src/controls/checkbox.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
import 'dart:convert';
2-
31
import 'package:flutter/material.dart';
42

53
import '../flet_control_backend.dart';
64
import '../models/control.dart';
75
import '../utils/borders.dart';
86
import '../utils/colors.dart';
9-
import '../utils/material_state.dart';
107
import '../utils/mouse.dart';
118
import '../utils/text.dart';
129
import '../utils/theme.dart';

packages/flet/lib/src/controls/cupertino_segmented_button.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ class _CupertinoSegmentedButtonControlState
4646
int? selectedIndex = widget.control.attrInt("selectedIndex");
4747

4848
if (ctrls.length < 2) {
49-
return const ErrorControl("When allow_empty_selection is False, "
50-
"the selected property must contain at least one value.");
49+
return const ErrorControl(
50+
"CupertinoSegmentedButton must have at least two controls.");
5151
}
5252
var children = ctrls.asMap().map((i, c) => MapEntry(
5353
i,

packages/flet/lib/src/controls/cupertino_sliding_segmented_button.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ class _CupertinoSlidingSegmentedButtonControlState
5353
const EdgeInsets.symmetric(vertical: 2, horizontal: 3);
5454

5555
if (ctrls.length < 2) {
56-
return const ErrorControl("When allow_empty_selection is False, "
57-
"the selected property must contain at least one value.");
56+
return const ErrorControl(
57+
"CupertinoSlidingSegmentedButton must have at least two controls.");
5858
}
5959
Map<int, Widget> children = ctrls.asMap().map((i, c) => MapEntry(
6060
i,

packages/flet/lib/src/controls/popup_menu_button.dart

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ class PopupMenuButtonControl extends StatelessWidget with FletStoreMixin {
8787
onOpened: () {
8888
backend.triggerControlEvent(control.id, "open");
8989
},
90-
onSelected: (itemId) {
91-
backend.triggerControlEvent(itemId, "click");
92-
},
9390
position: menuPosition,
9491
itemBuilder: (BuildContext context) =>
9592
viewModel.controlViews.map((cv) {
@@ -128,8 +125,6 @@ class PopupMenuButtonControl extends StatelessWidget with FletStoreMixin {
128125
mouseCursor: parseMouseCursor(
129126
cv.control.attrString("mouseCursor")),
130127
onTap: () {
131-
backend.updateControlState(
132-
cv.control.id, {"checked": "${!checked}"});
133128
backend.triggerControlEvent(
134129
cv.control.id, "click", "${!checked}");
135130
},

sdk/python/packages/flet-core/src/flet_core/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
DataRow,
104104
DataTable,
105105
)
106-
from flet_core.date_picker import DatePicker, DatePickerEntryMode, DatePickerMode
106+
from flet_core.date_picker import DatePicker, DatePickerEntryMode, DatePickerMode, DatePickerEntryModeChangeEvent
107107
from flet_core.dismissible import (
108108
Dismissible,
109109
DismissibleDismissEvent,
@@ -154,7 +154,7 @@
154154
from flet_core.icon import Icon
155155
from flet_core.icon_button import IconButton
156156
from flet_core.image import Image
157-
from flet_core.list_tile import ListTile, ListTileStyle
157+
from flet_core.list_tile import ListTile, ListTileTitleAlignment, ListTileStyle
158158
from flet_core.list_view import ListView
159159
from flet_core.lottie import Lottie
160160
from flet_core.margin import Margin
@@ -282,7 +282,7 @@
282282
TimePickerTheme,
283283
TooltipTheme,
284284
)
285-
from flet_core.time_picker import TimePicker, TimePickerEntryMode
285+
from flet_core.time_picker import TimePicker, TimePickerEntryMode, TimePickerEntryModeChangeEvent
286286
from flet_core.tooltip import Tooltip
287287
from flet_core.transform import Offset, Rotate, Scale
288288
from flet_core.transparent_pointer import TransparentPointer

sdk/python/packages/flet-core/src/flet_core/date_picker.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
from datetime import date, datetime
32
from enum import Enum
43
from typing import Any, Optional, Union
@@ -30,8 +29,8 @@ class DatePickerEntryMode(Enum):
3029

3130

3231
class DatePickerEntryModeChangeEvent(ControlEvent):
33-
def __init__(self, mode) -> None:
34-
self.mode: Optional[DatePickerEntryMode] = DatePickerEntryMode(mode)
32+
def __init__(self, entry_mode) -> None:
33+
self.entry_mode: Optional[DatePickerEntryMode] = DatePickerEntryMode(entry_mode)
3534

3635

3736
class DatePicker(Control):
@@ -128,12 +127,7 @@ def __init__(
128127
data=data,
129128
)
130129

131-
def convert_entry_mode_event_data(e):
132-
d = json.loads(e.data)
133-
self.__result = DatePickerEntryModeChangeEvent(**d)
134-
return self.__result
135-
136-
self.__on_entry_mode_change = EventHandler(convert_entry_mode_event_data)
130+
self.__on_entry_mode_change = EventHandler(lambda e: DatePickerEntryModeChangeEvent(e.data))
137131
self._add_event_handler(
138132
"entryModeChange", self.__on_entry_mode_change.get_handler()
139133
)

sdk/python/packages/flet-core/src/flet_core/divider.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def _get_control_name(self):
8181
# height
8282
@property
8383
def height(self) -> OptionalNumber:
84-
return self._get_attr("height")
84+
return self._get_attr("height", data_type="float")
8585

8686
@height.setter
8787
def height(self, value: OptionalNumber):
@@ -90,7 +90,7 @@ def height(self, value: OptionalNumber):
9090
# thickness
9191
@property
9292
def thickness(self) -> OptionalNumber:
93-
return self._get_attr("thickness")
93+
return self._get_attr("thickness", data_type="float")
9494

9595
@thickness.setter
9696
def thickness(self, value: OptionalNumber):
@@ -108,7 +108,7 @@ def color(self, value: Optional[str]):
108108
# leading_indent
109109
@property
110110
def leading_indent(self) -> OptionalNumber:
111-
return self._get_attr("leadingIndent")
111+
return self._get_attr("leadingIndent", data_type="float")
112112

113113
@leading_indent.setter
114114
def leading_indent(self, value: OptionalNumber):
@@ -117,7 +117,7 @@ def leading_indent(self, value: OptionalNumber):
117117
# trailing_indent
118118
@property
119119
def trailing_indent(self) -> OptionalNumber:
120-
return self._get_attr("trailingIndent")
120+
return self._get_attr("trailingIndent", data_type="float")
121121

122122
@trailing_indent.setter
123123
def trailing_indent(self, value: OptionalNumber):

sdk/python/packages/flet-core/src/flet_core/time_picker.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
from datetime import time
32
from enum import Enum
43
from typing import Any, Optional, Union
@@ -19,8 +18,8 @@ class TimePickerEntryMode(Enum):
1918

2019

2120
class TimePickerEntryModeChangeEvent(ControlEvent):
22-
def __init__(self, mode) -> None:
23-
self.mode: Optional[TimePickerEntryMode] = TimePickerEntryMode(mode)
21+
def __init__(self, entry_mode) -> None:
22+
self.entry_mode: Optional[TimePickerEntryMode] = TimePickerEntryMode(entry_mode)
2423

2524

2625
class TimePicker(Control):
@@ -111,12 +110,7 @@ def __init__(
111110
data=data,
112111
)
113112

114-
def convert_entry_mode_event_data(e):
115-
d = json.loads(e.data)
116-
self.__result = TimePickerEntryModeChangeEvent(**d)
117-
return self.__result
118-
119-
self.__on_entry_mode_change = EventHandler(convert_entry_mode_event_data)
113+
self.__on_entry_mode_change = EventHandler(lambda e: TimePickerEntryModeChangeEvent(e.data))
120114
self._add_event_handler(
121115
"entryModeChange", self.__on_entry_mode_change.get_handler()
122116
)

sdk/python/packages/flet-core/src/flet_core/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class UrlTarget(Enum):
3131
SELF = "_self"
3232
PARENT = "_parent"
3333
TOP = "_top"
34-
UNFENCED_TOP = "_unfencedTop"
34+
# UNFENCED_TOP = "_unfencedTop"
3535

3636

3737
PaddingValue = Union[None, int, float, Padding]

sdk/python/packages/flet-core/src/flet_core/user_control.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
from flet_core.stack import Stack
2+
from flet_core.utils import deprecated
23

34

45
class UserControl(Stack):
6+
@deprecated(
7+
reason="UserControl is deprecated. See https://flet.dev/docs/getting-started/custom-controls.",
8+
version="0.21.0",
9+
delete_version="1.0",
10+
)
11+
def __init__(self):
12+
super().__init__()
13+
514
def build(self):
615
pass
716

0 commit comments

Comments
 (0)