From db403c650728a84d7376b3f12ab9d65757776edf Mon Sep 17 00:00:00 2001 From: laffra Date: Mon, 13 Nov 2023 13:31:27 +0100 Subject: [PATCH] Style the examples --- examples/custom.py | 5 +++-- index.html | 27 ++++++++++++++++++++++++++- main.py | 32 +++++++++++++++++++++----------- progress_line.gif | Bin 0 -> 23951 bytes 4 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 progress_line.gif diff --git a/examples/custom.py b/examples/custom.py index 6719337..f7ad38d 100644 --- a/examples/custom.py +++ b/examples/custom.py @@ -7,7 +7,7 @@ def create(): class CustomWidget(ltk.VBox): - classes = [ "custom" ] + classes = [ "custom Widget" ] def __init__(self, src, label): ltk.VBox.__init__(self, @@ -23,7 +23,8 @@ def __init__(self, src, label): ltk.Card( CustomWidget("https://chrislaffra.com/chris.png", "Chris laffra") ).css("width", 200).draggable(), - ltk.Text("For clarity, we marked the custom widget orange.").css("margin-top", 20), + ltk.Text("For clarity, we marked the custom widget orange.") + .css("margin-top", 20), ltk.H4("Tip: drag the card."), ) .attr("name", "Custom") # example diff --git a/index.html b/index.html index 87b272a..f97dc67 100644 --- a/index.html +++ b/index.html @@ -15,9 +15,34 @@ + -

The PyScript LTK Kitchen Sink

+
+ +
+ +
+

The PyScript LTK Kitchen Sink

+
diff --git a/main.py b/main.py index 974fccd..d991a47 100644 --- a/main.py +++ b/main.py @@ -9,17 +9,27 @@ def cleanup(src): if not "# example" in line ]) +ltk.find("#progress").remove() ltk.body.append( - ltk.Tabs( - ltk.HBox( - example.css("width", "50%"), - ltk.VBox( - ltk.H2("The source:"), - ltk.TextArea(cleanup(example.attr("src"))) - .css("height", 400) - ).css("width", "50%"), - ).attr("name", example.attr("name")) - for example in examples.elements + ltk.Div( + ltk.Tabs( + ltk.HBox( + example.css("width", "40%"), + ltk.VBox( + ltk.H2("The source:"), + ltk.TextArea(cleanup(example.attr("src"))) + .css("height", 400) + .css("border-width", 0) + .css("font-family", "Courier") + ) + .css("width", "60%") + .css("padding-left", 24) + .css("border-left", "2px solid lightgray"), + ).attr("name", example.attr("name")) + for example in examples.elements + ) ) -) + .css("width", 1300) + .css("margin", "auto") +) \ No newline at end of file diff --git a/progress_line.gif b/progress_line.gif new file mode 100644 index 0000000000000000000000000000000000000000..074b1d053094592941d81700ce556d9bdb27e46f GIT binary patch literal 23951 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%0A?m&2>=xygGddV#5 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 literal 0 HcmV?d00001