that will blap another anchor
modify behavior to _not_ auto-fill anchor info after typing ^
(I thought that auto-fill was desirable, but it messes with paste)
This is less of a problem now that there's a dedicated anchor editor.
- SilentScroll should return whether or not a scroll was needed.
This lets us be smarter about when we really need a refresh.
- create a lightweight version of RefreshBackingData that only refreshes
a single square. Use the new version on pcs character complete.
- for mass edits, defer tool content updates until the end of the edit.
- update tools after an anchor edit (fixes a crash)
- use stringbuilders instead of string concatanation in critical paths
- when converting bytes to a PCSString, cache off the currentByte
instead of asking for it multiple times
- PCSRuns did string caching so that the full string given to a HexElement
only had to be calculated once each refresh. Now arrays cache too.
related changes:
- fixed a crash when pasting an array into a location where it would
conflict with an existing run
- pasting large arrays no longer randomly inserts blank elements
(no whitespace after pasted strings)
- you can middle-click to clear an error
fix a bug where typing " to end a string in an array wouldn't append the 0xFF end byte
tools for string arrays are not fully implemented yet, but at least it doesn't crash now
make the string tool add a scrollbar when it gets really tall instead of growing past the bottom edge of the screen
make it possible to copy/paste an array
make it possible to edit arrays in the data
it is now possible to specify an array based on a format and no length,
and the app will look for that data based on known pointers.
It will automatically match the longest values, and the results will
be stored in the metadata file. Therefor, this search will only occur
when loading a file that has no associated metadata.
This searching functionality is exposed in a new model subclass, so that the
tests won't be effected. However, the functionality exists in the general model,
so it's still possible to write specific tests based on bugs found.
Since an array can call something a string when it's not, added a new "ErrorPCS"
implementation of IDataFormat, to display the raw byte in red. This will help
find string errors and possibly missing string characters.
This visual cue helps the user see the top data border when there's no anchor text box.
- add a message display to the error display / goto box / find box area.
- animate errors and messages to help draw the user attention to them.
- pressing escape should clear the context control