Myk Taylor
2234328a91
use an actual pin texture for ZScreen pins
2023-01-09 00:47:13 -08:00
Myk Taylor
72d5760ff6
add CycleHotkeyLabel:setOption()
2023-01-07 01:00:40 -08:00
Myk
fe9d1e186e
Merge pull request #2562 from myk002/myk_greenify
...
allow color options for CycleHotkeyLabel
2023-01-06 19:10:39 -08:00
Myk Taylor
093eac3eb2
use a black background for non-top ZScreen titles
2023-01-06 18:58:08 -08:00
Myk Taylor
810430f1a2
make windows lockable (can ignore r-click and esc)
2023-01-06 18:48:53 -08:00
Myk Taylor
f15e9e3577
don't revert to plain strings for pens
2023-01-06 15:42:30 -08:00
Myk Taylor
e111a73763
allow color options for CycleHotkeyLabel
...
and use the option to render `On` in green for ToggleHotkeyLabel
2023-01-06 15:42:27 -08:00
Myk Taylor
1934014659
framework for passthru, z-order swapping windows
2023-01-05 18:07:38 -08:00
Myk Taylor
55cdaea636
refactor EditField text insertion
2023-01-03 12:57:02 -08:00
Myk Taylor
a0343b06a6
adjust text wrap to new scrollbar width
2023-01-03 00:56:07 -08:00
Myk Taylor
da63d6294b
ensure the scrollbar midpoint is always rendered
...
this mimics the vanilla scrollbar behavior (and looks better)
2023-01-01 17:55:06 -08:00
Myk
bf995a0968
Merge pull request #2533 from myk002/myk_lua_input
...
adjust Lua widgets to new input scheme
2022-12-30 22:37:12 -08:00
Myk
a7dd14d699
Merge pull request #2535 from myk002/myk_smart_refresh
...
only do a full refresh when needed
2022-12-30 22:36:42 -08:00
Myk Taylor
21f137644f
remove trailing whitespace
2022-12-30 22:35:08 -08:00
Myk Taylor
3a76fc086f
fix keyboard movement of Panel widgets
2022-12-30 22:35:08 -08:00
Myk Taylor
04f2d555c6
implement context-aware mouse wheel scrolling
2022-12-30 22:35:08 -08:00
Myk Taylor
38b525bdb5
adapt lua library widgets to new keyboard keybindings
2022-12-30 22:35:08 -08:00
Myk Taylor
dd0cc087d5
Revert "consolidate full refresh logic in widgets.Panel"
...
This reverts commit 33787473f0
.
I've already found another use case where we need a more general
implementation -- modal dialogs that inherit from FramedScreen that
appear and disappear
2022-12-30 22:13:53 -08:00
Myk Taylor
33787473f0
consolidate full refresh logic in widgets.Panel
2022-12-30 20:44:15 -08:00
Myk Taylor
88dcdfd158
move trigger code from Window to Panel
...
where the drag/resize code actually is. Panels can be dragged around the
parent screen without them being a Window
2022-12-30 20:01:09 -08:00
Myk Taylor
70a0f4a718
only do a full refresh when needed
...
this significantly reduces CPU utilization when DFHack-owned screens are
visible.
2022-12-30 17:06:41 -08:00
Myk Taylor
3aac79fe4f
skin our scrollbars to look and hover like DF's
2022-12-30 05:33:17 -08:00
Myk Taylor
cff603e243
allow Labels to write tile textures
2022-12-28 23:16:13 -08:00
lethosor
6a61c750e9
widgets.render_text(): error early if key is invalid
...
This helps identify _which_ key is invalid - otherwise, getKeyDisplay()
complains that it was called with `nil`, which is less helpful.
2022-12-23 13:17:26 -05:00
Myk
42203b13f4
Merge pull request #2500 from myk002/myk_panel_drag
...
Support resizing for DFHack Panel widgets
2022-12-15 14:36:33 -08:00
Myk Taylor
06346c6269
implement double clicking on the title to maximize
...
also double click on a maximized window to jump to the minimum size
the location of the window isn't guaranteed to be the same after
maximizing and un-maximizing, but we could implement that if there is
call for it.
2022-12-14 19:03:38 -08:00
Myk Taylor
434e9322cc
fix error in error message formatting
2022-12-14 17:51:07 -08:00
Myk Taylor
4c6daf30d9
add widgets.Window and fix paint_frame offset
2022-12-14 12:04:29 -08:00
Myk Taylor
12e62c7f9d
highlight anchor point when resizing with keyboard
2022-12-14 10:34:06 -08:00
Myk Taylor
c030704705
implement panel resizing
2022-12-14 10:34:04 -08:00
Myk Taylor
99b599e9ab
add docs for panel dragging
2022-12-13 13:01:49 -08:00
Myk Taylor
3f43f72731
fix the math
2022-12-13 12:39:17 -08:00
Myk Taylor
38a3bec953
dragging logic
2022-12-12 18:07:05 -08:00
myk002
2b87307e11
allow visible and active to be dynamic properties
2022-12-04 15:46:19 -08:00
Myk
aac89d4942
Merge branch 'develop' into myk_default_search_key
2022-11-29 15:07:12 -08:00
myk002
726771c8d3
supply default search key for tokenized text
2022-11-28 16:02:47 -08:00
myk002
adb9c5ea12
fix frame size calculation when frame_inset is set
...
also fix error when clicking on HotkeyLabels where no on_activate
callback has been set
2022-11-28 15:12:22 -08:00
myk002
c9cf5ecca8
we kept editfield as MOUSE_L for click and drag
2022-11-21 17:51:24 -08:00
myk002
24dc879888
adapt library code to newly correct mouse events
2022-11-21 17:36:46 -08:00
myk002
5b1ebdf72a
don't return list idx when mouse is on scrollbar
2022-11-11 10:40:10 -08:00
Myk
ccd43f1710
Merge pull request #2381 from myk002/myk_framed_panel
...
[widgets.Panel] support frames around panel widgets
2022-11-09 10:32:23 -08:00
myk002
32dc80729a
support drawing frames around panels
2022-11-07 16:50:21 -08:00
myk002
83f560a6f4
allow shift-click to trigger submit2 for List
2022-11-07 16:14:16 -08:00
myk002
1b7b75d8ab
factor out detection of the list index under mouse
2022-11-07 16:13:45 -08:00
Myk
a854e379b2
Merge pull request #2354 from myk002/myk_scrollbars_redux
...
make scrollbars more responsive when dragging
2022-10-22 20:28:52 -07:00
myk002
64b923b9eb
make the materials dialog filter lcase only
...
this allows the capital letter hotkeys to be processed by the list
widget without the special-casing of the ignore_keys attribute.
2022-10-21 12:43:53 -07:00
myk002
593b80cfa0
make scrollbars more responsive when dragging
2022-10-21 12:22:57 -07:00
myk002
142b45ef49
move list item hotkey hint left by one tile
...
so it doesn't get covered by the scrollbar
2022-10-19 17:30:51 -07:00
myk002
d650ba2377
ensure scrollbar can never get ahead of the cursor
2022-10-10 16:42:32 -07:00
myk002
ba36e72b33
support click and drag for scrollbars
2022-10-07 16:27:19 -07:00