Crossfire JXClient, Trunk
|
Public Member Functions | |
void | addBufferListener (@NotNull final BufferListener listener) |
void | addLine (@NotNull final Line line) |
void | addTextSegment (@NotNull final Line line, @NotNull final String text, final boolean bold, final boolean italic, final boolean underline, @NotNull final FontID fontID, @NotNull final Color color, @NotNull final Color selectionColor) |
void | clear () |
int | coordinateToPosition (final int x, final int y) |
int | getLastCount () |
Line | getLine (final int line) |
Object | getSyncObject () |
String | getText (final int beginSelection, final int endSelection) |
int | getTotalHeight () |
Iterable< Line > | lines (final int line) |
boolean | mergeLines (@NotNull final String text, final int type, final int subtype, @Nullable final Color color) |
void | prune () |
void | removeBufferListener (@NotNull final BufferListener listener) |
void | replaceLine (@NotNull final Line line) |
void | setRenderWidth (final int renderWidth) |
void | setShowSentCommands (final boolean showSentCommands) |
void | setShowTimestamps (final boolean showTimestamps) |
int | size () |
Protected Member Functions | |
Buffer (final int maxLines, final int renderWidth) | |
abstract int | getSegmentWidth (@NotNull final TextSegment segment, final int characters) |
abstract TextSegment | newTextSegment (@NotNull final String text, final boolean bold, final boolean italic, final boolean underline, @NotNull final FontID fontID, @NotNull final Color color, @NotNull final Color selectionColor) |
Private Member Functions | |
void | layoutLines () |
Private Attributes | |
Color | lastColor |
int | lastCount |
int | lastSubtype = -1 |
String | lastText = "" |
int | lastType = -1 |
final List< Line > | lines = new CopyOnWriteArrayList<>() |
final EventListenerList2< BufferListener > | listeners = new EventListenerList2<>() |
final int | maxLines |
int | renderWidth |
boolean | showSentCommands |
boolean | showTimestamps |
final Object | sync = new Object() |
int | totalHeight |
Manages the contents of the contents of a log window. It consists of a list of Lines.
Definition at line 41 of file Buffer.java.
|
protected |
Creates a new instance.
maxLines | the maximum number of lines the buffer can hold |
renderWidth | the width to render |
Definition at line 119 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.maxLines, and com.realtime.crossfire.jxclient.gui.log.Buffer.renderWidth.
void com.realtime.crossfire.jxclient.gui.log.Buffer.addBufferListener | ( | @NotNull final BufferListener | listener | ) |
Adds a listener to notify of changes.
listener | the listener |
Definition at line 310 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.listeners.
Referenced by com.realtime.crossfire.jxclient.gui.log.GUILog.GUILog(), com.realtime.crossfire.jxclient.gui.log.RenderStateManager.RenderStateManager(), and com.realtime.crossfire.jxclient.gui.log.RenderStateTestRec.RenderStateTestRec().
void com.realtime.crossfire.jxclient.gui.log.Buffer.addLine | ( | @NotNull final Line | line | ) |
Appends a Line to the end of the buffer.
line | the line to append |
Definition at line 199 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.listeners, com.realtime.crossfire.jxclient.gui.log.Buffer.renderWidth, com.realtime.crossfire.jxclient.gui.log.Buffer.showSentCommands, com.realtime.crossfire.jxclient.gui.log.Buffer.showTimestamps, com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
void com.realtime.crossfire.jxclient.gui.log.Buffer.addTextSegment | ( | @NotNull final Line | line, |
@NotNull final String | text, | ||
final boolean | bold, | ||
final boolean | italic, | ||
final boolean | underline, | ||
@NotNull final FontID | fontID, | ||
@NotNull final Color | color, | ||
@NotNull final Color | selectionColor | ||
) |
Appends a TextSegment to the end of a line.
line | the line |
text | the text to display |
bold | whether bold face is enabled |
italic | whether italic face is enabled |
underline | whether underlining is enabled |
fontID | the font to use |
color | the color to use |
selectionColor | the selection color to use |
Definition at line 389 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.newTextSegment().
void com.realtime.crossfire.jxclient.gui.log.Buffer.clear | ( | ) |
Clears all lines from the buffer.
Definition at line 176 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lastColor, com.realtime.crossfire.jxclient.gui.log.Buffer.lastCount, com.realtime.crossfire.jxclient.gui.log.Buffer.lastSubtype, com.realtime.crossfire.jxclient.gui.log.Buffer.lastText, com.realtime.crossfire.jxclient.gui.log.Buffer.lastType, com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.listeners, com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
Referenced by com.realtime.crossfire.jxclient.commands.ClearCommand.execute(), and com.realtime.crossfire.jxclient.gui.log.GUILabelLog.updateText().
int com.realtime.crossfire.jxclient.gui.log.Buffer.coordinateToPosition | ( | final int | x, |
final int | y | ||
) |
Returns the text position for a coordinate.
x | the x coordinate |
y | the y coordinate |
Definition at line 413 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.getSegmentWidth(), and com.realtime.crossfire.jxclient.gui.log.Buffer.lines.
Referenced by com.realtime.crossfire.jxclient.gui.log.RenderStateTest.coordinateToPosition(), com.realtime.crossfire.jxclient.gui.log.GUILog.getEndPosition(), com.realtime.crossfire.jxclient.gui.log.GUILog.getStartPosition(), com.realtime.crossfire.jxclient.gui.log.GUILog.mouseDragged(), com.realtime.crossfire.jxclient.gui.log.GUILog.mousePressed(), and com.realtime.crossfire.jxclient.gui.log.GUILog.mouseReleased().
int com.realtime.crossfire.jxclient.gui.log.Buffer.getLastCount | ( | ) |
Returns the number of merged lines. Should not be called unless directly after mergeLines(String, int, int, Color) did return
.
Definition at line 360 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lastCount.
Line com.realtime.crossfire.jxclient.gui.log.Buffer.getLine | ( | final int | line | ) |
Returns one Line by line index. The first line has the index
.
line | the line index |
Definition at line 265 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
|
abstractprotected |
Returns the width of a prefix of a TextSegment.
segment | the text segment |
characters | the number of characters in the prefix |
Reimplemented in com.realtime.crossfire.jxclient.gui.log.DefaultBuffer, and com.realtime.crossfire.jxclient.gui.log.TestBuffer.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.coordinateToPosition().
Object com.realtime.crossfire.jxclient.gui.log.Buffer.getSyncObject | ( | ) |
Returns the object to synchronize on when calling lines(int).
Definition at line 327 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.ParserTest.Rec.dumpBuffer(), and com.realtime.crossfire.jxclient.gui.log.GUILog.paintComponent().
String com.realtime.crossfire.jxclient.gui.log.Buffer.getText | ( | final int | beginSelection, |
final int | endSelection | ||
) |
Returns the selected text.
beginSelection | the first selected character |
endSelection | the first character after the selection |
Definition at line 454 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Line.appendSelection(), com.realtime.crossfire.jxclient.gui.log.Line.getEndPosition(), com.realtime.crossfire.jxclient.gui.log.Line.getStartPosition(), com.realtime.crossfire.jxclient.gui.log.Line.isVisible(), com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.showSentCommands, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.GUILog.copy().
int com.realtime.crossfire.jxclient.gui.log.Buffer.getTotalHeight | ( | ) |
Returns the total height of all lines.
Definition at line 275 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
Referenced by com.realtime.crossfire.jxclient.gui.log.RenderStateTestRec.formatState(), com.realtime.crossfire.jxclient.gui.log.GUILog.setShowSentCommands(), and com.realtime.crossfire.jxclient.gui.log.GUILog.setShowTimestamps().
|
private |
Recalculates layout information in lines.
Definition at line 367 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.renderWidth, com.realtime.crossfire.jxclient.gui.log.Buffer.showSentCommands, com.realtime.crossfire.jxclient.gui.log.Buffer.showTimestamps, com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.setRenderWidth(), com.realtime.crossfire.jxclient.gui.log.Buffer.setShowSentCommands(), and com.realtime.crossfire.jxclient.gui.log.Buffer.setShowTimestamps().
Iterable<Line> com.realtime.crossfire.jxclient.gui.log.Buffer.lines | ( | final int | line | ) |
Returns an Iterator for the lines in this buffer.
line | the initial line index of the list iterator |
Definition at line 287 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
boolean com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines | ( | @NotNull final String | text, |
final int | type, | ||
final int | subtype, | ||
@Nullable final Color | color | ||
) |
Checks whether a new text line should be merged with a preceding line.
text | the text line contents |
type | the message type |
subtype | the message subtype |
color | the text line color |
Definition at line 339 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lastColor, com.realtime.crossfire.jxclient.gui.log.Buffer.lastCount, com.realtime.crossfire.jxclient.gui.log.Buffer.lastSubtype, com.realtime.crossfire.jxclient.gui.log.Buffer.lastText, and com.realtime.crossfire.jxclient.gui.log.Buffer.lastType.
|
abstractprotected |
Creates a new segment.
text | the text to display |
bold | whether bold face is enabled |
italic | whether italic face is enabled |
underline | whether underlining is enabled |
fontID | the font to use |
color | the color to use |
selectionColor | the selection color to use |
Reimplemented in com.realtime.crossfire.jxclient.gui.log.DefaultBuffer, and com.realtime.crossfire.jxclient.gui.log.TestBuffer.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addTextSegment().
void com.realtime.crossfire.jxclient.gui.log.Buffer.prune | ( | ) |
Prunes excess lines.
Definition at line 232 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Line.getEndPosition(), com.realtime.crossfire.jxclient.gui.log.Line.getHeight(), com.realtime.crossfire.jxclient.gui.log.Line.getStartPosition(), com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.listeners, com.realtime.crossfire.jxclient.gui.log.Buffer.maxLines, com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
Referenced by com.realtime.crossfire.jxclient.gui.log.BufferTest.prune_hideSentCommands_prunesExcessLines(), com.realtime.crossfire.jxclient.gui.log.BufferTest.prune_lines_prunesExcessLines(), and com.realtime.crossfire.jxclient.gui.log.BufferTest.prune_pos_prunesExcessLines().
void com.realtime.crossfire.jxclient.gui.log.Buffer.removeBufferListener | ( | @NotNull final BufferListener | listener | ) |
Removes a listener to be notified of changes.
listener | the listener |
Definition at line 318 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.listeners.
Referenced by com.realtime.crossfire.jxclient.gui.log.RenderStateManager.dispose(), and com.realtime.crossfire.jxclient.gui.log.GUILog.dispose().
void com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine | ( | @NotNull final Line | line | ) |
Replaces the last Line of this buffer.
line | the replacing line |
Definition at line 215 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, com.realtime.crossfire.jxclient.gui.log.Buffer.listeners, com.realtime.crossfire.jxclient.gui.log.Buffer.renderWidth, com.realtime.crossfire.jxclient.gui.log.Buffer.showSentCommands, com.realtime.crossfire.jxclient.gui.log.Buffer.showTimestamps, com.realtime.crossfire.jxclient.gui.log.Buffer.sync, and com.realtime.crossfire.jxclient.gui.log.Buffer.totalHeight.
void com.realtime.crossfire.jxclient.gui.log.Buffer.setRenderWidth | ( | final int | renderWidth | ) |
Updates the width to render.
renderWidth | the width to render |
Definition at line 132 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.renderWidth, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.GUILog.setBounds().
void com.realtime.crossfire.jxclient.gui.log.Buffer.setShowSentCommands | ( | final boolean | showSentCommands | ) |
Sets whether commands sent to the server are shown.
showSentCommands | whether commands sent to the server are shown |
Definition at line 147 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.showSentCommands, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.GUILog.setShowSentCommands().
void com.realtime.crossfire.jxclient.gui.log.Buffer.setShowTimestamps | ( | final boolean | showTimestamps | ) |
Sets whether timestamps are shown.
showTimestamps | whether timestamps are shown |
Definition at line 162 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.showTimestamps, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.RenderStateTestRec.RenderStateTestRec(), and com.realtime.crossfire.jxclient.gui.log.GUILog.setShowTimestamps().
int com.realtime.crossfire.jxclient.gui.log.Buffer.size | ( | ) |
Returns the number of lines.
Definition at line 300 of file Buffer.java.
References com.realtime.crossfire.jxclient.gui.log.Buffer.lines, and com.realtime.crossfire.jxclient.gui.log.Buffer.sync.
Referenced by com.realtime.crossfire.jxclient.gui.log.DefaultBuffer.newTextSegment().
|
private |
The color of the previously added line of text.
Definition at line 96 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), and com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines().
|
private |
The number of repetitions of the previously added line of text.
Definition at line 80 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), com.realtime.crossfire.jxclient.gui.log.Buffer.getLastCount(), and com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines().
|
private |
The message subtype of the previously added line of text.
Definition at line 90 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), and com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines().
|
private |
The contents of the previously added line of text.
Definition at line 102 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), and com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines().
|
private |
The message type of the previously added line of text.
Definition at line 85 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), and com.realtime.crossfire.jxclient.gui.log.Buffer.mergeLines().
|
private |
The lines in display order.
Definition at line 63 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), com.realtime.crossfire.jxclient.gui.log.Buffer.coordinateToPosition(), com.realtime.crossfire.jxclient.gui.log.ParserTest.Rec.dumpBuffer(), com.realtime.crossfire.jxclient.gui.log.Buffer.getLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.getText(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.lines(), com.realtime.crossfire.jxclient.gui.log.GUILog.paintComponent(), com.realtime.crossfire.jxclient.gui.log.Buffer.prune(), com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine(), and com.realtime.crossfire.jxclient.gui.log.Buffer.size().
|
private |
The listeners to notify about changes.
Definition at line 47 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addBufferListener(), com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), com.realtime.crossfire.jxclient.gui.log.Buffer.prune(), com.realtime.crossfire.jxclient.gui.log.Buffer.removeBufferListener(), and com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine().
|
private |
The maximum number of lines the buffer can hold.
Definition at line 52 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.Buffer(), com.realtime.crossfire.jxclient.gui.log.Buffer.prune(), and com.realtime.crossfire.jxclient.gui.log.TestBuffer.TestBuffer().
|
private |
The width to render.
Definition at line 57 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.Buffer(), com.realtime.crossfire.jxclient.gui.log.DefaultBuffer.DefaultBuffer(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.setRenderWidth(), and com.realtime.crossfire.jxclient.gui.log.TestBuffer.TestBuffer().
|
private |
Whether commands sent to the server are shown.
Definition at line 107 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.getText(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine(), and com.realtime.crossfire.jxclient.gui.log.Buffer.setShowSentCommands().
|
private |
Whether timestamps are shown.
Definition at line 112 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine(), and com.realtime.crossfire.jxclient.gui.log.Buffer.setShowTimestamps().
|
private |
Object to synchronized access to lines and totalHeight.
Definition at line 75 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), com.realtime.crossfire.jxclient.gui.log.Buffer.getLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.getSyncObject(), com.realtime.crossfire.jxclient.gui.log.Buffer.getText(), com.realtime.crossfire.jxclient.gui.log.Buffer.getTotalHeight(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.lines(), com.realtime.crossfire.jxclient.gui.log.Buffer.prune(), com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.setRenderWidth(), com.realtime.crossfire.jxclient.gui.log.Buffer.setShowSentCommands(), com.realtime.crossfire.jxclient.gui.log.Buffer.setShowTimestamps(), and com.realtime.crossfire.jxclient.gui.log.Buffer.size().
|
private |
The total height of all lines.
Definition at line 68 of file Buffer.java.
Referenced by com.realtime.crossfire.jxclient.gui.log.Buffer.addLine(), com.realtime.crossfire.jxclient.gui.log.Buffer.clear(), com.realtime.crossfire.jxclient.gui.log.Buffer.getTotalHeight(), com.realtime.crossfire.jxclient.gui.log.Buffer.layoutLines(), com.realtime.crossfire.jxclient.gui.log.Buffer.prune(), and com.realtime.crossfire.jxclient.gui.log.Buffer.replaceLine().