Commit Graph

729 Commits (ff052ae41c41a4a68ab1c384e5196d8617b488c7)

Author SHA1 Message Date
Myk Taylor 07e8edcdca
ensure changing text fires the on_change event 2023-07-02 19:27:07 -07:00
Myk Taylor 18a9a7d1fa
allow invalid options to default to the first option
and make the range slider move the other slider if it would become
invalid
2023-07-02 19:05:47 -07:00
Myk Taylor 175c249d29
support copy/paste from system clipboard 2023-07-02 18:04:06 -07:00
Myk Taylor 0918fbb004
add ensure_keys utility function 2023-05-27 03:16:51 -07:00
Myk 2efeead96e
Merge pull request #3414 from myk002/myk_scroll_to_focus
scroll mouse wheel to focus window under cursor
2023-05-25 17:18:52 -07:00
Myk 906b1570b9
Merge pull request #3417 from myk002/myk_draggable_frame
allow dragging by frame edge for non-resizable windows
2023-05-25 17:18:40 -07:00
Myk Taylor 87775317a5
don't throw if json is unreadable
just act like the file didn't exist (unless strict is set)
2023-05-24 12:41:02 -07:00
Myk Taylor f6d9af5725
also set focus on shift-scrolling 2023-05-23 15:20:09 -07:00
Myk Taylor 6f49a0eb3d
allow dragging by frame edge for non-resizable windows 2023-05-23 15:17:01 -07:00
Myk Taylor f3ce805960
scroll mouse wheel to focus window under cursor 2023-05-23 12:26:44 -07:00
Myk Taylor 9dffba6843
amend #2914 so lists don't jump around on resize 2023-05-20 04:38:03 -07:00
Myk 57d2edc84e
Update widgets.lua 2023-05-19 12:12:52 -07:00
Myk bd7ac0453b
Merge branch 'develop' into list-setselected-fix 2023-05-19 12:05:30 -07:00
Taxi Service c52b1cc950 reverted to just renaming FRAMES in gui.lua 2023-05-18 12:46:21 +02:00
Taxi Service eb742a603d renamed XYZ_FRAME to FRAME_XYZ 2023-05-18 11:22:58 +02:00
Myk 5268de8dd8
Merge branch 'develop' into myk_classic 2023-05-17 11:27:33 -07:00
Myk 29ece9ce3f
Merge pull request #3381 from myk002/myk_substring_filter
make full text search configurable for list filters
2023-05-17 11:26:45 -07:00
Myk Taylor 899422aaf8
give widgets.TabBar default hotkeys 2023-05-16 17:26:16 -07:00
Myk Taylor 11361975f9
look up texpos values instead of assuming they're constant 2023-05-16 17:14:36 -07:00
Myk Taylor 217be6b58d
make full text search configurable for list filters 2023-05-16 12:36:58 -07:00
Taxi Service ef0c8950bd renamed val_gap to option_gap, updated docs/changelog 2023-05-02 16:46:46 +02:00
TaxiService f181b50a30
Merge branch 'develop' into cyclehotkey2 2023-05-02 08:22:10 +02:00
Myk Taylor 3f51f24f91
fix errors when dragging a scrollbar and the mouse leaves the window 2023-04-30 17:12:43 -07:00
Taxi Service cfcb1cd937 make val_sep useful if label_below == true 2023-04-30 10:18:15 +02:00
Taxi Service 48ffad2f71 added and attributes to 2023-04-26 01:02:38 +02:00
Myk Taylor 65d7b290a3
add ZScreenModal class for modal dialogs 2023-04-24 14:32:33 -07:00
Taxi Service 8371aa0b8b renamed Slider to RangeSlider, and added draft of Lua API.rst entry 2023-04-20 13:24:47 +02:00
Taxi Service ae2bdfad5f moved Slider class from filterselection.lua to widgets.lua 2023-04-19 11:28:57 +02:00
Myk Taylor 649d72e658
add missed NO_LOGIC_SCREEN to the list
adopt_region also kills the top viewscreen on transition
2023-04-18 08:28:00 -07:00
Myk Taylor e9f6695ace
infrastructure for hiding armok tools 2023-04-17 09:39:15 -07:00
Myk Taylor d1d521fbdb
infrastructure for hiding the terminal console on startup 2023-04-16 22:34:29 -07:00
Myk Taylor 07c83d3bf3
allow getval to take and pass params 2023-04-10 03:37:10 -07:00
Myk Taylor 83017e8b8f
give active mods a chance to reattach their hooks 2023-04-07 00:48:04 -07:00
Myk 30bb3d7050
Merge pull request #3168 from myk002/myk_script_paths
read mods from all mod dirs and only use most recent versions
2023-04-05 15:54:24 -07:00
Myk Taylor cf847109ce
read mods from all mod dirs and only use most recent versions 2023-04-03 15:59:42 -07:00
Taxi Service 7c63ea9394 added BOLD_FRAME and INTERIOR_MEDIUM_FRAME 2023-04-03 20:13:57 +02:00
Myk Taylor 147b0ba84a
fix and extend Labels/CycleHotkeyLabels 2023-03-28 23:36:49 -07:00
Myk Taylor 63772fd808
ensure rclicks don't bleed through for dialogs 2023-03-27 03:51:45 -07:00
Myk Taylor 0ba4225d85
support showing a different tile on hover for Labels 2023-03-25 15:19:24 -07:00
Myk Taylor 42b18d001b
refresh overlay and helpdb on new world to pick up mod content 2023-03-25 12:56:54 -07:00
Myk Taylor 2627820bfa
untested -> unavailable 2023-03-25 12:35:01 -07:00
Myk Taylor a1c2df23c5
fix vscode lint warning 2023-03-24 23:55:54 -07:00
Myk Taylor a5d22705e8
add label_below attribute 2023-02-27 04:13:05 -08:00
Myk Taylor 656a26504a
make FilteredList searching case insensitive by default 2023-02-26 09:47:15 -08:00
Myk fced215ac2
Merge branch 'develop' into myk_no_disabled_click 2023-02-26 09:24:32 -08:00
Myk 0270766a6d
Merge branch 'develop' into myk_dynamic_tile 2023-02-26 09:24:04 -08:00
Myk Taylor 1cacc526e3
allow token.tile to be a function 2023-02-24 17:16:30 -08:00
Myk Taylor 8b378735fa
don't fire HotkeyLabel if the label is disabled 2023-02-24 17:13:45 -08:00
Myk Taylor 75b1cd748a
convert otherwise unused THIN_FRAME to INTERIOR_FRAME
without a signature
2023-02-24 17:07:57 -08:00
Kelvie Wong 3c24e67a9a Address additional PR comments
on_activate is likely to happen first so we shouldn't need to check the
other.
2023-02-22 17:22:04 -08:00
Kelvie Wong 697f15224c Address PR comments, and remove BG fill
BG fill eats up a lot of cycles anyway, and there's not a real tangible
benefit in all cases, as it relies on the text label being sized
appropriately (width-wise) to the container, or would otherwise require
padding.
2023-02-18 16:07:40 -08:00
Kelvie Wong 61227eeca1 Fix use of pens in render_text
If you ever pass in a number to `dc:pen` rather than a pen table, it
will assume the old pen's other attributes, such as `bg` and `bold`.

To workaround this, we just never pass in a number, and always call
`to_pen` aka `dfhack.pen.parse` first.
2023-02-18 16:07:40 -08:00
Kelvie Wong 94ae9973cf Re-add the invert_color function
As requested, but it's not used anymore.
2023-02-18 16:07:40 -08:00
Kelvie Wong 3e8d0f0f1e Properly reverse BG/FG and apply per letter
This puts pen creation deeper into the loop in render_text.

Lists are current coloured completely wrong, though, and need
fixing (and probably anywhere else where disabled is set).
2023-02-18 16:07:40 -08:00
Kelvie Wong 0897ca913a Support mouse-hover on lists as well 2023-02-18 16:07:40 -08:00
Kelvie Wong 0b48471607 Invert brightness of the background as well
This required some tinkering.
2023-02-18 16:07:40 -08:00
Kelvie Wong 2d68b21547 Show mouse hover on HotkeyLabels
Labels show the hover colour when on_click is set, HotkeyLabels should
also do the same when they are clickable.
2023-02-18 16:07:40 -08:00
Robob27 4167c2e652 Add key_back, rename switch_tab_key to key 2023-02-16 02:56:52 -05:00
Robob27 5154eb181a Add Tab/TabBar to widgets 2023-02-16 02:51:09 -05:00
Robob27 212026861f WIP list fix 2023-02-15 19:29:45 -05:00
Myk Taylor bc76fd02e2
prevent mouse clicks from bleeding through when a window is dismissed 2023-02-13 17:35:02 -08:00
Myk Taylor e5072a4f64
check for settings in the ATTRS, not the args 2023-02-13 09:28:14 -08:00
Myk Taylor 853859e119
refine ZScreen behavior around pausing, update docs 2023-02-13 09:09:39 -08:00
Robob27 7651f6a91e Add edit_on_change to FilteredList 2023-02-12 17:44:19 -05:00
Myk Taylor 960bfaca86
fix annotation parsing
ref: #2857
2023-02-10 08:15:44 -08:00
vallode 991c6d89e8 Fix annotation parse error 2023-02-09 23:50:11 +01:00
Myk 1787d2435c
Merge branch 'develop' into hotkeylabel-enhancements 2023-02-08 12:37:16 -08:00
Myk 201fec6873
Merge pull request #2837 from robob27/case-insensitive-filterlist
Add case_sensitive attr to FilteredList
2023-02-08 11:18:31 -08:00
Robob27 b950b56926 Add methods to HotkeyLabel 2023-02-08 13:00:13 -05:00
Robob27 54560bc5db Don't duplicate regex 2023-02-08 03:39:43 -05:00
Robob27 c1b9de87d2 Add case_sensitive attr to FilteredList 2023-02-08 03:39:43 -05:00
Myk Taylor ef81a91181
only realign out-of-alignment list positions 2023-02-07 14:12:52 -08:00
Myk c0358d642d
Merge pull request #2833 from myk002/myk_list_recenter
ensure scrollable lists are centered in the visible viewport
2023-02-06 12:57:43 -08:00
Myk Taylor 0b9b258224
ensure scrollable lists are centered in the visible viewport 2023-02-06 12:54:05 -08:00
John Cosker fdf1d38b23 Merge branch 'cycle-hotkey-rev' of https://github.com/johncosker/dfhack into cycle-hotkey-rev 2023-02-06 15:13:13 -05:00
John Cosker 36391af27c More cleanup 2023-02-06 15:12:47 -05:00
John Cosker 0769afc961
Merge branch 'develop' into cycle-hotkey-rev 2023-02-06 15:04:57 -05:00
John Cosker 39dc0ccc8a Cleanup 2023-02-06 15:03:28 -05:00
John Cosker e1f74ab068 Tweak to completely nil the key_back table for setText if not set 2023-02-06 14:53:26 -05:00
ElsaTheHobo d09f8553a0 Delete makeown.lua 2023-02-06 13:34:31 -05:00
Myk 041909dfa7
Merge pull request #2822 from myk002/myk_rclick
prevent rclick from bleeding through (again)
2023-02-06 09:17:28 -08:00
Myk 99f84fa175
Merge pull request #2811 from TaxiService/patch-3
increase min scrollbar height to 2 (from 1)
2023-02-06 08:10:08 -08:00
John Cosker d7d6c5aea6 Backwards options for cycle hotkey working 2023-02-06 08:55:46 -05:00
Myk Taylor 2ddd23e45d
prevent rclick from bleeding through (again) 2023-02-06 00:57:33 -08:00
Robob27 86b57380a6 fixup unnecessary changes, remove unnecessary stuff 2023-02-05 19:04:21 -05:00
Robob27 a770a4cae4 WIP 2023-02-05 19:04:21 -05:00
TaxiService b6196e91e4
increase min scrollbar height to 2 (from 1)
rationale:
- vanilla scrollbars dont get shorter than 2.
- 2-tall 'bars are easier to click on than 1-tall 'bars.
- this avoids having to make short custom graphics for 1-tall tiles, which most of the time look terrible...

cons:
- short scrollbars are cool : (
2023-02-05 19:00:38 +01:00
TaxiService 30a1f2f924
de-hardcoding scrollbar spritesheet definitions
added a new variable "SBSO", and redefined all scrollbar tile definitions as this variable + an offset.
this could make it easier to switch scrollbar graphics from within the game, if necessary.
2023-02-05 18:56:51 +01:00
TaxiService de04cf04e0
wrong scrollbar sprites mapping fix (issue #2777)
i've taken a crack at it, and this seems to fix this "issue" i filed here: https://github.com/DFHack/dfhack/issues/2777

https://i.imgur.com/aFnq80M.mp4
2023-02-04 15:18:26 +01:00
Myk Taylor 345b7d78cb
pass attributes through FilteredList 2023-02-03 00:09:10 -08:00
Myk Taylor 2316615763
react to double clicks on list items 2023-02-03 00:09:10 -08:00
Myk Taylor 2cf985be73
don't lose List scroll position when dragging 2023-02-02 19:42:41 -08:00
Myk a3f32e66ad
Merge pull request #2775 from myk002/myk_non_defocusable
add defocusable attribute to ZScreen
2023-02-01 17:53:21 -08:00
Myk 1debea59a8
Merge branch 'develop' into myk_non_defocusable 2023-02-01 17:51:04 -08:00
Myk 7fbd95896d
Merge branch 'develop' into myk_pause_forced 2023-02-01 17:50:45 -08:00
Myk Taylor 55d07a8cae
actually use the tile 2023-02-01 14:51:46 -08:00
Myk Taylor 6ae771ecb4
display PAUSE FORCED instead of a pause icon
if the window is forcing the game to pause. the icon looked too
clickable
2023-02-01 14:01:29 -08:00
Myk Taylor 88860f21ec
add defocusable attribute to ZScreen 2023-02-01 08:46:32 -08:00
Myk Taylor e442e23589
allow tile in Label tokens to be either pen or id 2023-01-31 23:54:27 -08:00
Myk Taylor ab4c766817
Revert "allow tile list icons to be rendered properly"
This reverts commit 508777897b.
the fix was incorrect. the icon should be set to the pen when it is
not a string, the icon_pen is only for when it is a string
2023-01-30 08:48:45 -08:00