Commit graph

21 commits

Author SHA1 Message Date
Michael Aaron Murphy
eb519782ac improv(segmented-button): extra padding for close icon 2023-02-14 14:56:29 -07:00
Michael Aaron Murphy
4fa61eeafd feat(segmented-button): configurable close icons 2023-02-14 14:56:29 -07:00
Michael Aaron Murphy
f386609414 feat(examples/cosmic): scaling factor spin button 2023-01-19 19:58:31 +01:00
Michael Aaron Murphy
4269fad768 feat(examples/cosmic): Show warning widget only when clicking on its button 2023-01-19 19:58:31 +01:00
Michael Aaron Murphy
b3d550cc5e feat!(segmented-button): improved interfaces and documentation
BREAKING CHANGE: Various type and function names have changed to reflect
themselves better in documentation. Code has been reorganized into
separate modules with a better placement in libcosmic. Most of the
functions, types, and modules now have documentation and examples.

These changes no longer require the `Model` type to define the
data/component type that it stores. The component functionality is now
optional, and it's also possible to associate many components to an item
with one component per type. This has had a side effect of simplifying a
lot of the type signatures in the implementation.

Before, to insert an item into the model, you had to define a
`SegmentedItem` and a `Component` on insert, and get back an ID for that
item. Which makes it difficult to define an item that contains only an
icon or has no components. And requires an extra insert function to
activate the item on insert.

Now, there is a flexible builder-style API for configuring
newly-inserted items in the model. So the complexity for inserting and
retrieving values from the model has decreased significantly
2023-01-19 19:58:31 +01:00
Michael Aaron Murphy
c4bd0fa3d8 feat: Re-orderable positioning of items in segmented button
Calling `model.swap_position(key1, key2)` will swap the positions of
these two items in the model.
2023-01-10 20:49:49 +01:00
Michael Aaron Murphy
29c7444a30 feat: focusable segmented items in segmented button 2023-01-10 20:49:49 +01:00
Michael Aaron Murphy
a89ec01297 chore: Add a few more multi-select examples in the demo 2023-01-10 20:49:49 +01:00
Michael Aaron Murphy
8988b25b6a feat: MultiSelect support for segmented buttons 2023-01-10 20:49:49 +01:00
Michael Aaron Murphy
b1cbcfaf5b refactor: Replace nav bar macros with nav bar widget 2023-01-10 20:49:49 +01:00
Michael Aaron Murphy
7d018a2139 feat(settings): global setting for icon theme 2023-01-05 16:57:02 +01:00
Victoria Brekenfeld
75687acf2f chore: apply cargo fmt 2023-01-04 05:46:24 +01:00
Michael Aaron Murphy
444e389496 refactor!: separate horizontal and vertical segmented button widgets
- Removes the orientation enum in favor of two separate widgets
- Implements the spacing attribute for both widgets
- Demo is updated to display spaced variants of the widgets
2023-01-03 20:29:50 +01:00
Michael Aaron Murphy
0cea2023f8 refactor(cosmic): Separate states across views 2023-01-03 00:12:28 -05:00
Michael Aaron Murphy
5f9ff54352 improv(segmented-button): Documentation improvements with cosmic widget configurations 2022-12-28 18:34:45 -05:00
Michael Aaron Murphy
bbac6b9bbf feat(segmented-button): Selection style and implementation 2022-12-28 18:34:45 -05:00
Michael Aaron Murphy
e97c258422 feat: implement SegmentedButton widget 2022-12-28 10:19:03 -05:00
Jeremy Soller
bdf5f7da38
Stub for loading backgrounds 2022-12-21 14:49:41 -07:00
Jeremy Soller
8c78f23902
Move desktop views into separate file 2022-12-21 14:21:51 -07:00
Jeremy Soller
4ba38dc25d
Use cosmic toggler instead of iced 2022-12-21 13:14:42 -07:00
Jeremy Soller
3f113016c5
Refactor pages into separate files 2022-12-21 13:11:32 -07:00