Improvements

·         Ask for overwriting files.  Ask to save before exiting, opening files, starting new circuits.

·         Visible indication of initial value / watch value on the main screen (without having to go into "properties" to see them)

·         Make the keyboard shortcuts work even immediately after loading a new circuit in.

·         Fix all the keyboard shortcuts.

·         Put arrows on the pictures of the state machine input/outputs.

·         Save in a thread instead of just not repainting the screen.

·         A functional run button.

·         Automatically add a file extension to a saved file name if it's not ".lsg"

·         Add a clear button (there's already some code in place for this).

·         Make sure the name bank in "LogicElement" is correct even on clear/new/open.

·         Undo/redo clearing the screen.

·         Undo/redo changing properties.

·         Actually implement the add/remove workspace.

·         Figure out how to give certain components the keyboard focus.  Have the IntRangeDialog automatically give focus to the "ok" button.  Have the properties dialog give focus to the "ok" button or else the highlighted name field.

·         Have the properties dialog do some error checking for legal identifiers (before getting to logicsim).

·         Let the properties dialog show the number of bits, number of input/output points, & anything else special to certain components.

·         Add properties of Solder Points and Wires, so people can see how many bits they carry & such.

·         Zoom in & zoom out consistently (right now it's a list for one & a percentage for another)

·         Let the user cancel out of making an element.

·         To make the state machine editor a lot easier for the next guy:

o        Make LineSets directed w/ having exactly one input

o        Make the ElementEditorPane, not just the Circuit, capable of handling  LineSet

·         Don't ask about the deletion policy if there are no wires attached to the selected component(s).

·         Provide for hex values

·         Put dots after every label that pops up a dialog.

·         A way to edit a memory file.

·         Make the ElementEditorPane scroll-savvy so that each scroll increment moves 1 grid square.

·         Double-click to pull up properties.

·         A bus

·         Improved searching technique (i.e. not linear search!) for finding the circuit you clicked on - any intersecting circuits, etc.  This may require 4 sorted collections (trees?) for the elements in the circuit, sorted by beginning x value, ending x value, beginning y value, ending y value.

·         A custom component editor.

·         Selecting blocks of the circuit. 

o        Included the option of selecting all the connections for deletion?

·         Selecting multiple elements (not in a block).

·         Copy/paste (especially w/ blocks of the circuit).

·         Remember window size/position. 

·         Remember options.