Commit Graph

5707 Commits

Author SHA1 Message Date
Will McGugan
9529cac352 Version 0.16.0 (#2106)
* snapshot

* words

* word update
v0.16.0
2023-03-22 13:38:23 +00:00
Rodrigo Girão Serrão
2a810f8c87 Implement border (sub)title. (#2064)
* Add Widget.border_title and border_subtitle.

Related issues: #1864

* Test setting border_(sub)title.

* Add border (sub)title references to StylesCache.

These internal references will make it easier for the instance of 'StylesCache' to know which border (sub)title to use, if/when needed.

* Add method to render border label.

* Add styles to align border (sub)title.

* Render border labels.

* Update styles template.

* Make new 'render_row' parameters optional.

* Add (sub)title border snapshot tests.

* Document border (sub)title and styles.

* Pass (sub)title directly as arguments.

Get rid of the watchers to make data flow easier to follow.
Related comment: https://github.com/Textualize/textual/pull/2064/files\#r1137746697

* Tweak example.

* Fix render_border_label.

This was wrong because border labels can be composed of multiple segments if they contain multiple styles. Additionally, we want to render a single blank space of padding around the title.

* Ensure we get no label when there's no space.

* Add tests for border label rendering.

* 'render_border_label' now returns iterable of segments.

* Add label to render_row.

* Fix calling signature in tests.

* Add padding to snapshot tests.

* Fix changelog.

* Update snapshot tests.

* Update snapshot tests.

* Border labels expand if there's no corners.

* Update CHANGELOG.md

* Fix docs.

* Remove irrelevant line.

* Fix snapshot tests.

* Don't share Console among tests.

* Simplify example in styles guide.

* Avoid expensive function call when possible.

* rewording

* positive branch first

* remove wasteful indirection

* fix changelog

---------

Co-authored-by: Will McGugan <willmcgugan@gmail.com>
2023-03-22 11:07:38 +00:00
Rodrigo Girão Serrão
29692736d0 Merge pull request #2095 from Textualize/fix-1438
Allow paths when creating 'DirectoryTree'.
2023-03-21 14:35:28 +00:00
Rodrigo Girão Serrão
f92c939511 Rename variable. 2023-03-21 14:27:03 +00:00
Rodrigo Girão Serrão
2d70172b8e Allow paths when creating 'DirectoryTree'.
Related issues: #1438.
2023-03-21 14:18:49 +00:00
Will McGugan
5cd1263875 Simplify driver (#2091)
* simplify driver

* fix headless driver

* docstrings and simplify

* tidy

* docstrings

* docstring

* docstring

* more docstrings

* import

* Update src/textual/app.py

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* Update src/textual/driver.py

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* docstring

* Update src/textual/drivers/linux_driver.py

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* Update src/textual/drivers/linux_driver.py

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* Update src/textual/drivers/linux_driver.py

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* docstring

---------

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-03-21 10:17:51 +00:00
Will McGugan
a08d8e417b full map optimization fix (#2092) 2023-03-20 15:30:52 +00:00
Will McGugan
7185e2930d Driver class environ (#2036)
* Driver class environment variable

* comments
2023-03-20 11:21:56 +00:00
Will McGugan
2a6368754a fix screenshot 2023-03-18 17:02:46 +00:00
Will McGugan
50f4bd5f46 remove fonts 2023-03-18 16:47:51 +00:00
Will McGugan
8fca0852d4 fix for scrollbar issue (#2086)
* fix for scrollbar issue

* pause between mouse messages
2023-03-18 13:55:24 +00:00
Jeff Epler
d999c69261 Allow customizing the markdown parser (#2075)
* Allow customizing the markdown parser

For instance, code using Markdown might wish to create a markdown
parser that does not parse embedded HTML:
```py
def parser_factory():
    parser = MarkdownIt("gfm-like")
    parser.options["html"] = False
    return parser
```

* blacken

* Implement requested changes

* fix AttributeError
2023-03-18 11:19:05 +00:00
Will McGugan
f5e779c4c4 tabbed content widget (#2059)
* tabbed content widget

* TabbedContent widget and docs

* missing docs

* fix active

* doc fix

* test fix

* additional test

* test for render_str

* docstring

* changelog

* doc update

* changelog

* fix bad optimization

* Update docs/widgets/tabbed_content.md

Co-authored-by: Dave Pearson <davep@davep.org>

* fix for empty initial

* docstrings

* Update src/textual/widgets/_content_switcher.py

Co-authored-by: Dave Pearson <davep@davep.org>

* docstring

* remove log

* permit nested tabs

* renamed TabsCleared to Cleared

* added tests, fix types on click

* tests

* fix broken test

* fix for nested tabs

---------

Co-authored-by: Dave Pearson <davep@davep.org>
2023-03-18 10:38:41 +00:00
Will McGugan
2c120c0983 Replace markdown table (#2055)
* Replace markdown table

* snapshots

* fix markdown snapshot

* snapshot update

* imports and docstrings

* remove reference to DataTable

* typing fix
2023-03-18 10:38:26 +00:00
Will McGugan
45520f2da1 color tests to 100% (#2078)
* color tests to 100%

* tweak

* remove overly complex code
2023-03-16 11:42:51 +00:00
Will McGugan
de692aaf07 fix for remove nodes (#2080)
* fix for remove nodes

* added test
2023-03-16 11:36:10 +00:00
Will McGugan
a404ee5e01 add app to active message pump (#2071)
* add app to active message pump

* made sender private

* changelog
2023-03-16 11:26:08 +00:00
Will McGugan
43253f5d80 fix border issue (#2074)
* fix border issue

* add PR to changelog
2023-03-16 09:03:02 +00:00
Will McGugan
9b191914cb copy change 2023-03-15 20:28:02 +00:00
TomJGooding
111233f1b4 fix(markdown): handle hard line breaks (#2060) 2023-03-15 20:24:15 +00:00
Will McGugan
04340bd0ba new post (#2069)
* new post

* Update docs/blog/posts/await-me-maybe.md

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* Update docs/blog/posts/await-me-maybe.md

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* Update docs/blog/posts/await-me-maybe.md

Co-authored-by: Dave Pearson <davep@davep.org>

* Update docs/blog/posts/await-me-maybe.md

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>

* words

---------

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
Co-authored-by: Dave Pearson <davep@davep.org>
2023-03-15 16:49:12 +00:00
Will McGugan
8d17ad39fd copy edit 2023-03-15 16:39:05 +00:00
Will McGugan
c889b4bfe9 words 2023-03-15 16:35:18 +00:00
Will McGugan
d64e9a7e67 Update docs/blog/posts/await-me-maybe.md
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-03-15 16:15:47 +00:00
Will McGugan
66535e9c07 Update docs/blog/posts/await-me-maybe.md
Co-authored-by: Dave Pearson <davep@davep.org>
2023-03-15 16:01:11 +00:00
Will McGugan
01045e6b7f Update docs/blog/posts/await-me-maybe.md
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-03-15 16:00:55 +00:00
Will McGugan
dab39c719b Update docs/blog/posts/await-me-maybe.md
Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-03-15 15:51:30 +00:00
Will McGugan
31be9e059e new post 2023-03-15 15:34:39 +00:00
Rodrigo Girão Serrão
1246934643 Merge pull request #2030 from Textualize/add-containers
Add containers
2023-03-15 10:37:01 +00:00
Rodrigo Girão Serrão
10a5d171eb Get rid of _Clock and move utility time-related functions to _time.py. (#2042)
* Remove _clock.py::sleep.

* Move _clock.py::get_time_no_wait to _time.py.

* Move _clock.py::get_time to _time.py.

* Remove async version of _time.py::get_time.

We started by removing '_time.py::get_time' because that was the async one and then I renamed 'get_time_no_wait' to 'get_time'.

* Make 'get_time' just an alias.
2023-03-15 08:56:10 +00:00
Will McGugan
c5f1cbd22c Loading indicator simplify (#2050)
* nice simplify

* import

* changelog

* doc [skip ci]
2023-03-14 18:04:58 +00:00
Dave Pearson
d80e38ce03 Merge pull request #2057 from davep/stylezilla
Add some initial rules to a "mega stylesheet"
2023-03-14 15:59:41 +00:00
Rodrigo Girão Serrão
285de4b0fa Merge branch 'main' into add-containers 2023-03-14 14:35:23 +00:00
Rodrigo Girão Serrão
d775a90fa2 Address review comments. 2023-03-14 14:33:10 +00:00
Dave Pearson
8220af4bfe Add some initial rules to a "mega stylesheet"
The start of what will hopefully become a one-stop comprehensive test of all
the fun corners of stylesheet parsing. While not intended to replace all the
other unit tests for CSS, this test should help to quickly and easily be
sure that nothing breaks any valid CSS.

Influenced by #1253 and #1836 this code starts the process of implementing
the requirement outlined in #1838.

Adding more rules -- simple and/or weird -- that are expected and known to
parse without a problem is encouraged.
2023-03-14 14:11:32 +00:00
Will McGugan
85cce4a09e changelog 2023-03-14 10:02:15 +00:00
Rodrigo Girão Serrão
145872c100 Merge pull request #2041 from Textualize/simplify-message-namespace
Simplify namespace for inherited messages from ToggleButton
2023-03-14 09:59:34 +00:00
Will McGugan
507ee48967 version bump (#2049) v0.15.1 2023-03-14 09:57:31 +00:00
Dave Pearson
551d93c7c8 Ensure that Tab is available from textual.widgets (#2045)
Fixes #2044
2023-03-14 09:48:20 +00:00
Dave Pearson
b9c6520db4 Make the Python code for dock.md more... Pythonic (#2046)
Fixes #2043.
2023-03-14 09:47:51 +00:00
Dave Pearson
98f56aa1f6 Fix a typo in example code in the 0.14.0 release blog post (#2047)
Credit to #2021 for the spot.
2023-03-14 09:47:28 +00:00
Dave Pearson
cfb8219e44 Merge pull request #2039 from davep/new-disabled-snapshot-test
Simplify the disabled widgets snapshot test
2023-03-14 08:48:40 +00:00
Rodrigo Girão Serrão
ae83e12483 Simplify namespace for inherited messages.
Related issues: #1814.
Related PRs: 2038.
2023-03-13 16:28:51 +00:00
Rodrigo Girão Serrão
53a56da317 Merge pull request #2038 from Textualize/message-namespaces
Change how to determine whether a message needs an updated namespace
2023-03-13 16:24:11 +00:00
Rodrigo Girão Serrão
f9a1e27c6f Merge branch 'main' into add-containers
[skip ci]
2023-03-13 16:21:46 +00:00
Rodrigo Girão Serrão
eea61c1b0b Fix changelog. [skip ci] 2023-03-13 16:16:00 +00:00
Rodrigo Girão Serrão
f81dd4071c Merge branch 'main' into message-namespaces 2023-03-13 16:08:50 +00:00
Will McGugan
a3887dfcbb new release (#2040)
* new release

* reword [skip ci]
v0.15.0
2023-03-13 15:48:41 +00:00
Dave Pearson
cf62a4a76a Update the snapshots 2023-03-13 15:37:45 +00:00
Dave Pearson
dd49a723ee Simplify the disabled snapshot test
Initially this was "throw most if not all widgets at the display and disable
everything" test; but in #2028 it was requested that this be simplified,
just using the same widget, in enabled and disabled states.

Button seems like a good choice here.

To ensure that things work as intended, I'm going with the approach of
disabling via a container as that's one big change that the disabled
facility brought in.
2023-03-13 15:31:29 +00:00