Gridarta Editor
src
textedit
src
main
java
net
sf
gridarta
textedit
textarea
actions
End.java
Go to the documentation of this file.
1
/*
2
* InputHandler.java - Manages key bindings and executes actions
3
* Copyright (C) 1999 Slava Pestov
4
* Copyright (C) 2000-2023 The Gridarta Developers.
5
*
6
* You may use and modify this package for any purpose. Redistribution is
7
* permitted, in both source and binary form, provided that this notice
8
* remains intact in all source distributions of this package.
9
*/
10
11
package
net.sf.gridarta.textedit.textarea.actions;
12
13
import
java.awt.event.ActionEvent;
14
import
java.awt.event.ActionListener;
15
import
net
.
sf
.
gridarta
.
textedit
.
textarea
.
InputHandler
;
16
import
net
.
sf
.
gridarta
.
textedit
.
textarea
.
JEditTextArea
;
17
18
public
class
End
implements
ActionListener {
19
20
private
final
boolean
select
;
21
22
public
End
(
final
boolean
select
) {
23
this.select =
select
;
24
}
25
26
@Override
27
public
void
actionPerformed
(
final
ActionEvent e) {
28
final
JEditTextArea
textArea =
InputHandler
.
getTextArea
(e);
29
30
int
caret = textArea.
getCaretPosition
();
31
32
final
int
lastOfLine = textArea.
getLineEndOffset
(textArea.
getCaretLine
()) - 1;
33
int
lastVisibleLine = textArea.
getFirstLine
() + textArea.
getVisibleLines
();
34
if
(lastVisibleLine >= textArea.
getLineCount
()) {
35
lastVisibleLine = Math.min(textArea.
getLineCount
() - 1, lastVisibleLine);
36
}
else
{
37
lastVisibleLine -= textArea.
getElectricScroll
() + 1;
38
}
39
40
final
int
lastVisible = textArea.
getLineEndOffset
(lastVisibleLine) - 1;
41
final
int
lastDocument = textArea.
getDocumentLength
();
42
43
if
(caret == lastDocument) {
44
textArea.getToolkit().beep();
45
return
;
46
}
47
if
(!Boolean.TRUE.equals(textArea.getClientProperty(
InputActions
.
SMART_HOME_END_PROPERTY
))) {
48
caret = lastOfLine;
49
}
else
if
(caret == lastVisible) {
50
caret = lastDocument;
51
}
else
if
(caret == lastOfLine) {
52
caret = lastVisible;
53
}
else
{
54
caret = lastOfLine;
55
}
56
57
if
(
select
) {
58
textArea.
select
(textArea.
getMarkPosition
(), caret);
59
}
else
{
60
textArea.
setCaretPosition
(caret);
61
}
62
}
63
64
}
net.sf.gridarta.textedit.textarea.JEditTextArea.getCaretLine
int getCaretLine()
Definition:
JEditTextArea.java:612
net.sf.gridarta.textedit.textarea.actions.End
Definition:
End.java:18
net.sf.gridarta.textedit.textarea.JEditTextArea.getMarkPosition
int getMarkPosition()
Definition:
JEditTextArea.java:621
net.sf.gridarta.textedit.textarea
net.sf.gridarta
net.sf.gridarta.textedit.textarea.InputHandler.getTextArea
static JEditTextArea getTextArea(final EventObject evt)
Definition:
InputHandler.java:144
net.sf
net.sf.gridarta.textedit.textarea.JEditTextArea
Definition:
JEditTextArea.java:91
net.sf.gridarta.textedit
net.sf.gridarta.textedit.textarea.actions.End.select
final boolean select
Definition:
End.java:20
net.sf.gridarta.textedit.textarea.JEditTextArea.getElectricScroll
int getElectricScroll()
Definition:
JEditTextArea.java:290
net.sf.gridarta.textedit.textarea.JEditTextArea.getFirstLine
int getFirstLine()
Definition:
JEditTextArea.java:320
net
net.sf.gridarta.textedit.textarea.actions.End.End
End(final boolean select)
Definition:
End.java:22
net.sf.gridarta.textedit.textarea.actions.InputActions.SMART_HOME_END_PROPERTY
static final String SMART_HOME_END_PROPERTY
Definition:
InputActions.java:33
net.sf.gridarta.textedit.textarea.JEditTextArea.getLineCount
int getLineCount()
Definition:
JEditTextArea.java:515
net.sf.gridarta.textedit.textarea.JEditTextArea.select
void select(final int start, final int end)
Definition:
JEditTextArea.java:649
net.sf.gridarta.textedit.textarea.JEditTextArea.getDocumentLength
int getDocumentLength()
Definition:
JEditTextArea.java:508
net.sf.gridarta.textedit.textarea.JEditTextArea.setCaretPosition
void setCaretPosition(final int caret)
Definition:
JEditTextArea.java:631
net.sf.gridarta.textedit.textarea.actions.InputActions
Definition:
InputActions.java:25
net.sf.gridarta.textedit.textarea.JEditTextArea.getVisibleLines
int getVisibleLines()
Definition:
JEditTextArea.java:342
net.sf.gridarta.textedit.textarea.InputHandler
Definition:
InputHandler.java:36
net.sf.gridarta.textedit.textarea.JEditTextArea.getCaretPosition
int getCaretPosition()
Definition:
JEditTextArea.java:605
net.sf.gridarta.textedit.textarea.JEditTextArea.getLineEndOffset
int getLineEndOffset(final int line)
Definition:
JEditTextArea.java:535
net.sf.gridarta.textedit.textarea.actions.End.actionPerformed
void actionPerformed(final ActionEvent e)
Definition:
End.java:27
Generated by
1.8.17