1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-08-18 14:29:01 +00:00
Commit Graph

23 Commits

Author SHA1 Message Date
Andy McFadden
84f4075ad4 Show a wait cursor when refreshing larger projects
Fiddled with the status bar, but that'll probably require async.
2019-07-19 11:41:18 -07:00
Andy McFadden
b42aa80cff Set main window title 2019-07-16 14:36:09 -07:00
Andy McFadden
12874d32ba Implement three shortcut commands
Added:
  Toggle Single-BYte Format (Ctrl+B)
  Format As Word (Ctrl+W)
  Delete Note/Long Comment (Del)
2019-07-14 13:50:15 -07:00
Andy McFadden
e49ee6f20b Finish split-address table formatter
A lot of things react to other things in this dialog.  I think I
got everything behaving correctly.
2019-07-13 15:55:32 -07:00
Andy McFadden
0d75282756 Minor tweaks 2019-07-13 11:29:05 -07:00
Andy McFadden
ea3108c564 Implement Tools > Hex Dump 2019-07-12 17:46:37 -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
8d78ce028a Implement remaining properties tabs ("Symbol Files", "Extension Scripts")
Simple ListBox controls with strings.
2019-07-05 16:20:31 -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
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
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
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
96a92f0335 Load/save app settings
This change pulls in the settings file code, which is mostly
unchanged except when it comes to saving and restoring the window
location and size.

The old system has been replaced with a PInvoke-based version that
calls the underlying Win32 window placement code.  This is more
likely to be correct when multiple displays are in use, and can
record the un-maximized size of a maximized window.  It leaves a
nasty XML string embedded in the config file, but it's not really
meant to be human-readable anyway.

The sub-window dividers all work completely differently from the way
they did in WinForms, and some of the behavior is a bit obscure
(like noticing when a splitter moves due to keyboard input, and
setting the position in a way that doesn't break the auto-sizing).
Yay WPF.

Still need to preserve column widths.
2019-06-19 18:09:55 -07:00
Andy McFadden
61ecb28d60 Add Edit Address
Pretty simple dialog, but it took a while to figure out the best
way to deal with input validation.  Works from the various menus as
well as double-clicking on .ORG and address column entries.

Also, moved some stuff around to places that made more sense.
2019-06-16 16:40:08 -07:00
Andy McFadden
814ab97c4d Wire up the Info panel 2019-06-09 14:24:46 -07:00
Andy McFadden
17af7efbbb Show formatted data in the code list
The disassembled lines are now shown in the custom-styled list view.
The DisplayList isn't being kept up to date on edits, but since we
can't edit anything yet that's not too limiting.

Pulled more code over, including the mostly-GUI-agnostic bits of the
source generation and assembler execution code.
2019-05-27 18:52:25 -07:00
Andy McFadden
bf310d17bc Load a hard-coded project file
Fixed some stuff that crashed.  The project is loaded but nothing
visually interesting happens yet.

I'm still not entirely sure what the deal with declaring resources
is, but it seems you can either declare a ResourceDictionary and put
everything in it, or you can declare a bunch of items, which are then
implicitly placed in a ResourceDictionary.  This matters if you want
to have your string definitions merged in with everything else.  All
of the examples I found did one thing or the other, not both at once,
so it took some fiddling.  Yay WPF.
2019-05-08 18:08:46 -07:00
Andy McFadden
ce27ae720e Port project loader code
Created a file to hold the non-WPF parts of ProjectView.cs.
Pulled some code related to project loading into it.  Created a few
related dialogs.
2019-05-05 16:50:28 -07:00
Andy McFadden
575f834b1d Copy some non-UI code over
Mostly a straight copy & paste of the files.  The only significant
change was to move the localizable strings from Properties/Resources
(RESX) to Res/Strings.xaml (Resource Dictionary).  I expect a
number of strings will no longer be needed, since WPF lets you put
more of the UI/UX logic into the design side.

I also renamed the namespace to SourceGenWPF, and put the app icon
into the Res directory so it can be a resource rather than a loose
file.  I'm merging the "Setup" directory contents into the main app
since there wasn't a whole lot going on there.

The WPF Color class lacks conversions to/from a 32-bit integer, so
I added those.

None of the stuff is wired up yet.
2019-05-02 15:45:40 -07:00