Commit Graph

646 Commits (ec114bea7cca13cac62171c7f059f8ed8749a294)

Author SHA1 Message Date
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
Myk 376526d512
Merge branch 'develop' into myk_no_stuck_df_viewscreens 2023-01-29 16:55:52 -08:00
Myk 0f07ac5a30
Merge pull request #2748 from myk002/myk_initial_pause
make initial pause configurable for DFHack windows
2023-01-29 16:54:50 -08:00
Myk Taylor 8d4990b8fd
don't autorefresh the enableable tools list
it just takes too long (>1s) to refresh every time.
manual refresh with script_manager.reload() is still available for devs
who need it
2023-01-29 00:55:49 -08:00
Myk Taylor 4c455224f9
make initial pause configurable 2023-01-29 00:41:02 -08:00
Myk Taylor 211d18717c
test against type instead of string 2023-01-28 23:34:56 -08:00
Myk 2003efc21f
Merge branch 'develop' into myk_no_stuck_df_viewscreens 2023-01-28 12:03:50 -08:00
Myk Taylor 114bc2a576
also lock down the world map 2023-01-28 08:57:24 -08:00
Myk Taylor f12ca33c0b
ensure DF screens don't get "stuck" when DFHack tool windows are on top 2023-01-28 08:05:37 -08:00
Myk Taylor 18a2827385
only mark the border corner as resizable if the window is resizable 2023-01-27 14:20:21 -08:00
Myk Taylor c6f4a7ee42
inhibit _MOUSE_L globally once _MOUSE_L_DOWN is handled
so the _MOUSE_L doesn't bleed through to the underlying viewscreen
2023-01-27 13:36:01 -08:00
Myk Taylor be59083202
reduce spacing for CycleHotkeyLabel from 2 to 1 2023-01-25 22:59:29 -08:00
Myk Taylor c5f2588522
fix issues with clicks "falling through" scrollbars 2023-01-24 21:28:25 -08:00
Myk 83c89cfaa9
Merge pull request #2705 from myk002/myk_zscreen_redux
Implement new ZScreen semantics
2023-01-24 11:14:43 -08:00
Myk Taylor 0e03ac8e5b
don't use tabs in enable output
so they display nicely in gui/launcher
2023-01-23 23:50:08 -08:00
Myk Taylor f39eb42889
remove references to pinnable 2023-01-23 19:34:48 -08:00
Myk Taylor 1c2f8eccbf
paint pause symbol for force-pause windows 2023-01-23 19:02:26 -08:00
Myk Taylor 0905943ecf
don't unfocus if mouse is not being passed through 2023-01-23 18:05:03 -08:00
Myk Taylor 4377065081
move pause restore to dismiss
and fix the condition
2023-01-23 17:46:03 -08:00
Myk Taylor 8b98ba5042
allow windows to be defocused instead of pinned 2023-01-23 17:40:16 -08:00
Myk Taylor 5ad6ce16e8
don't change definitions of deprecated frame styles 2023-01-23 16:00:10 -08:00
Myk d0905a5e16
Merge pull request #2703 from myk002/myk_borders
Add new borders for various use cases
2023-01-23 11:20:28 -08:00
Myk Taylor 7329f6dee2
use new frame names 2023-01-23 04:16:38 -08:00
Myk Taylor fcb156ed43
add compatibility frames 2023-01-23 04:03:31 -08:00
Myk Taylor 9aaa55cd7f
add textures and frames for various use cases 2023-01-23 03:58:51 -08:00
Myk Taylor d34238918e
move helpdb from autorefresh to explicit refresh
this greatly speeds up the launch time of `gui/launcher`
2023-01-23 02:30:51 -08:00
Myk Taylor a6b3de1afb
support scrolling to the beginning or end in Label 2023-01-23 02:16:07 -08:00
Myk Taylor f862e4a6b7
comment out SEC_SELECT in dialogs 2023-01-22 03:09:07 -08:00
Myk Taylor a1a4125fd9
properly react to lack of a mouse cursor 2023-01-20 09:31:44 -08:00
Myk Taylor eae2cec22f
use keyboard cursor
and adapt to a "bad" cursor not being equal to -30000 anymore
2023-01-20 09:31:44 -08:00
Myk 95d7db2bb4
Merge pull request #2622 from myk002/myk_datasave
adjust to new directory layouts
2023-01-16 11:05:33 -08:00
Myk Taylor 762cd46d14
look for init.d directories in the root instead of raw/ 2023-01-15 23:28:01 -08:00
Myk Taylor 50cc6d965d
update to new save directory structure 2023-01-15 23:13:58 -08:00
Myk Taylor fb5675ef1b
keep windows on the screen when the DF window is resized 2023-01-15 20:41:48 -08:00
Myk Taylor 20f865eba0
don't reset scroll pos when window is resized or moved 2023-01-15 15:59:09 -08:00
Myk Taylor d14a3b2c83
ensure the untested warning doesn't bork on bad scripts 2023-01-15 00:49:48 -08:00
Myk 977946e5bc
Merge pull request #2603 from myk002/myk_resizingpanel
give more control over the resizing dimensions of ResizingPanels
2023-01-14 01:10:26 -08:00
Myk fc6a8fb00b
Merge pull request #2601 from myk002/myk_dwarfmode
pull the useful bits out of guidm.MenuOverlay and make them available
2023-01-14 01:09:57 -08:00
Myk 2a84bb61db
Merge pull request #2599 from myk002/myk_hotspot_hotfoot
update behavior of hotspot menu
2023-01-14 01:09:35 -08:00
Myk 3b40621324
Merge pull request #2595 from myk002/myk_textures
add some more icon textures we can use
2023-01-14 01:09:23 -08:00
Myk Taylor f19ae16c9d
give more control over the resizing dimensions of ResizingPanels 2023-01-14 01:00:38 -08:00
Myk Taylor e450af74aa
pull the useful bits out of MenuOverlay 2023-01-13 17:05:23 -08:00
Myk Taylor 4f88d27e08
cancel EditField editing on r-click 2023-01-13 17:05:08 -08:00
Myk Taylor 21d160c478
terminology change: locked -> pinned 2023-01-13 16:07:27 -08:00
Myk Taylor 6c6c4e159f
add reminder why we can't clear mouse_lbut 2023-01-13 12:17:51 -08:00
Myk Taylor 508777897b
allow tile list icons to be rendered properly 2023-01-12 22:30:47 -08:00
Myk 68e373100b
Merge pull request #2591 from myk002/myk_penn
support foreground and background writing from pens
2023-01-12 21:00:38 -08:00
Myk Taylor c98e389ac8
move untested warning back to run_script
so we don't waste our warning on the initial env scans
2023-01-12 14:15:43 -08:00
Myk Taylor 52a39438f7
don't make EditField's transparent
this is actually a very old bug, but now that I know how transparency
works, it's obvious how to fix this
2023-01-12 12:47:43 -08:00
Myk Taylor 15998f2ebe
add gui.TRANSPARENT_PEN for clearing the UI layer 2023-01-12 12:44:50 -08:00
Myk Taylor 079d5e4178
support foreground and background writing from pens 2023-01-12 12:30:07 -08:00
Myk Taylor 88f158921f
move warning to run_script_with_env 2023-01-11 19:48:15 -08:00
Myk Taylor 679e91d2e7
warn against running untested scripts
but allow after the first try
2023-01-10 23:21:30 -08:00
Myk Taylor 7cf703ef23
turn down Ruby support 2023-01-09 23:59:55 -08:00
Myk c26ed36893
Merge pull request #2577 from myk002/myk_get_any
get rudimentary getAny(Unit|Item|Building) working
2023-01-09 23:50:02 -08:00
Myk Taylor fecc733192
detect clicks on part of pin that sticks up 2023-01-09 12:52:26 -08:00
Myk Taylor f39684dbfd
pass getAny calls through ZScreens 2023-01-09 09:35:55 -08:00
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 1f5ae4165f
return self from raise, update docs 2023-01-06 15:43:08 -08:00
Myk Taylor fccefd1155
don't pass through handled r-clicks 2023-01-06 15:43:08 -08:00
Myk Taylor f43358002d
Allow dialogs to close on r-click 2023-01-06 15:43:08 -08:00
Myk Taylor 574be3fe73
provide a useful default impl of isMouseOver 2023-01-06 15:42:40 -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 c4a2bdd08e
update lua too 2023-01-05 17:35:33 -08:00
Myk b62cfa3699
Merge pull request #2552 from myk002/myk_mouse
Get correct mouse button down behavior in Lua without overwriting enabler fields
2023-01-04 19:39:43 -08:00
Myk Taylor 9fd3ef7b4b
correct mouse down behavior without hosing enabler
before, we inhibited multiple mouse button down events by overwriting
the values in enabler. now we keep state internally and inhibit multiple
events on our own.

also add events and state tracking for middle mouse button
2023-01-03 14:52:49 -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 35ce361b09
Merge pull request #2542 from myk002/myk_dwarfmode_dims
clear out obsolete area map and menu logic from the Gui module
2023-01-02 20:42:30 -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 Taylor 7d5d2d0a9b
clear out obsolete area map and menu logic
in particular, return the correct map dimensions in getDwarfmodeDims()
2022-12-31 22:49:30 -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 cf65f48aa0
don't use defunct MENU_CONFIRM keybinding 2022-12-30 22:35:08 -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 6871bc20c4
use new KEYBOARD interface keys in move delta 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