1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-11-26 21:49:45 +00:00
Commit Graph

29 Commits

Author SHA1 Message Date
Andy McFadden
99b484df4c Implement long-comment editing
We can now Edit Long Comment and Edit Header Comment.

Changing the number of lines in a long comment exposed a bug in the
display list update.  Fixed.

Running the WinForms version trashed the column widths, which exposed
the fact that the default column widths were set too narrow.  Fixed.

On an unrelated note, hitting undo/redo quickly will sometimes leave
you scrolled to the bottom of the code list.  Some sort of command-
handling race in the WPF framework?  (Not fixed.)
2019-07-07 16:18:46 -07:00
Andy McFadden
1685e37c02 Implement "go to" feature 2019-07-07 14:30:38 -07:00
Andy McFadden
779566c236 Implement Find / Find Next
Also, tweaked Edit Label a bit.  I figured out how to make the
TextBox SelectAll+Focus work when the text is bound to a property.
2019-07-07 13:34:47 -07:00
Andy McFadden
741f7ef46a Implement Edit Label
The dialog is pretty straightforward.  This is the first editor that
can cause a partial update -- if you edit a label, only the lines
that refer to that label are regenerated -- so I added the code for
partial display list updates as well.

Also, while working on this I noticed that long comments were getting
ellipsized at a bad place.  The column width for the semi-hidden
column used for notes and long comments wasn't getting set.  After
fiddling with it a bit I determined that it really needed to be set to
the sum of the widths of the rightmost four columns, and updated
whenever column sizes change.  This was easier to do than I expected.
I may actually be getting the hang of WPF.
2019-07-06 17:24:42 -07:00
Andy McFadden
33c4b86b44 Implement "about" dialog 2019-07-06 15:51:57 -07:00
Andy McFadden
83fe70535b Port source generation test harness
I haven't figured out how to make the AppendText(text, color) extension
work right with the WPF version of RichTextBox, but I was able to work
around the issue, and it's not really worth sinking time into.
2019-07-06 14:20:51 -07:00
Andy McFadden
9aa8b5c9a7 Minor documentation updates
Also, placate consistency hobgoblins.
2019-07-06 10:58:24 -07:00
Andy McFadden
8d78ce028a Implement remaining properties tabs ("Symbol Files", "Extension Scripts")
Simple ListBox controls with strings.
2019-07-05 16:20:31 -07:00
Andy McFadden
9c6920ae68 Be a bit more WPF-ish on the OK button management 2019-07-05 15:05:42 -07:00
Andy McFadden
3cc4307484 Implement second project properties tab ("Project Symbols")
Implemented the symbol list, and the Edit Symbol dialog.
2019-07-05 14:53:45 -07:00
Andy McFadden
a23b048cb4 Implement first project properties tab ("General")
Also, added some whitespace to the layout.

Also, removed some redundant fields from the app settings editor.
2019-07-03 14:27:54 -07:00
Andy McFadden
758d95e331 Rough project properties layout 2019-07-01 14:07:30 -07:00
Andy McFadden
f4cb5cd8b8 Implement fourth settings tab ("Pseudo-Op")
Largely unchanged from WinForms version.  Creating and binding
properties for every field seemed tedious.
2019-06-30 13:54:50 -07:00
Andy McFadden
d65acc2121 Implement third settings tab ("Display Format") 2019-06-30 13:25:04 -07:00
Andy McFadden
8907197d58 Clean up clipboard format combo box
The order of items in XAML was tied to enum values, which isn't
great.  Since the value gets stored in the settings file, we want
the values to come from the code-behind.  So now we provide an
ItemsSource for the combo box from the code-behind instead of
defining the items in XAML.
2019-06-28 15:39:35 -07:00
Andy McFadden
7e0faf2800 Rework column width input
Took another swing at doing things WPF-style.  Ended up with TextBox
objects backed by integer fields, which worked pretty well but
didn't get the min/max values.  Set up validation instead, once I
figured out how to make it update in real time.
2019-06-28 15:17:48 -07:00
Andy McFadden
5beae8f926 Implement second settings tab ("Asm Config")
Relatively straightforward, thanks to the way WPF ComboBoxes work.
Spent some time fiddling with the column width text boxes, but
ended up with essentially the WinForms approach.
2019-06-27 15:15:58 -07:00
Andy McFadden
c13daa7085 Implemented the first ("Code View") tab of settings
Notable items include the column show/hide buttons, which were
straightforward except for the "determine the default width" part,
and the font picker, which is no longer a standard dialog.  The
latter was complicated by the absence of a good way to detect
whether a font is mono-spaced or not without calling back into code
meant for WinForms font manipulation (with a dash of PInvoke).
Yay WPF.

Also, enabled character ellipsis for code list items.
2019-06-26 17:11:58 -07:00
Andy McFadden
0a96e014e2 Layout for app settings
Multi-tab dialog with tons of controls.

Also, fixed WorkProgress owner, and removed debug delay from source
gen dialog.
2019-06-24 17:32:53 -07:00
Andy McFadden
8d8112f5c9 Finish generate/assemble dialog
Added the progress dialog as a relatively generic thing (it was
implemented as a pair of dialogs in the WinForms version, for no
very good reason).  Generation and assembler execution works.
2019-06-24 14:41:08 -07:00
Andy McFadden
985eba804b First pass at Generate & Assemble dialog
Got the basic parts laid out and working, but it depends on the
progress dialogs to do actual work.
2019-06-23 17:24:51 -07:00
Andy McFadden
b91124999a Implement "new project"
WPF TreeViews are much different from WinForms.  Unexpectedly, they're
actually simpler and easier to work with.
2019-06-22 17:38:07 -07:00
Andy McFadden
6b29ce98f9 Implement "recents" feature
Add the list of recent projects to File > Recent Projects when the
sub-menu opens.  Make the buttons on the launch panel work correctly.
2019-06-22 14:41:09 -07:00
Andy McFadden
7d2fe51b41 Implement File > Exit 2019-06-22 13:20:31 -07:00
Andy McFadden
8f09cb2942 Rework Edit Status Flags layout
The Grid is a more natural fit.  Disabling M/X/E for 6502 is slightly
less convenient.
2019-06-22 13:09:49 -07:00
Andy McFadden
c87d79ec9e Wire up Open, Save, and Save As
These just needed to have methods added to the command definitions.

Also, added a style to the toolbar buttons so they fade when not
enabled.

Also, fixed the DataFileLoadIssue dialog, which was seriously broken.
2019-06-21 16:27:58 -07:00
Andy McFadden
440deda743 Tweak header letter position
This feels like Doing It Wrong, but some of the letters just don't
look centered over their radio buttons.  Nudge them a pixel.
2019-06-21 15:31:14 -07:00
Andy McFadden
34e6a2a086 Fiddle with failure report dialogs
I was setting the window size and letting the contents fill to fit.
Now I'm setting the content size and letting the window size itself
to fit around it.  The latter feels like it'll hold up better as
things change.
2019-06-21 15:23:13 -07:00
Andy McFadden
007bf4e934 Rename ProjWin directory to WpfGui
"ProjWin" didn't really mean anything.  "WpfGui" emphasizes that
the contents are a WPF implementation of the GUI elements.

No substantive changes.
2019-06-21 15:17:04 -07:00