Fixes a bug that is caused when a row can not be found after validation.  Previously we displayed a message box and then tried to fix the problem.  However sometimes the row has simply gone (Finance Cancel Batch).  This resulted in getting the message box 3 times!  The change now means that we only show the message box if we have located the new row after clearing the filter.

I still need to make the same change to the other 5 templates.
Fixed bugs when adding a batch when a filter is applied that means that you don't see the new batch.  This is now ok.
Another place to fix the Add Batch issue.
Fixed the Find... menu so that it now shows the Find panel for the relevant tab.
Fixed the Find... menu option on Recurring Batches
Merge from trunk
This change just adds a try/catch and retry mechanism to the part of the code that generates the hex string for resources.  It annoyed me that often the generate solution would bomb out when trying to do this for go.gif.  This happens even more often now because go.gif is used on all the filter panels.  The cause of the problem (I believe) is when the IDE compiles multiple projects at the same time there is just too much chance of needing access to this file.  We shall see if the problem now goes away or not!!
A fix to put the focus on the UC grid when the Recurring GLBatch screen is first loaded.
Merge from trunk
1.  Added a small piece of code so that during validation, or when creating a new record, if the filter is preventing the record from being found, we actually apply the filter when clearing the discretionary elements if the filter panel has an apply now button.
2.  Changed the order of statements relating to Filter/Find inside ValidateAllData.  This was necessary because of some special behaviours in Finance screens where, for example, a batch could be cancelled rather than actually deleted.  Now we display a message box if the filter has been cleared AND the row has been re-discovered.  If the row is not re-discovered at all we display no message and assume that some manual code will select a new record.  This fixes a problem where we got 3 message boxes popping up.
Fixed a bug in the tab control whereby the left cursor key did not work beyond the second tab.  The cause was using <= where it should have been >=.
A number of fixes to GL Batch and Recurring GL Batch to fix issues with the filter find behaviour
merge from trunk
Just deleted two rows that were commented out
I just changed a new method call name to SelectRowWithoutFocus instead of ReselectRowAfterSort because that is more informative about what it does.  It is a call that some manual code files will need to make to prevent cascading events.
A significant rework of the method to ProcessSpecialGridKey.  This is particularly aimed at making a good user experience for working with editable grids.  There was a bug in the original source which prevented ENTER and Esc from working.  Now they work and are the main way of editing in place.  The only rule is that OpenPetra grids must not have editable cells in the first column.
merge from trunk
uncrustify
A small fix that was required to get the nant test to run without error.  This branch is ready for trunk.  It has fixed the bugs listed below
another merge from trunk