Age | Commit message (Collapse) | Author |
|
Just discovered this property which enables basic undo/redo
functionality on the NSTextView.
I can now confirm that the Undo and Redo menu bar items do in fact work.
|
|
|
|
Now that we have a working Font menu built by `NSFontManager`, we can
remove our custom Font menu code.
|
|
I don't understand why, but on Mac OS X 10.15, three menu items in the
automatically-generated Font menu don't have a Command key modifier.
Detect when this happens and add the modifier to the mask.
These menu items correctly had a Command key modifier when I tested the
code on macOS 13.
|
|
Do this so we don't have to bother with forward declarations.
|
|
Check if the Command key is included in the modifier mask. If not, then
add it.
|
|
|
|
This creates the whole font menu for me, and the actions work correctly,
very nice! Read about this in the `NSFontManager` documentation.
The only hitch is that some menu items don't appear to have the proper
keyEquivalents set. For example, "Show Colors", "Copy Style", and "Paste
Style" are all missing the Apple key from the shortcuts.
|
|
Turns out the problem was that I just didn't update the keyEquivalent
after copy-pasting this paragraph. Now it works correctly.
As for the tab bar menu items, it looks like those are inserted
automatically in an Xcode-generated app, so it isn't strange that
they're there.
|
|
|
|
|
|
Create the View menu based on MainMenu.xib. Need to investigate this
more, as some default menu items appeared even without me adding
anything to this menu. My menu has "Show Tab Bar" and "Show All Tabs"
even though I haven't added these. And it already had an "Enter Full
Screen" menu item without any shortcut tied to it, which appears to
override mine with a shortcut.
|
|
Add the actions based on MainMenu.xib that target First Responder.
The others require an NSFontManager, so I have to read up on what's
required for that.
|
|
Still need to set the actions on these menu items.
|
|
|
|
Don't have the actions yet, but this is the structure.
|
|
|
|
I learned about tags and that there are new names for the NSTextFinder
identifiers starting in 10.7. But these still don't seem to be doing
anything.
But I tried adding an NSTextView to a window in a base Xcode project and
the Find actions don't seem to work there either. So now that I have
this, I'm thinking the rest of the problem lies elsewhere. Perhaps the
NSTextView isn't connected enough to enable the Find actions.
|
|
|
|
Most options seem to work, except for Undo, Redo, and the Find commands.
|
|
|
|
This enables the "Close" menu item in the File menu and allows it to
work.
|
|
|
|
Write a list of all the default main menu items generated in a new Cocoa
app MainMenu.nib generated by Xcode.
We'll use this as a guide to reimplement all of the menus and items in
code.
|
|
|
|
It seemed to work without this, but I figure it's better to be more
explicit.
|
|
|
|
The About, Hide, and Quit menu items all include the application name in
their titles.
|
|
These don't work yet, but this is the default list in a Cocoa
application created with Xcode.
|
|
Found out there's an `addItemWithTitle:action:keyEquivalent:` in
`NSMenu` that allows us to skip allocating the menu item ourselves.
|
|
|
|
Makes it cleaner and easier to ignore from revision control.
|
|
Add functions that will create the menus in the application.
|
|
Forgot this when I added it.
|
|
Decided to use Core Foundation naming conventions here instead of
C-style lowercase. It seems to fit better with the Objective-C code.
|
|
Put the menu code in its own file to keep it more organised. We're also
going to be adding a lot more code here for the base main menu.
Wasn't sure if I should be releasing these menu objects, but it looks
like the application works when I do release them, so maybe
`setMainMenu` does a retain or copy.
I can't decide if I should use C-style identifiers or Foundation-style
in the menu file.
|
|
Move the window creation to a separate class, and also allow us to take
advantage of `NSApplicationDelegate` protocol methods.
|
|
Create a simple windowed Cocoa application with an application menu and
a "Quit" menu item.
|