Commit Graph

733 Commits (302390388ba9b1c6cb4c6aa7cd5614c89286a254)

Author SHA1 Message Date
Myk Taylor 7a618fd113
make event suppression configurable 2023-07-08 18:39:38 -07:00
Myk Taylor 734de0dcd1
make EditField ignore Ctrl-A until we get Home key support 2023-07-07 14:49:10 -07:00
Myk 79dbcf0461
Merge pull request #3524 from myk002/myk_copypaste
support copy/paste from system clipboard
2023-07-05 23:09:08 -07:00
Myk Taylor 9ca96567a5
move conversion logic to MiscUtils
but keep minimal wrappers in SDL module so we don't leak memory
2023-07-03 11:05:58 -07:00
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