repaired scroll view

This commit is contained in:
Will McGugan
2021-07-05 12:41:09 +01:00
parent 426fa617f7
commit fe288e8d92
16 changed files with 98 additions and 106 deletions

View File

@@ -1,25 +0,0 @@
from textual import events
from textual.app import App
from textual.views import DockView
from textual.widgets import Header, Help, Footer, Placeholder, MarkdownViewer
class MyApp(App):
async def on_load(self, event: events.Load) -> None:
await self.bind("q, ctrl+c", "quit")
await self.bind("b", "view.toggle('sidebar')", "Toggle Sidebar")
await self.bind("h", "view.help")
async def on_startup(self, event: events.Startup) -> None:
view = await self.push_view(DockView())
await view.dock(Header(), edge="top")
await view.dock(Footer("q", "b", "h"), edge="bottom")
await view.dock(Placeholder(), edge="left")
await view.dock(MarkdownViewer("readme.md"))
async def action_help(self) -> None:
await self.push_view(Help())
app = MyApp(title="Simple Textual App")
app.run()

View File

@@ -2,23 +2,37 @@ from rich.markdown import Markdown
from textual import events
from textual.app import App
from textual.widgets.header import Header
from textual.widgets.placeholder import Placeholder
from textual.widgets.scroll_view import ScrollView
with open("richreadme.md", "rt") as fh:
readme = Markdown(fh.read(), hyperlinks=True, code_theme="fruity")
from textual.view import DockView
from textual.widgets import Header, Footer, Placeholder, ScrollView
class MyApp(App):
"""An example of a very simple Textual App"""
KEYS = {"q": "quit", "ctrl+c": "quit", "b": "view.toggle('left')"}
async def on_load(self, event: events.Load) -> None:
await self.bind("q,ctrl+c", "quit")
await self.bind("b", "view.toggle('sidebar')")
async def on_startup(self, event: events.Startup) -> None:
await self.view.mount_all(
header=Header(self.title), left=Placeholder(), body=ScrollView(readme)
)
view = await self.push_view(DockView())
header = Header(self.title)
footer = Footer()
sidebar = Placeholder(name="sidebar")
with open("richreadme.md", "rt") as fh:
readme = Markdown(fh.read(), hyperlinks=True)
body = ScrollView(readme)
footer.add_key("b", "Toggle sidebar")
footer.add_key("q", "Quit")
await view.dock(header, edge="top")
await view.dock(footer, edge="bottom")
await view.dock(sidebar, edge="left", size=30)
await view.dock(body, edge="right")
self.require_layout()
app = MyApp()
app = MyApp(title="Simple App")
app.run()