Contradictions don't propagate past invalid inferences, since a
contradiction derived after a mistake doesn't necessarily imply that
there's a contradiction in the previous states.
Fixed a bug involving being able to create arbitrary numbers of branches
for non-caserules via the "line of grass" feature in TreeTent. Factored
some code from Board/TreeTent having to do with adding a new node into
BoardState.conditionalAddTransition(). Converted
TreeTent.labelPressedEvent() to a shorter, more readable form.
Removed arbitrary restrictions from TreeTent's CaseTentsInRow, allowing
it to be used in place of the "finish grass" and "finish tents" rules.
Modified LightUp's CaseSatisfyNumber, allowing it to be used in place of
the "finish bulbs" and "finish white" rules.
Added getImageName() functionality to LightUp's CaseSatisfyNumber.
TreeTent's CaseLinkTent's autogenerator no longer links to trees that
are already linked. Added a todo note to an error message in CasePanel.
Factored automatic case rule generation out of CasePanel and into the
corresponding case rules (and default behavior into CaseRule), greatly
uncluttering CasePanel.addJustification(), and making it easier to add
more case rules with automatic generators. Added Legup.getCurrentState()
and Legup.setCurrentState() as shorthand for strings of function calls
that are omnipresent. Added a todo comment in TreeTent's CaseTentsInRow.
Replaced most calls of
Legup.getInstance().getSelections().getFirstSelection().getState() with
Legup.getCurrentState(), and most calls of
Legup.getInstance().getSelections().setSelection(new Selection()) with
Legup.setCurrentState().
Case rule branches now show a blue border around cells that are modified
in their siblings. Added a serialVersionUID to CaseLinkTree.
The node before a case rule branch set has the squares in which its
children differ from it highlighted in blue.
The "Would you like to save?" dialog no longer appears if the proof has
not been modified since saving or loading.