Change Vertical to DataTable

master
VikingKong 3 years ago
parent 390c393b0c
commit 7fd487058d

@ -1,6 +1,6 @@
from textual.containers import Container, Vertical
from textual.app import ComposeResult, App
from textual.widgets import Static, Header
from textual.widgets import Static, Header, DataTable
class FeedPane(Vertical):
@ -9,6 +9,9 @@ class FeedPane(Vertical):
self.content = content
self.id = "feed-pane"
def add(self, e):
self.content.append(e)
def compose(self):
yield Vertical(*self.content, id="left-container")
@ -25,9 +28,6 @@ class FeedItem(Static):
self.update(self.content)
self.on_event
def on_click(self):
self.update("x")
class GUI(App):
CSS_PATH = "app.css"
@ -37,21 +37,33 @@ class GUI(App):
self.i = 0
def on_key(self, event):
item = self.query(FeedItem)[self.i]
item.set_styles("color: auto;")
# item = self.query(FeedItem)[self.i]
# item.set_styles("color: auto;")
if event.key == "j":
self.i += 1
elif event.key == "k":
self.i -= 1
elif event.key == "r":
pane = self.query_one(DataTable)
pane.data = {}
pane.row_count = 0
pane._line_no = 0
pane._y_offsets = []
pane._require_update_dimensions = True
pane.check_idle()
elif event.key == "a":
pane = self.query_one(DataTable)
pane.add_rows([["XXX"]])
else:
pass
item = self.query(FeedItem)[self.i]
item.set_styles("color: blue;")
# item = self.query(FeedItem)[self.i]
# item.set_styles("color: blue;")
def compose(self) -> ComposeResult:
yield Header()
yield Container(
FeedPane([FeedItem(f"Feed# {number}", number) for number in range(15)]),
# FeedPane([FeedItem(f"Feed# {number}", number) for number in range(15)]),
DataTable(),
Vertical(
*[Static("Horizontally"),
Static("Positioned"),
@ -62,6 +74,12 @@ class GUI(App):
id="app-grid",
)
def on_mount(self):
dt = self.query_one(DataTable)
dt.add_column("Feeds", width = 60)
# dt.add_rows([[FeedItem(f"Feed# {number}", number)] for number in range(15)])
dt.add_rows([[str(number)] for number in range(15)])
dt.focus()
if __name__ == "__main__":
app = GUI()

Loading…
Cancel
Save