Class EditCorrectorHooks
- All Implemented Interfaces:
MultilineEdit.Model,MultilineEditCorrector,Lines
MultilineEditCorrector with
calls of the hooks prior and after of the corresponding action of the
underlying corrector.
The call of the hook prior to the operation may cancel the operation,
if it returns false. If it returns any other value , including
null and undefined, the processing will be
continued. The hooks called after the operation may return any value,
it is never taken into account in any way.
All hooks handlers must expect the single argument with members,
which set depends on the purpose of the particular operation. In the
meantime, the argument always has the lines and
hotPoint members, since they are actual for any operation.
Here is the list of the hooks created by this class where base
is a string value provided with the constructor:
base.delete.char.prebase.delete.char.postbase.delete.region.prebase.delete.region.postbase.insert.region.prebase.insert.region.postbase.insert.chars.prebase.insert.chars.postbase.merge.lines.prebase.merge.lines.postbase.split.lines.prebase.split.lines.post
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final MultilineEditCorrectorprotected final HookContainerprotected final String -
Constructor Summary
ConstructorsConstructorDescriptionEditCorrectorHooks(HookContainer hookContainer, MultilineEdit.Model base, String hookNameBase) -
Method Summary
Modifier and TypeMethodDescriptiondeleteChar(int pos, int lineIndex) deleteRegion(int fromX, int fromY, int toX, int toY) doEditAction(TextEditAction action) intintgetLine(int index) intinsertRegion(int x, int y, String[] lines) mergeLines(int firstLineIndex) Puts one or several characters at some position.protected voidprotected booleansplitLine(int pos, int lineIndex) Splits the specified line at the specified position.
-
Field Details
-
context
-
base
-
hookNameBase
-
-
Constructor Details
-
EditCorrectorHooks
public EditCorrectorHooks(HookContainer hookContainer, MultilineEdit.Model base, String hookNameBase)
-
-
Method Details
-
getLine
-
getLineCount
public int getLineCount()- Specified by:
getLineCountin interfaceLines
-
getHotPointX
public int getHotPointX()- Specified by:
getHotPointXin interfaceMultilineEdit.Model
-
getHotPointY
public int getHotPointY()- Specified by:
getHotPointYin interfaceMultilineEdit.Model
-
getTabSeq
- Specified by:
getTabSeqin interfaceMultilineEdit.Model
-
deleteChar
- Specified by:
deleteCharin interfaceMultilineEdit.Model
-
deleteRegion
- Specified by:
deleteRegionin interfaceMultilineEdit.Model
-
insertRegion
- Specified by:
insertRegionin interfaceMultilineEdit.Model
-
putChars
Description copied from interface:MultilineEdit.ModelPuts one or several characters at some position. The position expects to be valid in the content of the model, except of the case when there are no lines at all,lineIndexequals to zero andposequals to zero. In this case the method must insert one empty line prior to making any required changes.After performing the operation, the method must prepare the
MultilineEdit.ModificationResultobject. If thecharsarguments has the length greater than one, the string argument of the result must be set to the value ofcharsargument.If
charsargument has the length equals to one, this single character must be returned as the character argument of the result. If the method is requested to insert a single spacing character, the string argument of the result must contain the last word prior to the inserting position. If there is no any word prior to the inserting position, the result may have the string argument empty.- Specified by:
putCharsin interfaceMultilineEdit.Model- Parameters:
pos- The position on the line to put characters atlineIndex- The index of the line to put characters onstr- The characters to put- Returns:
- The
MultilineEdit.ModificationResultobject with the flag if the operation was performed and other corresponding information
-
mergeLines
- Specified by:
mergeLinesin interfaceMultilineEdit.Model
-
splitLine
Description copied from interface:MultilineEdit.ModelSplits the specified line at the specified position. This method removes on the line all the content after the specified position and puts the deleted fragment on new line which is inserted just after modified. If the position is given outside of the stored text, the behaviour of this method is undefined.- Specified by:
splitLinein interfaceMultilineEdit.Model- Parameters:
pos- The 0-based position to split line atlineIndex- The 0-based index of the line to split- Returns:
- The fragment moved onto newly inserted line
-
doEditAction
- Specified by:
doEditActionin interfaceMultilineEditCorrector
-
runPre
-
runPost
-