Commit Graph

241 Commits

Author SHA1 Message Date
Isaiah Odhner
fc35e34153 Use Binding(...) for all bindings, for easy access to priority/show args 2023-04-23 17:22:12 -04:00
Isaiah Odhner
d411b84605 Fix CharInput blocking Ctrl+A, Ctrl+W, etc. 2023-04-23 17:20:08 -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
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
4dc7bc08d6 Make paint.py executable 2023-04-23 01:46:49 -04:00
Isaiah Odhner
031a0a3e72 Implement Select All 2023-04-23 01:24:43 -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
5d778c1879 Annotate **kwargs as Any 2023-04-22 21:44: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
2e839b2564 Clean up unused imports 2023-04-22 17:49:15 -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
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
1b56d78f70 Start type checking code 2023-04-22 02:31:58 -04:00
Isaiah Odhner
27c95a537c Make mouse_at_start an Offset (consistently)
It was already initially defined as an Offset.
2023-04-22 01:12:48 -04:00
Isaiah Odhner
45fb2eb521 Implement polygon tool 2023-04-22 01:07:20 -04:00
Isaiah Odhner
2c469a5ef3 Draw curve preview also on mouse up and mouse down events
It feels more solid now, but it still disappears if the mouse leaves the canvas.
2023-04-21 23:52:23 -04:00
Isaiah Odhner
4f99b9f6a7 Make eraser tool square
I also have an erase_region method I could use now, alternatively.
2023-04-21 23:45:04 -04:00
Isaiah Odhner
6ce1856ec7 Fix brush/pencil/eraser previews 2023-04-21 23:40:48 -04:00
Isaiah Odhner
55e6ed6caf DRY some curve tool preview stuff 2023-04-21 23:38:11 -04:00
Isaiah Odhner
4d86f783be Implement Curve tool 2023-04-21 23:16:58 -04:00
Isaiah Odhner
18b78cea03 Outside the Ministry of Silly Walks's jurisdiction, it's a squaredance. 2023-04-21 23:16:58 -04:00
Isaiah Odhner
cc0bdf0973 Implement Text tool 2023-04-21 22:12:16 -04:00
Isaiah Odhner
7442480979 Optimize/abbreviate repeated integer division by the magnification level 2023-04-21 20:49:41 -04:00
Isaiah Odhner
d602753117 Refactor get_select_region 2023-04-21 20:18:58 -04:00
Isaiah Odhner
d39f491233 Fix selection while zoomed in 2023-04-21 19:45:01 -04:00
Isaiah Odhner
37cdcdfb13 Implement View > Zoom > Custom Zoom 2023-04-21 19:30:37 -04:00