Commit Graph

510 Commits (d0fff7692e901ba0360b34ec34a0059e825eff98)

Author SHA1 Message Date
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
myk002 28aadea6af
allow an alternate ViewRect for getMousePos 2022-11-07 15:54:56 -08:00
myk002 be18f4e900
return self from Screen:show() as a convenience 2022-11-07 15:54:55 -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 1e21e6546e
fix materials selection dialog
where the filter was swallowing the sublist hotkeys
2022-10-19 17:31:28 -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
myk002 35eb4e08dd
hold down the mouse button to continue scrolling 2022-10-07 15:40:05 -07:00
myk002 2bff70a290
add unit tests for widgets.Scrollbar 2022-10-07 13:14:52 -07:00
myk002 5722d6914b
transition Label to use the new generic Scrollbar 2022-10-07 12:45:43 -07:00
myk002 24232e894a
create Scrollbar widget and integrate with List 2022-10-06 11:13:16 -07:00
myk002 9817106c30
add --exclude option for ls 2022-10-05 13:30:14 -07:00
myk002 dc535004e9
better formatting for ls output for tags 2022-10-05 12:51:30 -07:00
myk002 278b7528ac
implement basic domain index structure 2022-09-23 08:46:50 -07:00
myk002 fae26b2375
replace die's underline with tombstones
easter egg suggested by thurin : )
2022-09-23 08:34:22 -07:00
Myk b07f3b5b6c
stub help formatted same as real help 2022-09-22 17:43:56 -07:00
Myk 4d662adfe5
Fix marker checking for ruby help text 2022-09-22 17:39:54 -07:00
Myk Taylor 3b650c8d0b
don't let changes to the lua cursor bleed through
before, we could end up changing the state of whoever last called
guidm.setCursorPos()
2022-09-18 08:20:33 -07:00
myk002 6fff83de5a
fix EditField rendering with TWBT 2022-09-16 15:24:33 -07:00
myk002 b88d343ddd
fix off-by-one error on scrollbar click detection 2022-09-14 09:25:43 -07:00
myk002 bb52e7bac8 list tools in categories with tags builtin 2022-09-13 23:17:19 -07:00
myk002 d4914e7511
implement mouse click reactions for scrollbar 2022-09-11 19:33:01 -07:00
myk002 e2fbade219
fix scrollbar display when all text is visible
also align behavior with documentation when 'left' or 'right' is
explicitly specified (i.e. always show the scrollbar)
2022-09-11 18:56:43 -07:00
myk002 f71f034d1d
show full scrollbars instead of just scroll icons 2022-09-11 17:58:10 -07:00
myk002 23994d4f4c
dynamically wrap helpdb long help text (default 80) 2022-09-11 13:41:20 -07:00
myk002 3c99a7214f
ensure params are strings when invoking scripts 2022-09-10 10:10:28 -07:00
lethosor 2fdbcaebf5 Accept negative indices, add vector tests 2022-09-07 09:14:09 -07:00
lethosor 483652e193 Rewrite utils.df_expr_to_ref() for consistency, add tests 2022-09-07 09:14:09 -07:00
myk002 b1a8662c4a
Merge branch 'develop' into docs 2022-08-31 23:00:39 -07:00
myk002 074a6ec5cd allow EditFields to ignore specified keys
like "+" and "-", so you can use them as hotkeys in the parent view
2022-08-31 10:22:41 -07:00
myk002 27e189fef2
no cursor position reset when updating list filter 2022-08-29 15:17:17 -07:00
myk002 4a1a322cd7
adapt to the new summary layout 2022-08-26 16:51:42 -07:00
myk002 0d3aa0fb28
Merge remote-tracking branch 'upstream/develop' into docs 2022-08-25 21:59:01 -07:00
myk002 8acda4d6c8
Interpret '4' & '6' as strings, not movement keys 2022-08-19 22:40:53 -07:00
myk002 751c2eb7d1
fix detection of short description start
now that labels are no longer bolded in the text rendering, the header
detection code needs updating
2022-08-19 16:19:19 -07:00
myk002 df9c37a8b7
Merge branch 'develop' into docs 2022-08-15 17:09:36 -07:00
myk002 8672282fd8
add helpdb, unit test, and document API
note that we have to dynamically sort some of the expected lists for
locale agnosticism
2022-08-15 16:31:52 -07:00
myk002 7f0791f6c3 use setText() accessor method instead of direct access 2022-08-15 16:24:34 -07:00
myk002 22f9f3b042 add unit tests for new widget functionality 2022-08-15 16:24:34 -07:00
myk002 0ae4fed3cf add mouse support for CycleHotkeyLabel widgets 2022-08-15 16:24:34 -07:00
myk002 79b6cd13e9 support scrolling by half pages in Label 2022-08-15 16:24:34 -07:00
myk002 a5af5a1373 don't bork on no frame, set cursor to end of text 2022-08-15 16:24:34 -07:00
myk002 4e382c7b3b make HotkeyLabels react to clicking
also be better about initializing EditField frame height
2022-08-15 16:24:34 -07:00
myk002 8de8b22566 click to correct cursor position on long strings
where the left side of the string has been trimmed
2022-08-15 16:24:34 -07:00
myk002 b7f74fe2ce allow mouse lclick to select a List item 2022-08-15 16:24:34 -07:00
myk002 1dd3d6656b move the cursor in an EditField on mouse lclick 2022-08-15 16:24:34 -07:00
myk002 0aa9a187cf support cursor movement in EditFields 2022-08-15 16:24:34 -07:00
myk002 43b1abcdcf support submit2 for EditFields 2022-08-15 16:24:34 -07:00
myk002 214dd3c579 reset scroll position when the text is changed 2022-08-15 16:24:34 -07:00
myk002 23ced99131 fix call to new functions in existing coord fn 2022-08-15 16:15:41 -07:00
myk002 a4c8535977 add argparse int checking methods, more docs 2022-08-15 16:15:41 -07:00
myk002 ef56addb14
prep for new format; accept pipe as tag separator 2022-08-07 22:13:46 -07:00
myk002 a8d0cc7980
support scrolling by half pages in Label 2022-08-06 23:48:25 -07:00
myk002 625b4d439d
fix typo in API function name 2022-08-05 22:31:39 -07:00
myk002 1a777257b4
add get_entry_types API method to helpdb 2022-08-05 22:06:02 -07:00
myk002 ebfe00b112
editing pass of short descriptions
and fix some short description parsing
2022-08-05 10:08:23 -07:00
myk002 aa3a389b6f
fix parsing bold text and indenting of ls output 2022-07-29 17:37:50 -07:00
myk002 10f8417cc2
create helpdb entries for all plugins
even those that have no commands and are not enableable
2022-07-26 22:22:43 -07:00
myk002 8cf7f59c39
wrap ls and tags output 2022-07-25 17:48:39 -07:00
Myk 3c92d4f195
Fix typo 2022-07-23 16:35:40 -07:00
myk002 9b7cc6180d
don't create entries for non-enableable plugins 2022-07-22 21:21:38 -07:00
myk002 4b1696f783
add '?' alias for help 2022-07-21 22:36:17 -07:00
myk002 2ce7518562
read plugin command docs from single plugin file 2022-07-21 22:33:43 -07:00
myk002 64b793b409
support EditField:setText() so scripts can use it
and be compatible with both the develop and docs branch
2022-07-20 15:40:49 -07:00
myk002 9dcb63da53
don't bork on no frame, set cursor to end of text 2022-07-20 15:36:17 -07:00
myk002 048b20ac45
no help entries for non-enableable plugins 2022-07-20 13:34:29 -07:00
myk002 0dd153cc0d
ensure we pick up the plugin help entry
even when it has a command and that command is not equal to the plugin
name
2022-07-20 12:34:40 -07:00
myk002 954e246140
reformat builtins and properly read tags 2022-07-19 23:01:25 -07:00
myk002 ddcb9b4921
add missing 'man' builtin 2022-07-19 22:35:08 -07:00
myk002 e3588cf49c
return entire tag data structure for iterating 2022-07-19 22:13:53 -07:00
myk002 301c8e93a1
move builtin docs to individual files 2022-07-18 10:58:35 -07:00
myk002 7f302888ec
make HotkeyLabels react to clicking
also be better about initializing EditField frame height
2022-07-17 16:04:36 -07:00
myk002 5723b76585
click to correct cursor position on long strings
where the left side of the string has been trimmed
2022-07-17 15:43:58 -07:00
myk002 805456e82b
allow mouse lclick to select a List item 2022-07-16 22:18:38 -07:00
myk002 f65f36ffee
move the cursor in an EditField on mouse lclick 2022-07-16 22:03:39 -07:00
myk002 27425e47f6
support cursor movement in EditFields 2022-07-15 22:22:51 -07:00
myk002 9b340a7630
support submit2 for EditFields 2022-07-15 13:46:01 -07:00
myk002 e926e1116e
replace more Core cpp code with calls to helpdb
also document devel/dump-rpc builtin
2022-07-14 13:19:30 -07:00
myk002 185f49976c
ensure scripts get their entry type set 2022-07-11 17:24:53 -07:00
myk002 a5da3c18f9
reset scroll position when the text is changed 2022-07-11 17:23:23 -07:00
myk002 4ed15ffcc4
fix parsing of first line as the short_help 2022-07-10 20:48:24 -07:00
myk002 a58b56abc4
don't error out if files cannot be read 2022-07-10 20:19:12 -07:00
Myk e899510b8b
Use helpdb to implement help and ls built-in commands and dfhack.script_help() (#2242)
* use helpdb to implement the help and ls builtins

* use helpdb to implement dfhack.script_help()
2022-07-10 20:17:54 -07:00
Myk 4ad8e7199a
Support builtin commands in helpdb (#2241)
* support builtin commands in helpdb, implement list API, document api
2022-07-10 20:17:52 -07:00
myk002 35a4d19ac9
implement listing functions for helpdb 2022-07-10 20:14:21 -07:00
Myk 64aba7a8a3
Myk rendered help (#2240)
* implement help db

* add initial list of tags

* read tags fr help, read script short desc, filter
2022-07-10 20:14:21 -07:00
Timur Kelman 9788a8a22a
Add default selection handler to `materials.ItemTraitsDialog` (#2211)
* add forward compatibility for future `job_item_flags`

* add default selection handler to `materials.ItemTraitsDialog`

* add a call to `error()` in 'unknown'-branch inside `setTrait`

* add `ItemTraitsDialog` improvement description to changelog.txt
2022-06-28 16:27:18 -07:00
quarque2 f33c9bc881
Update tile-material.lua (#2218)
* Update tile-material.lua

* Update changelog.txt

* Update changelog.txt

* Update changelog.txt

* Update tile-material.lua
2022-06-20 12:38:37 -07:00
Timur Kelman 1a629a26bf
add `ItemTraitsDialog` to materials.lua (#2199)
* add `ItemTraitDialog` to materials.lua

* rename `ItemTraitDialog` to `ItemTraitsDialog` (plural)

* Update changelog.txt
2022-06-12 07:03:04 -07:00
Myk 89d3d45e87
Allow EditField widgets to manage their own activation and keyboard focus (#2147)
* use new focus subsystem in widgets.EditField

* always eat the enter key if we have an on_submit

* add modal attribute

* give EditFields a default height of 1

so they can be autoarranged
2022-06-01 21:48:21 -07:00
Myk ad2d9cad03
[lua] implement keyboard focus subsystem (#2160)
* implement keyboard focus subsystem

* Fix error in focus group combining

* documentation for the inputToSubviews decision

* modify unit tests to catch that last bug
2022-06-01 17:42:13 -07:00
myk002 ea7fe2b926
account for scroll bars when sizing message boxes 2022-05-27 15:38:13 -07:00
Timur Kelman 07f54deb0b
fix wrong `Label.frame_body.x2` value (#2134)
* fix wrong `Label.frame_body.x2` value

`update_scroll_inset` might change `frame_inset`, i.e. we need to `computeFrame` with the new values.

* add tests for Label

* add missing `local`, remove code in comments

* move `TestFramedScreen` outside test functions
2022-05-27 15:25:17 -07:00
lethosor 888c531774
Add mock.observe_func(), improve mock.lua documentation
observe_func() is similar to func() but passes through all calls to a specified
function.
2022-05-27 00:33:44 -04:00
myk002 18628ff5b8 make key_sep more configurable
and add more configuration to HotkeyLabel and EditField to take
advantage of it
2022-05-18 16:46:33 -07:00