<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
I am about to check in some changes. If they are not acceptable then
please revert to revision 46 (assuming there are no other commits in
the meantime.)<br>
<br>
Here is an overview:<br>
<ul>
  <li>Moved the "flip" checkbox to the setup tab.</li>
  <li>Made the setup tab first.</li>
  <li>Added another tab to allow the editing of lesson sets, lessons
and flash cards.</li>
  <li>Changed the layout of the "Test" screen.<br>
  </li>
</ul>
I left the "File -&gt; Edit" as an alternative, but will remove it if
my changes are acceptable.<br>
<br>
Basic reasoning behind the changes.<br>
Moving the setup tab: Tabs should be ordered in task flow order.<br>
Test tab layout. Two columns prevents truncation. Stretching the window
does not change the spacing the choices.<br>
Edit tab: This could have easily been a separate dialog, but I thought
it made the look more uniform.<br>
<br>
The Edit tab has three lists:<br>
Lesson Sets<br>
&nbsp;&nbsp;&nbsp; lists all the lesson sets<br>
&nbsp;&nbsp;&nbsp; allows for the addition of new ones<br>
&nbsp;&nbsp;&nbsp; allows for the selection of a single lesson set<br>
Lessons<br>
&nbsp;&nbsp;&nbsp; tied to the single selection of a Lesson Set.<br>
&nbsp;&nbsp;&nbsp; lists all the lessons in a lesson set<br>
&nbsp;&nbsp;&nbsp; allows for the addition of a new lesson<br>
&nbsp;&nbsp;&nbsp; allows for the selection a single lesson<br>
Flash Cards<br>
&nbsp;&nbsp;&nbsp; tied to the single selection of a Lesson<br>
&nbsp;&nbsp;&nbsp; lists all the flash cards in a lesson set<br>
&nbsp;&nbsp;&nbsp; presented as a two column table<br>
&nbsp;&nbsp;&nbsp; clicking on a column name will cause the words in that column to be
sorted (uses string compare so it may not be correct for all languages)<br>
&nbsp;&nbsp;&nbsp; allows for the addition of flash cards via a "Flash Card Edit"
dialog.<br>
&nbsp;&nbsp;&nbsp; allows for the deletion of flash cards<br>
Save button<br>
&nbsp;&nbsp;&nbsp; becomes active when a Lesson Set or lesson has been added or a
Flash Card has been modified or deleted<br>
&nbsp;&nbsp;&nbsp; Save will save the lesson to ~/.flashcards/lessons/xxx/yyy/zzz.flash<br>
Flash Card Edit:<br>
&nbsp;&nbsp;&nbsp; Allows the editing of the front and back of the Flash Card.<br>
&nbsp;&nbsp;&nbsp; Allows for the adding many cards in a row (Add button) or the
addition of one (OK button).<br>
&nbsp;&nbsp;&nbsp; Checks to make sure that the card has both a front and a back and
that it is different from another Flash Card.<br>
<br>
Differences between this and the former editor: (The first two were the
primary motivation in doing the change)<br>
Allows for editing lessons held in the jar file and saving the changes
locally.<br>
Creates lessons in a known location so that the program can find it
upon startup.<br>
Allows for the creation of Lesson Sets. While this could be done
previously, it was not obvious as it was implicit in the file naming.<br>
Simplifies the creation of Lessons in that the filename is managed
internally by the program. The user only needs to describe the Lesson.<br>
Allows for the studying of vocabulary before testing (via the Flash
Card listing on the Edit tab).<br>
<br>
In making these changes I did not bring the following forward:<br>
Storing of the name of the file in the lesson.<br>
Choosing, loading and using a font for a lesson. This was saving a
local path to the font that could not be used by others on other
machines.<br>
Does not allow for the insertion of a new lesson in the middle of a
Lesson Set. It appends it to the end.<br>
JBuilder X GUI builder compatibility. It might work, but I don't know.<br>
Modify is done by delete and add.<br>
<br>
What it does not do that would be reasonable additions:<br>
Allow the reordering of lessons in a lesson set.<br>
Allow giving a lesson set a descriptive name (currently it uses the
directory name)<br>
Allow for modifying a FlashCard.<br>
Add keyboard shortcuts to each of the check boxes on the Test tab so
that the user does not have to use a mouse.<br>
</body>
</html>