Package org.luwrain.controls.edit
Class MultilineEditTranslator
java.lang.Object
org.luwrain.controls.edit.MultilineEditTranslator
- All Implemented Interfaces:
MultilineEdit.Model
,MultilineEditCorrector
,Lines
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected final HotPointControl
protected final MutableLines
protected String
-
Constructor Summary
ConstructorDescriptionMultilineEditTranslator
(MutableLines lines, HotPointControl hotPoint) MultilineEditTranslator
(MutableLines lines, HotPointControl hotPoint, String tabSeq) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
checkPos
(int pos, int lineIndex) deleteChar
(int pos, int lineIndex) deleteRegion
(int fromX, int fromY, int toX, int toY) doEditAction
(TextEditAction action) protected void
endEditTrans
(boolean cleanSingleEmptyLine) int
int
getLine
(int index) int
protected String
getWordPriorTo
(int pos, int lineIndex) insertRegion
(int x, int y, String[] text) mergeLines
(int firstLineIndex) Puts one or several characters at some position.splitLine
(int pos, int lineIndex) Splits the specified line at the specified position.
-
Field Details
-
lines
-
hotPoint
-
tabSeq
-
hasChanges
protected boolean hasChanges
-
-
Constructor Details
-
MultilineEditTranslator
-
MultilineEditTranslator
-
-
Method Details
-
deleteChar
- Specified by:
deleteChar
in interfaceMultilineEdit.Model
-
deleteRegion
- Specified by:
deleteRegion
in interfaceMultilineEdit.Model
-
insertRegion
- Specified by:
insertRegion
in interfaceMultilineEdit.Model
-
putChars
Description copied from interface:MultilineEdit.Model
Puts 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,lineIndex
equals to zero andpos
equals 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.ModificationResult
object. If thechars
arguments has the length greater than one, the string argument of the result must be set to the value ofchars
argument.If
chars
argument 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:
putChars
in 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.ModificationResult
object with the flag if the operation was performed and other corresponding information
-
mergeLines
- Specified by:
mergeLines
in interfaceMultilineEdit.Model
-
splitLine
Description copied from interface:MultilineEdit.Model
Splits 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:
splitLine
in 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:
doEditAction
in interfaceMultilineEditCorrector
-
getLineCount
public int getLineCount()- Specified by:
getLineCount
in interfaceLines
-
getLine
-
getHotPointX
public int getHotPointX()- Specified by:
getHotPointX
in interfaceMultilineEdit.Model
-
getHotPointY
public int getHotPointY()- Specified by:
getHotPointY
in interfaceMultilineEdit.Model
-
getTabSeq
- Specified by:
getTabSeq
in interfaceMultilineEdit.Model
-
getWordPriorTo
-
checkPos
protected void checkPos(int pos, int lineIndex) -
beginEditTrans
protected void beginEditTrans() -
endEditTrans
protected void endEditTrans(boolean cleanSingleEmptyLine)
-