Isaiah Odhner
a07606fc70
Navigate buttons with left/right or up/down in message boxes
2023-04-23 15:43:45 -04:00
Isaiah Odhner
cde031f70d
Restore Ctrl+C to quit (for now)
2023-04-23 15:42:12 -04:00
Isaiah Odhner
138776456d
Combine bindings, using comma separation
2023-04-23 15:41:41 -04:00
Isaiah Odhner
286852616b
Remove meta+q binding for Quit
...
I was going to include meta as an alternative for all shortcuts, for
macOS, but I don't know if this works, and it's a little silly having
just one shortcut with meta like this.
2023-04-23 15:41:41 -04:00
Isaiah Odhner
0e1e43a67b
Enable bindings for unimplemented actions
...
Might as well show the "Not implemented" dialog for keyboard shortcuts.
2023-04-23 15:02:50 -04:00
Isaiah Odhner
f93a884e74
Update the palette when double clicking to edit a color
2023-04-23 14:58:17 -04:00
Isaiah Odhner
60ff2c27f8
Fix Cancel buttons in Edit Colors and Choose Character dialogs
2023-04-23 14:50:56 -04:00
Isaiah Odhner
1b76caa23e
Fix double click detection in color palette
...
Duh, just use the button press handler.
2023-04-23 14:36:05 -04:00
Isaiah Odhner
22547da2b2
Start making Edit Colors dialog
...
It's just a larger palette so far.
2023-04-23 14:29:51 -04:00
Isaiah Odhner
e76ce9e721
Fix out of bounds array access for Pick Color tool
2023-04-23 13:50:41 -04:00
Isaiah Odhner
f950c9964b
Stamp the selection with Ctrl
2023-04-23 02:14:28 -04:00
Isaiah Odhner
9f6a8fd559
Trap focus within window when cycling with Tab / Shift+Tab
...
Too easy!
2023-04-23 02:09:40 -04:00
Isaiah Odhner
4dc7bc08d6
Make paint.py executable
2023-04-23 01:46:49 -04:00
Isaiah Odhner
edc0048ecc
Half-implement menu item hotkeys
2023-04-23 01:43:54 -04:00
Isaiah Odhner
031a0a3e72
Implement Select All
2023-04-23 01:24:43 -04:00
Isaiah Odhner
1a6bfb5b90
Lazily add a triangle to indicate the Zoom submenu
2023-04-23 01:03:52 -04:00
Isaiah Odhner
f106cc5c35
Gray out unimplemented menu items
2023-04-23 00:51:29 -04:00
Isaiah Odhner
dbce1434cd
Constrain selection so it doesn't go completely outside the document bounds
2023-04-23 00:11:17 -04:00
Isaiah Odhner
cb0db3b6e6
Deselect when clicking outside the canvas
2023-04-23 00:01:57 -04:00
Isaiah Odhner
49bd80b17a
Fix out of bounds array access for Free-Form Select
2023-04-22 23:51:12 -04:00
Isaiah Odhner
74dceee2f3
Implement Free-Form Select tool
2023-04-22 23:03:09 -04:00
Isaiah Odhner
42fdbe83d7
Fix unused parameter to erase_region
...
Why wasn't this reported?
2023-04-22 21:57:58 -04:00
Isaiah Odhner
505605c660
Add typing to preprocess.py script that I'm not using
...
ChatGPT did most of this for me. I just said "Please add type annotations to this code. Surround the code in a Markdown code block."
and then fixed the Generator and the lambda.
2023-04-22 21:53:51 -04:00
Isaiah Odhner
5d778c1879
Annotate **kwargs as Any
2023-04-22 21:44:05 -04:00
Isaiah Odhner
11f3319ced
Complete type checking of file I'm not even using
2023-04-22 21:18:05 -04:00
Isaiah Odhner
625324e66b
Fix BorderDefinition typing
2023-04-22 21:11:47 -04:00
Isaiah Odhner
2d88529bc0
Guess at how to typecheck this parametric event type
2023-04-22 21:08:38 -04:00
Isaiah Odhner
2c8f79e37a
Shorten code and help the type checker understand that this isn't None
...
dhooo short
2023-04-22 21:08:38 -04:00
Isaiah Odhner
3d419f13b3
Remove unused NAME_MAP code from calculator example
2023-04-22 20:53:13 -04:00
Isaiah Odhner
9f06373cb7
Add a bunch more type checking hints/assertions
2023-04-22 20:51:51 -04:00
Isaiah Odhner
2c8d74808a
Add a whole bunch more type checking
2023-04-22 18:54:21 -04:00
Isaiah Odhner
1384fd1670
Enable strict type checking for all files...
2023-04-22 18:53:36 -04:00
Isaiah Odhner
f70a062b9b
Strictly type check enhanced_directory_tree.py, ignoring private access
2023-04-22 18:04:38 -04:00
Isaiah Odhner
2e839b2564
Clean up unused imports
2023-04-22 17:49:15 -04:00
Isaiah Odhner
4f8ea8a93d
Strictly type check i18n.py
2023-04-22 17:45:04 -04:00
Isaiah Odhner
a8f174eb8e
Fix the last type checking error, and simply --reload-on-changes
...
Hopefully this makes it more robust as well...
2023-04-22 17:29:41 -04:00
Isaiah Odhner
2827457497
Fix default document size
...
Broken in "Start type checking code" 1b56d78f70
2023-04-22 14:55:22 -04:00
Isaiah Odhner
da62add6c1
Avoid "possibly unbound" errors
2023-04-22 14:24:49 -04:00
Isaiah Odhner
3b2b383595
Assert a few more specific types
2023-04-22 14:24:49 -04:00
Isaiah Odhner
2a7427c5c8
Make Pyright happy with EnhancedDirectoryTree scrolling
...
- Don't use a lambda so it doesn't return something
- Assert region is found (not None)
2023-04-22 14:24:49 -04:00
Isaiah Odhner
91dd804f4a
Fix type annotation for interpolations
(*varargs gives a tuple)
2023-04-22 14:24:49 -04:00
Isaiah Odhner
00ab062d3e
Assert type so Pyright knows about .plain and .markup
2023-04-22 13:58:09 -04:00
Isaiah Odhner
7cd44c0abe
Ignore border_title
...
I found these "type: ignore" comments where border_title is defined,
and copied 'em!
2023-04-22 13:46:02 -04:00
Isaiah Odhner
27c9646b20
DRY window closing and make type checker happy with an assertion
2023-04-22 13:46:02 -04:00
Isaiah Odhner
065c5be2cb
Appease the type checker by using maps of buttons
2023-04-22 13:46:02 -04:00
Isaiah Odhner
77295bd622
Int, innit? Init int
2023-04-22 13:11:23 -04:00
Isaiah Odhner
f7b68c7e7a
Now do we enter the land of making code worse for the type checker's benefit?
2023-04-22 02:42:20 -04:00
Isaiah Odhner
f52201eebe
Fix presumed method for removing nodes
...
(This removal code never runs, currently.)
2023-04-22 02:42:19 -04:00
Isaiah Odhner
1b56d78f70
Start type checking code
2023-04-22 02:31:58 -04:00
Isaiah Odhner
6b01b604fe
Set up pyright type checker
2023-04-22 02:27:43 -04:00