Gridarta Editor
src
textedit
src
main
java
net
sf
gridarta
textedit
textarea
actions
Home.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
Home
implements
ActionListener {
19
20
private
final
boolean
select
;
21
22
public
Home
(
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
firstLine = textArea.
getFirstLine
();
33
34
final
int
firstOfLine = textArea.
getLineStartOffset
(textArea.
getCaretLine
());
35
final
int
firstVisibleLine = firstLine == 0 ? 0 : firstLine + textArea.
getElectricScroll
();
36
final
int
firstVisible = textArea.
getLineStartOffset
(firstVisibleLine);
37
38
if
(caret == 0) {
39
textArea.getToolkit().beep();
40
return
;
41
}
42
if
(!Boolean.TRUE.equals(textArea.getClientProperty(
InputActions
.
SMART_HOME_END_PROPERTY
))) {
43
caret = firstOfLine;
44
}
else
if
(caret == firstVisible) {
45
caret = 0;
46
}
else
if
(caret == firstOfLine) {
47
caret = firstVisible;
48
}
else
{
49
caret = firstOfLine;
50
}
51
52
if
(
select
) {
53
textArea.
select
(textArea.
getMarkPosition
(), caret);
54
}
else
{
55
textArea.
setCaretPosition
(caret);
56
}
57
}
58
59
}
net.sf.gridarta.textedit.textarea.JEditTextArea.getCaretLine
int getCaretLine()
Definition:
JEditTextArea.java:612
net.sf.gridarta.textedit.textarea.JEditTextArea.getLineStartOffset
int getLineStartOffset(final int line)
Definition:
JEditTextArea.java:525
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.textarea.actions.Home
Definition:
Home.java:18
net.sf.gridarta.textedit
net.sf.gridarta.textedit.textarea.actions.Home.actionPerformed
void actionPerformed(final ActionEvent e)
Definition:
Home.java:27
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.InputActions.SMART_HOME_END_PROPERTY
static final String SMART_HOME_END_PROPERTY
Definition:
InputActions.java:33
net.sf.gridarta.textedit.textarea.actions.Home.select
final boolean select
Definition:
Home.java:20
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.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.InputHandler
Definition:
InputHandler.java:36
net.sf.gridarta.textedit.textarea.JEditTextArea.getCaretPosition
int getCaretPosition()
Definition:
JEditTextArea.java:605
net.sf.gridarta.textedit.textarea.actions.Home.Home
Home(final boolean select)
Definition:
Home.java:22
Generated by
1.8.17