Commit graph

37 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
d08bc6e45d
Add relabel helper to pane_grid::State 2024-10-24 14:17:38 +02:00
Héctor Ramón Jiménez
55504ffcd4
Rename state::Widget to pane_grid::Memory 2024-10-24 13:55:04 +02:00
Héctor Ramón Jiménez
659669dd58
Remove duplicated maximized state in pane_grid 2024-10-24 13:48:34 +02:00
Cory Forsstrom
5ebd8ac83f
Keep Pane associated to state / layout after swap
State continuity is dependent on keeping a node associated
to it's original `Pane` id. When splitting -> swapping
nodes, we need to assign it back to the original `Pane`
to enforce continuity.
2024-10-24 13:05:42 +02:00
Cory Forsstrom
9ac3318357
Retain widget state against incoming panes
We can associate each state with a `Pane` and compare
that against the new panes to remove states w/ respective
panes which no longer exist.

Because we always increment `Pane`, new states are always
added to the end, so this retain + add new state approach
will ensure continuity when panes are added & removed
2024-10-24 13:05:42 +02:00
Cory Forsstrom
415fd4f643
Use BTreeMap for Ord iteration of panes
This ensures continuity in how panes are iterated on
when building widget state
2024-10-24 13:05:42 +02:00
mtkennerly
3a434c9505
Add compact variant for pane grid controls 2024-08-22 12:43:48 -04:00
Héctor Ramón Jiménez
422568dee4
Introduce black_box and chain in widget::operation 2024-08-08 01:25:00 +02:00
Héctor Ramón Jiménez
a25b1af456
Replace Command with a new Task API with chain support 2024-06-14 01:47:39 +02:00
Héctor Ramón Jiménez
f5bcfec821
Use rustc-hash for most of our HashMap and HashSet instances 2024-04-01 12:00:15 +02:00
Héctor Ramón Jiménez
f0ae9a0c38
Use Catalog approach for all widgets 2024-03-24 05:03:09 +01:00
Héctor Ramón Jiménez
2088e5d661
Try using closures for Container::style
`Box` should not allocate for zero-sized types; so
we should not be incurring much overhead. Just a
bit of indirection.
2024-03-12 13:31:16 +01:00
Héctor Ramón Jiménez
833538ee7f
Leverage DefaultStyle traits instead of Default 2024-03-07 20:11:32 +01:00
Héctor Ramón Jiménez
34e7c6593a
Use Style struct pattern instead of trait for all widgets 2024-03-06 20:30:58 +01:00
Héctor Ramón Jiménez
597a41cea7
Simplify theming for PickList, ComboBox, and Menu widgets 2024-03-06 17:08:57 +01:00
Héctor Ramón Jiménez
29326215cc
Simplify theming for Container widget 2024-03-05 03:48:08 +01:00
Héctor Ramón Jiménez
c723c101d4
Fix PaneGrid mouse interaction when clicking a pane 2024-02-27 02:19:41 +01:00
Héctor Ramón Jiménez
738aa47547
Remove position from overlay::Element 2024-02-01 01:08:21 +01:00
Héctor Ramón Jiménez
7a50e9e8fb
Convert Renderer::Theme to generic Widget type 2024-01-21 17:56:01 +01:00
Héctor Ramón Jiménez
0655a20ad1
Make Shrink have priority over Fill in layout 2024-01-04 06:51:21 +01:00
Joao Freitas
116fb666b0
Add deadband distance before initiating drag action on pane grid 2023-12-15 10:29:43 +00:00
Héctor Ramón Jiménez
6c386e90a1
Fix clippy::trivially-copy-pass-by-ref 2023-09-20 04:33:48 +02:00
Héctor Ramón Jiménez
34f07b6027
Fix clippy::semicolon_if_nothing_returned 2023-09-20 04:11:52 +02:00
Héctor Ramón Jiménez
b8e5693a30
Merge branch 'master' into explicit-text-caching 2023-09-10 00:34:21 +02:00
Matthias Vogelgesang
89d9f1d7d2 Fix majority of unresolved documentation links 2023-09-09 18:59:17 +02:00
Héctor Ramón Jiménez
a026e917d3
Make widget::Tree mutable in Widget::layout 2023-08-30 06:36:24 +02:00
Héctor Ramón Jiménez
ed3454301e
Implement explicit text caching in the widget state tree 2023-08-30 04:31:21 +02:00
Cory Forsstrom
42c423b4a8 Add viewport to Widget::on_event 2023-07-15 10:04:25 -07:00
Héctor Ramón Jiménez
c5a623f32b
Introduce drop helper to pane_grid::State 2023-07-06 07:57:24 +02:00
Joao Freitas
995c7c1ca9
Reuse code 2023-07-06 07:55:50 +02:00
Joao Freitas
e5c9dd54b3
Add ability to drag pane to the pane grid edges & optional style for dragged pane 2023-07-06 07:55:49 +02:00
Héctor Ramón Jiménez
5c8cfb411e
Take Rectangle by value in Cursor API 2023-06-08 20:16:46 +02:00
Héctor Ramón Jiménez
34451bff18
Implement basic cursor availability 2023-06-08 20:11:59 +02:00
Joao Freitas
9b5f32ee40
Rename invert -> swap 2023-05-19 12:15:44 +01:00
Joao Freitas
bc590e2d6f
Take pane state internally 2023-05-19 12:12:08 +01:00
Joao Freitas
99aa54cd88
Add pane_grid functionality to split a pane with another pane 2023-05-16 16:12:29 +01:00
Héctor Ramón Jiménez
3a0d34c024
Create iced_widget subcrate and re-organize the whole codebase 2023-03-04 05:37:11 +01:00