Benjamin Popp
b079ca65ee
improve search so that it works with strings
2018-12-18 22:02:05 -06:00
Benjamin Popp
258d5c4562
implemented copy for strings
2018-12-18 21:15:35 -06:00
Benjamin Popp
2be50110bc
escape sequences can be used now
2018-12-18 07:53:20 -06:00
Benjamin Popp
04c53c806c
handle backspace during string
2018-12-18 07:20:32 -06:00
Benjamin Popp
73b618f65d
show the leading " on strings
...
don't allow insertion of a string-format if it would override an existing anchor.
2018-12-17 20:54:10 -06:00
Benjamin Popp
895fbc2bf3
changing selection tries to commit anchors before leaving
...
escape clears in-progresss edits
when editing an anchor, the current name/format is displayed
you get an error if you try to insert an anchor but don't give it a name.
Note that you can still enter an empty anchor (^ ) to DELETE an anchor that has nothing pointing to it.
2018-12-17 20:17:47 -06:00
Benjamin Popp
0a3214956a
wrote some new failing tests so that I know what behaviors to fix next.
2018-12-17 07:37:44 -06:00
Benjamin Popp
8c083e93c2
00 and FF are both valid for continuing a string format
...
'Goto Address' formula correction
-> account for both the format's offset from start and the current cell's
offset from the start of the format.
After auto-moving the data, we ALWAYS need to refresh backing data.
2018-12-16 22:15:34 -06:00
Benjamin Popp
6973679781
strings can now be written, overwritten, and auto-move to avoid colliding with data.
2018-12-16 12:28:57 -06:00
Benjamin Popp
b6e8674693
basic unit tests for adding the ability to type strings in the model.
2018-12-13 22:03:33 -06:00
haven1433
9029261c66
Merge pull request #15 from haven1433/dev
...
Basic Pointer Support
2018-12-13 20:13:30 -06:00
Benjamin Popp
367b176035
typing bytes over a pointer now removes that pointer. Anchor removal is a bit smarter now.
2018-12-12 22:04:01 -06:00
Benjamin Popp
829a072917
you should be able to write a named pointer over a null pointer.
2018-12-12 21:33:14 -06:00
Benjamin Popp
38fb5187b1
auto-format
2018-12-12 21:06:50 -06:00
Benjamin Popp
d3e688de5f
use ellipsis if the current text under edit is too long to fit.
2018-12-12 21:05:28 -06:00
Benjamin Popp
9b7fb9d220
center the pointer text
...
add ellipsis if the name is too long to fit
2018-12-12 19:54:53 -06:00
Benjamin Popp
13ad1aefe2
when doing a multi-cell edit, select multiple cells
2018-12-12 19:46:30 -06:00
Benjamin Popp
66c36bb469
only show right-click menu if the right-mouse-down
...
happened on the same cell
2018-12-12 19:41:54 -06:00
Benjamin Popp
2972bc9a29
underline pointers to make the start/end more apparent
2018-12-12 19:38:24 -06:00
Benjamin Popp
de6dce1382
null pointers should say 'null'
...
it should be possible to write a null pointer
2018-12-12 19:29:25 -06:00
Benjamin Popp
5289949734
replace 'null' after last run with a NullObject
2018-12-12 19:09:04 -06:00
Benjamin Popp
eff3f59aff
refactor: don't need the 'anchor' type as part of the pointer runs.
...
Each run just needs a simple list of things that point to it.
refactor: PointerRuns don't need the model at construction time.
refactor: use a base class to remove duplicate code (IFormattedRun)
2018-12-10 21:44:40 -06:00
Benjamin Popp
7617af8391
improve search
2018-12-10 21:02:45 -06:00
Benjamin Popp
6f75d0a5c1
refactoring: move byte[]data to the model
2018-12-10 20:45:41 -06:00
Benjamin Popp
4d9d14eda5
support for copy/paste for pointers/anchors
2018-12-10 07:13:23 -06:00
Benjamin Popp
5f708b5eec
delete dead comment
2018-12-09 20:15:56 -06:00
Benjamin Popp
f7cc560281
show the anchor name in the right-click menu
2018-12-09 20:15:24 -06:00
Benjamin Popp
4a60c02c62
make it possible to move named anchors. Doing so deletes anything associated with the old anchor, and moves any named pointers to point to the new spot.
2018-12-09 20:06:35 -06:00
Benjamin Popp
bc74eda3e5
make the listbox look not terrible
2018-12-09 19:54:41 -06:00
Benjamin Popp
f8aef7220c
can double-click to follow pointers. Right-click on Anchors lets you follow those backwards.
...
Followed suggestions from Raina to change the way Anchors look a little.
2018-12-09 17:23:00 -06:00
Benjamin Popp
af64d4aad2
implement find/goto for pointers
2018-12-09 13:07:14 -06:00
Benjamin Popp
40d70817a9
bugfixes. See ModelTests.cs
...
-> note that I had to remove EditOnlyNotifiesCollectionChangeOnceWhenScrolling(),
that test is no longer true. Changes to pointers and anchors can change data
elsewhere on screen.
2018-12-09 11:14:42 -06:00
Benjamin Popp
f74d38c012
first pass at making the UI work.
2018-12-08 22:07:02 -06:00
Benjamin Popp
f7d04c5b67
add ability to remove names from anchors
2018-12-08 21:26:01 -06:00
Benjamin Popp
408a56c91b
first pass at adding backspace to the model
2018-12-08 21:01:31 -06:00
Benjamin Popp
ad9e3386d0
support for writing pointers/anchors over other ones, and how replacement works.
2018-12-08 16:18:47 -06:00
Benjamin Popp
25be2aa0fb
basic support for writing pointers and writing anchors
2018-12-06 22:08:36 -06:00
Benjamin Popp
32a5c5759f
implementing the first part of the model
2018-12-04 20:19:00 -06:00
Benjamin Popp
d6cd4cc689
first pass at adding model interfaces. The model will be in charge of parsing the data and listing data formats. The ViewModel can then ask the Model for the 'next format' from a given location. Note that there could be multiple implementations: the only thing the ViewModel knows is the interface.
2018-12-03 22:43:58 -06:00
haven1433
e70b3dcc91
Merge pull request #14 from haven1433/dev
...
Changing Structure
2018-12-03 20:21:53 -06:00
Benjamin Popp
ae6571dba2
simplify confusing code
2018-12-03 19:26:12 -06:00
Benjamin Popp
ffb3f5410b
Refactor: Moving things to a more organized file structure.
2018-12-02 19:47:23 -06:00
Benjamin Popp
242e7199b9
get version string from attributes, so that I can update it in only one place.
2018-12-02 12:59:18 -06:00
haven1433
e5d8a6c006
Merge pull request #13 from haven1433/dev-haven1433-12
...
fixing #12
2018-12-02 12:47:37 -06:00
haven1433
d141012de2
Merge pull request #10 from haven1433/dev
...
Fixing #7 and #11
2018-12-02 12:47:12 -06:00
Benjamin Popp
355d56eeb4
removing duplicate logic - we already know that the changed button was pressed.
2018-12-02 12:46:47 -06:00
Benjamin Popp
a3e88511e0
removing dead code
2018-12-01 23:25:51 -06:00
Benjamin Popp
32b26068da
provide a default value for recentFindResults to avoid null checks.
2018-12-01 23:23:56 -06:00
Benjamin Popp
d0a0a2bbf1
fixing #12
...
- FindPrevious/FindNext logic for CanExecute was wrong.
- also updated when CanExecuteChanged gets called.
2018-12-01 19:22:21 -06:00
Benjamin Popp
a510e924d5
- EditorViewModel should update FileSystem watches when a ViewPort's FileName changes.
...
... This additionally requires that the FileName shares its oldValue when it changes.
- All TabContents are ViewModels
- ViewPort should notify when its FileName changes
2018-12-01 16:59:05 -06:00