Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sdk/python/flet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from flet.checkbox import Checkbox
from flet.circle_avatar import CircleAvatar
from flet.column import Column
from flet.container import Container, ContainerTapEventData
from flet.container import Container, ContainerTapEvent
from flet.control import Control
from flet.divider import Divider
from flet.drag_target import DragTarget
Expand All @@ -29,7 +29,7 @@
from flet.markdown import Markdown
from flet.navigation_rail import NavigationRail, NavigationRailDestination
from flet.outlined_button import OutlinedButton
from flet.page import KeyboardEventData, Page
from flet.page import KeyboardEvent, Page
from flet.popup_menu_button import PopupMenuButton, PopupMenuItem
from flet.progress_bar import ProgressBar
from flet.progress_ring import ProgressRing
Expand Down
7 changes: 5 additions & 2 deletions sdk/python/flet/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from flet.border import Border
from flet.constrained_control import ConstrainedControl
from flet.control import BlendMode, Control, OptionalNumber
from flet.control_event import ControlEvent
from flet.event_handler import EventHandler
from flet.gradients import Gradient
from flet.image import ImageFit, ImageRepeat
Expand Down Expand Up @@ -102,8 +103,10 @@ def __init__(
)

def convert_container_tap_event_data(e):
if self.ink:
return e
d = json.loads(e.data)
return ContainerTapEventData(**d)
return ContainerTapEvent(**d)

self.__on_click = EventHandler(convert_container_tap_event_data)
self._add_event_handler("click", self.__on_click.handler)
Expand Down Expand Up @@ -345,7 +348,7 @@ def on_hover(self, handler):
self._set_attr("onHover", None)


class ContainerTapEventData:
class ContainerTapEvent(ControlEvent):
def __init__(self, lx, ly, gx, gy) -> None:
self.local_x: float = lx
self.local_y: float = ly
Expand Down
9 changes: 9 additions & 0 deletions sdk/python/flet/control_event.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from flet.event import Event


class ControlEvent(Event):
def __init__(self, target: str, name: str, data: str, control, page):
Event.__init__(self, target=target, name=name, data=data)

self.control = control
self.page = page
3 changes: 0 additions & 3 deletions sdk/python/flet/event.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from flet.control import Control


class Event:
def __init__(self, target: str, name: str, data: str):
self.target: str = target
Expand Down
8 changes: 7 additions & 1 deletion sdk/python/flet/event_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ def __init__(self, result_converter=None) -> None:
def handler(self, e):
for h in self.__handlers.keys():
if self.__result_converter != None:
h(self.__result_converter(e))
r = self.__result_converter(e)
r.target = e.target
r.name = e.name
r.data = e.data
r.control = e.control
r.page = e.page
h(r)
else:
h(e)

Expand Down
13 changes: 3 additions & 10 deletions sdk/python/flet/page.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
OptionalNumber,
ScrollMode,
)
from flet.control_event import ControlEvent
from flet.event import Event
from flet.event_handler import EventHandler
from flet.floating_action_button import FloatingActionButton
Expand Down Expand Up @@ -76,7 +77,7 @@ def __init__(self, conn: Connection, session_id):

def convert_keyboard_event_data(e):
d = json.loads(e.data)
return KeyboardEventData(**d)
return KeyboardEvent(**d)

self.__on_keyboard_event = EventHandler(convert_keyboard_event_data)
self._add_event_handler("keyboard_event", self.__on_keyboard_event.handler)
Expand Down Expand Up @@ -951,16 +952,8 @@ def dialog(self, value: Optional[Control]):
self.__dialog = value


class ControlEvent(Event):
def __init__(self, target: str, name: str, data: str, control: Control, page: Page):
Event.__init__(self, target=target, name=name, data=data)

self.control: Control = control
self.page: Page = page


@dataclass
class KeyboardEventData:
class KeyboardEvent(ControlEvent):
key: str
shift: bool
ctrl: bool
Expand Down