I'm writing a plugin for an existing app and I need to capture the modified text and range affected by the undo and redo action. I am able to access the NSUndoManager and NSTextView the app has created and I am able to register for notifications. Is there a way to leverage these elements to grab the group of text that is undone/redone?
Capturing undo and redo edit text groups in NSTextView
1.2k Views Asked by afrederick At
1
There are 1 best solutions below
Related Questions in OBJECTIVE-C
- How do I customize NSOutlineView to have border color?
- UIWebView Screen Fitting Issue
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Image and Text locations in UIButton
- setting OpenGL version in objective-C
- Setup code for xibs in iOS. -awakFromNb:
- realm db, get parent link of object
- CFBundleDocumentType is not working in myproject-Info.plist file
- UIPopoverPresentationController not rendering properly
- Using Storyboard Reference
- Pass Data between two view controllers using 'Delegation' : Objective-C
- Unexpected CALayer Vertical Flipping on 3D Rotation 'Bounce'
- Setting View orientation to portrait is ignored
- UITextField append / between dates while enforcing character limit
Related Questions in COCOA
- How do I customize NSOutlineView to have border color?
- How to generate request format for WCF web service method for Mac and iPhone
- How to Handle Command Line Prompt from a Cocoa App
- Change views inside NSSplitViewController
- CMYK NSImage get pixel data
- Reactive Cocoa Conditional Split ?
- Set background color of NSImageView with proportionally sized image
- Use NSWindow or NSViewController?
- Imports and includes in header files - when is it okay?
- How to prevent the app from automatically open a window when launched?
- Swift NSViewController responds to mouseDown event, but not keyDown event
- "stringByAddingPercentEncodingWithAllowedCharacters" replaces more characters than it should
- cocoa - what happen when close a window (by pressing the red X button)?
- Does it necessary to go back to main thread to update UI?
- WebView not responding to Keyboard input
Related Questions in NSTEXTVIEW
- How to set the default writing direction for NSTextView?
- How to tell NSTextView which side to extend selection on?
- How to disable text color in NSTextView?
- How to show NSTextView-like context menu
- Multi Column Text Window Cocoa Swift NSTextView
- Cannot get foreground color of NSTextView
- Anyone know what cause this crash:"[__NSArrayI replaceObjectAtIndex:withObject:]: unrecognized selector"?
- Drawing focus ring in NSTextView when using scaleUnitSquareToSize:
- NSScroller inside a NSScrollView does not change position when resizing the window (in Swift)
- Required Methods for Text Changes in Custom NSTextView
- How to show large quantity of hex text in Cocoa?
- Core Data / NSTextView outlets not updating after fetching (OS X)
- TextView text appending
- NSTextView non-editable in NSSplitview
- How to get stringValue from a NSTextView
Related Questions in NSUNDOMANAGER
- Netbeans JApplet: Adding a working redo button to redo a change when adding elements to a stack
- NSUndoManager casting NSUndoManagerProxy crash in Swift code
- Is it OK to use multiple NSUndoManagers with one Core-Data managedObjectContext?
- Core Data and NSOperation
- iOS - UITextView + NSUndoManager
- How can I make NSUndoManager's undo/redo action names work properly?
- NSImageView and NSUndoManager
- iOS -NSUndoManager stops working when some text is appended to a textView
- What's the standard way to handle canceling an edit while on an item detail display screen?
- Undo Group with Core Data across spins of run loop
- detecting when NSUndoManager's alert view is visible
- What does NSUndoManager do to my UITextView?
- How to disable the NSUndoManager for certain actions/entities with CoreData?
- How to disable the NSUndoManager in an NSDocument?
- Undo/Redo Operation doesn't work with Bold,italic, Background and Foreground text color in UITextview
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I haven't done this, so I'm only going by the docs/knowledge.
Because you have access to the textview you can become a textview delegate. You'll then receive useful messages...
Before the text changes:
After the text changes:
I don't know if you'll receive these changes (does UndoManager bypass this stuff?), but you may. In any event you can query selection settings while handling the previous messages.
Before the selection changes:
After:
UndoManager should tell you that it is in the process of performing an Undo, which mean that you can differentiate ordinary changes from undo-based changes.
This seems like enough to go on, I hope it helps.