mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
mount fix
This commit is contained in:
@@ -29,8 +29,8 @@ class SmoothApp(App):
|
||||
self.bar.layout_offset_x = -40
|
||||
|
||||
await self.view.dock(footer, edge="bottom")
|
||||
await self.view.dock(self.bar, edge="left", size=40, z=1)
|
||||
await self.view.dock(Placeholder(), Placeholder(), edge="top")
|
||||
await self.view.dock(self.bar, edge="left", size=40, z=1)
|
||||
|
||||
|
||||
SmoothApp.run()
|
||||
|
||||
@@ -59,7 +59,7 @@ class MessagePump:
|
||||
return self._parent and not self._parent._closed and not self._parent._closing
|
||||
|
||||
def log(self, *args) -> None:
|
||||
return self.app.log(args)
|
||||
return self.app.log(*args)
|
||||
|
||||
def set_parent(self, parent: MessagePump) -> None:
|
||||
self._parent = parent
|
||||
|
||||
@@ -100,7 +100,7 @@ class View(Widget):
|
||||
self.require_repaint()
|
||||
|
||||
async def refresh_layout(self) -> None:
|
||||
|
||||
await self.layout.mount_all(self)
|
||||
if not self.size or not self.is_root_view:
|
||||
return
|
||||
|
||||
@@ -108,10 +108,6 @@ class View(Widget):
|
||||
hidden, shown, resized = self.layout.reflow(width, height)
|
||||
self.app.refresh()
|
||||
|
||||
for widget in self.layout.get_widgets():
|
||||
if not self.is_mounted(widget):
|
||||
await self.mount(widget)
|
||||
|
||||
for widget in hidden:
|
||||
widget.post_message_no_wait(events.Hide(self))
|
||||
for widget in shown:
|
||||
|
||||
@@ -53,7 +53,7 @@ class DockView(View):
|
||||
) -> GridLayout:
|
||||
|
||||
grid = GridLayout(gap=gap, gutter=gutter, align=align)
|
||||
view = View(layout=grid)
|
||||
view = View(layout=grid, name=name)
|
||||
dock = Dock(edge, (view,), z)
|
||||
assert isinstance(self.layout, DockLayout)
|
||||
self.layout.docks.append(dock)
|
||||
@@ -64,4 +64,5 @@ class DockView(View):
|
||||
await self.mount(view)
|
||||
else:
|
||||
await self.mount(**{name: view})
|
||||
await self.refresh_layout()
|
||||
return grid
|
||||
|
||||
@@ -24,6 +24,14 @@ class Footer(Widget):
|
||||
"""If highlight key changes we need to regenerate the text."""
|
||||
self._key_text = None
|
||||
|
||||
async def on_mouse_move(self, event: events.MouseMove) -> None:
|
||||
"""Store any key we are moving over."""
|
||||
self.highlight_key = event.style.meta.get("key")
|
||||
|
||||
async def on_leave(self, event: events.Leave) -> None:
|
||||
"""Clear any highlight when the mouse leave the widget"""
|
||||
self.highlight_key = None
|
||||
|
||||
def __rich_repr__(self) -> rich.repr.RichReprResult:
|
||||
yield "keys", self.keys
|
||||
|
||||
@@ -55,11 +63,3 @@ class Footer(Widget):
|
||||
if self._key_text is None:
|
||||
self._key_text = self.make_key_text()
|
||||
return self._key_text
|
||||
|
||||
async def on_mouse_move(self, event: events.MouseMove) -> None:
|
||||
"""Store any key we are moving over."""
|
||||
self.highlight_key = event.style.meta.get("key")
|
||||
|
||||
async def on_leave(self, event: events.MouseMove) -> None:
|
||||
"""Clear any highlight when the mouse leave the widget"""
|
||||
self.highlight_key = None
|
||||
|
||||
Reference in New Issue
Block a user