Advanced finder that can adjust the start and limit position
of the search. The finder can be used in the BaseDocument.find()
which calls its adjust-methods automatically.
The order of the methods called for the search is
1. adjustStartPos() is called
2. adjustStartPos() is called
3. reset() is called
If the search is void i.e. doc.find(finder, pos, pos)
is called, no adjust-methods are called, only the reset()
For backward search the start-position is higher than the limit-position.
The relation startPos < endPos defines whether the search
will be forward or backward. The adjust-methods could in fact
revert this relation turning the forward search into the backward one
and vice versa. This is not allowed. If that happens the search
is considered void.
The adjust-methods must NOT use the shortcut -1 for the end of document.
Adjust start position of the search to be either the same or lower.
This method can be used
for example to scan the whole line by the reg-exp finder even
if the original start position is not at the begining of the line.
Although it's not specifically checked the finder should NOT in any case
return the position that is lower than the original
doc - document to search on
startPos - start position originally requested in BaseDocument.find().
possibly modified start position. The returned position must be
the same or lower than the original start position for forward search
and the same or high.