Commit Graph

21 Commits

Author SHA1 Message Date
darrenburns
17c6f3fc2a Fix for interaction between pseudoclasses and widget-level render caches (#2155)
* Using pseudoclass state in DataTable cache keys

* Use full pseudo-class state on tree cache key

* Adding tests for Widget.get_pseudo_class_state

* Test hiding hover cursor when mouse cursor leaves DataTable

* Update CHANGELOG.md
2023-03-28 14:26:24 +01: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
de692aaf07 fix for remove nodes (#2080)
* fix for remove nodes

* added test
2023-03-16 11:36:10 +00:00
Will McGugan
b0f5c35782 tabs widget (#2020)
* tabs widget

* click underline

* color tweak

* docs

* docs update

* expose Tab

* added remove_tab and clear

* fix cycling

* add animation

* docs

* changelog

* remove recompose

* docstrings

* Update docs/guide/actions.md

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

* Rodrigoed the tabs

* Update docs/widgets/tabs.md

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

* Update docs/widgets/tabs.md

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

* copy

* docstrings

* docstring

* docstring

* Apply suggestions from code review

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

* stop click

* docstring

* auto assign consistent IDs

* Apply suggestions from code review

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

* Document bindings

* document bindings

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Rodrigo Girão Serrão <5621605+rodrigogiraoserrao@users.noreply.github.com>
2023-03-13 14:39:15 +00:00
Darren Burns
9287f64a66 Add isort pre-commit hook, sort imports in src and test directories 2023-02-09 13:28:08 +00:00
Will McGugan
aba2633f44 Update tests/test_widget.py
Co-authored-by: darrenburns <darrenburns@users.noreply.github.com>
2023-01-25 12:00:51 +01:00
Will McGugan
3673b0ff48 keep reference to remove task 2023-01-24 16:01:37 +01:00
Will McGugan
d9dd1dcbe8 simplify 2023-01-24 15:53:53 +01:00
Will McGugan
f97392ac8b added test 2023-01-24 15:24:55 +01:00
darrenburns
df37a9b90a Add get_child_by_id and get_widget_by_id (#1146)
* Add get_child_by_id and get_widget_by_id

* Remove redundant code

* Add unit tests for app-level get_child_by_id and get_widget_by_id

* Remove redundant test fixture injection

* Update CHANGELOG

* Enforce uniqueness of ID amongst widget children

* Enforce unique widget IDs amongst widgets mounted together

* Update CHANGELOG.md

* Ensuring unique IDs in a more logical place

* Add docstring to NodeList._get_by_id

* Dont use duplicate IDs in tests, dont mount 2000 widgets

* Mounting less widgets in a unit test

* Reword error message

* Use lower-level depth first search in get_widget_by_id to break out early
2022-11-16 15:29:59 +00:00
Darren Burns
1b0c94e8a0 Remove draw.py, fix imports 2022-10-13 11:15:15 +01:00
Will McGugan
fdc549a66c fix test 2022-10-04 10:15:09 +01:00
Will McGugan
8589b90d92 test fix 2022-10-03 17:17:47 +01:00
Will McGugan
216d05b17f test fix 2022-09-20 16:33:07 +01:00
Will McGugan
6bfc26c1ec more docs 2022-05-25 15:36:58 +01:00
Darren Burns
43f65d73ae Pass Rich Style object into Textual render method 2022-05-06 10:20:05 +01:00
Darren Burns
e473e4873a Add style param to Widget render method 2022-05-05 16:06:49 +01:00
Will McGugan
bc497e0abe added auto height 2022-05-05 14:38:22 +01:00
Olivier Philippon
f7e72ed945 [widget] Better tests for types of values we handle or not in style's size 2022-04-27 11:26:33 +01:00
Olivier Philippon
9d1f9da641 [widget] Add a test for types of values we handle in style's size 2022-04-27 10:18:46 +01:00
Darren Burns
678a67ce2d Invisible widgets now dont render 2022-01-20 11:39:56 +00:00