Commit graph

31 commits

Author SHA1 Message Date
cdd6fee9d6
refactor: compare widgets via the .ptr memeber instead of via their addresses
Widget is a handle type. Sort of a smart pointer. Comparing their addresses
is brittle because it requires keeping Widget pointers stable. This is
nonsense because Widget identity is actually determined by the actual
widget object it points to.

This big refactor elimits the requirement that Widget addresses remain
stable to work properly with Widget.walk and Widget.get.
2026-02-23 21:44:24 +01:00
25a719382f
fix: store button click locations as signed values 2025-10-10 16:05:50 +02:00
ce87dcfa2b
refactor: pass relative click position to button click handlers
This a big refactor just to clean-up type definitions used by Button and Menu.
The goals is to pass the click position as a cursor object.
2025-10-09 19:11:25 +02:00
0c19cbd82d
feat: persist widget style changes 2025-08-14 15:55:09 +02:00
bcfd17a0e2
feat: select widget styles based on widget type 2025-08-13 12:58:05 +02:00
b5a506450b
feat: add more boxed styles 2025-08-13 01:27:58 +02:00
83a0adccc7
feat: add menu border styles 2025-08-12 22:29:10 +02:00
efdad96054
refactor: improve create pattern to avoid leaks 2025-07-19 00:03:30 +02:00
a5bf57e0e6
feat: add config options to disable scrollbars and/or file icons 2025-03-06 17:11:49 +01:00
4145460012
refactor: simplify Plane/Widget usage 2025-01-23 16:12:56 +01:00
f7ba83fd83
refactor: prefer Plane.fill for blanking with alpha 2024-12-12 19:25:44 +01:00
486c6ba95e
fix: some minor alpha rendering issues 2024-11-05 10:46:06 +01:00
cfb9f8cf11
refactor: remove unused parameter in set_base_style 2024-11-04 22:20:06 +01:00
16c5471126
refactor: move command and EventHandler out of the tui module 2024-10-25 22:39:04 +02:00
bf3fe5f2ba
refactor: run zigimports
closes: #38
2024-09-10 22:25:54 +02:00
7b812d73ea
refactor: change a -> allocator 2024-09-02 14:31:49 +02:00
4b6c08154b feat: add theme selection palette
Also, refactor to share palette code and make palettes scroll properly
with the mouse wheel.
2024-08-14 21:27:32 +02:00
ef95114039 feat: add support for mouse wheel events to menu widgets 2024-08-11 20:28:03 +02:00
b3388eed77 fix(Menu): unselect if there are no menu items 2024-06-27 21:19:07 +02:00
Andriamanitra
e022b0b2f8 fix(palette): add bounds check to activate_selected 2024-06-22 08:30:35 +02:00
e7c8fea3f0 feat: add scrollbar to command palette 2024-06-21 01:20:17 +02:00
acd65d0157 fix: menu and open_recent resize handling 2024-06-14 20:41:01 +02:00
b15fa47f30 refactor: add renderer abstraction layer 2024-05-09 11:48:33 +02:00
0053b80d81 refactor: improve button widget api 2024-04-10 18:39:47 +02:00
b8261f924e fix: stop selection from running off the bottom of the recent files list 2024-04-09 22:41:26 +02:00
d4066ad396 feat: add support for menu header widgets 2024-03-28 22:02:45 +01:00
2c4452dd81 feat: add keyboard support to menus 2024-03-26 22:01:31 +01:00
adbce35320 feat: add support for resize hooks to Menu widget 2024-03-22 20:56:49 +01:00
2f9a0e2eb0 refactor: button, menu and widget stack apis 2024-03-18 22:29:29 +01:00
5965431b57 refactor: improve flexibility of the Button API 2024-03-08 22:15:39 +01:00
a7a27fdc89 feat: add Menu widget and use it on home screen 2024-03-07 20:34:15 +01:00