Isaiah Odhner
6259d11ec5
Switch to previous tool only on mouse up (for Magnifier)
...
This fixes accidentally activating the other tool when using the Magnifier, and matches the behavior of MS Paint.
2023-04-24 02:16:40 -04:00
Isaiah Odhner
961dfe8039
Add some type hints to variables
...
I don't know what all should have type annotations, and honestly it's
pretty confusing how these are used. For instance, `selecting_text`
goes from:
(variable) selecting_text: bool
to:
(variable) selecting_text: Literal[False]
when annotating it as a bool, looking at the hover text in VS Code
with Pylance language server.
2023-04-24 02:08:48 -04:00
Isaiah Odhner
0c42edce9c
Fix cells stroked outside the mouse's path
...
Use absolute positions instead of delta coordinates.
The deltas would sometimes give points "jutting out" — only by a pixel,
but confusing when trying to do pixel art. You might not even notice it
but it might make you feel like a bad artist until you do.
2023-04-24 01:41:18 -04:00
Isaiah Odhner
dc02833f3f
Shorten selected tool condition (DRY)
2023-04-24 01:27:28 -04:00
Isaiah Odhner
a875c61fff
Fix mouse coordinates with a better workaround
2023-04-24 01:25:07 -04:00
Isaiah Odhner
bcb26707ef
Merge Hovered and Closed events; clear text when mouse leaves menu item
2023-04-24 01:13:04 -04:00
Isaiah Odhner
cb310c2baf
Un-bold menus
...
They're buttons, so they're bold by default.
2023-04-24 01:01:02 -04:00
Isaiah Odhner
2cdb728d64
Fix mouse wheel & show description when hovering over grayed menu items
2023-04-24 00:56:51 -04:00
Isaiah Odhner
c12036880e
Show menu item descriptions in the status bar
2023-04-24 00:43:50 -04:00
Isaiah Odhner
d62b320ede
Add default status text "For Help, click Help Topics on the Help Menu."
2023-04-24 00:03:05 -04:00
Isaiah Odhner
14ca88ba5b
Show dimensions in status bar, and coords in more cases
2023-04-24 00:02:50 -04:00
Isaiah Odhner
c10f2788c1
Remove outdated comment
2023-04-23 23:05:52 -04:00
Isaiah Odhner
4a308f22e1
Tweak status bar styles
...
- Make there be a border at the outside on both the left and the right
- For the inner dividing borders, use left instead of right so that
there's a slight gap between the left-aligned text and the border.
2023-04-23 22:56:51 -04:00
Isaiah Odhner
76e578cf4a
Show mouse coords in status bar
2023-04-23 22:30:16 -04:00
Isaiah Odhner
b7d14f02bd
Add an empty status bar
2023-04-23 22:22:28 -04:00
Isaiah Odhner
eb3b93d454
Require both clicks to be on the same button for a double click
2023-04-23 21:51:44 -04:00
Isaiah Odhner
8136383bca
Return to previous tool after using Magnifier or Pick Color tool
2023-04-23 19:51:12 -04:00
Isaiah Odhner
70cb60218f
Close menus if clicking outside the menus
2023-04-23 19:42:49 -04:00
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
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