Crossfire JXClient, Trunk
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater Class Reference
Collaboration diagram for com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater:
Collaboration graph

Public Member Functions

void dispose ()
 
 MessageBufferUpdater (@NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final Buffer buffer, @NotNull final Color defaultColor, @NotNull final Color selectionColor)
 
void setColor (final int index, @NotNull final Color color)
 
void setTypes (@NotNull final MessageTypes types)
 

Static Public Member Functions

static String getColorName (final int index)
 

Static Public Attributes

static final int NUM_COLORS = 13
 

Private Member Functions

CharSequence addMessageTypePrefix (final int type, final int subtype, final int color, @NotNull final CharSequence message)
 
Color findColor (final int index)
 

Private Attributes

final Buffer buffer
 
final Color[] colors
 
final CrossfireDrawextinfoListener crossfireDrawextinfoListener
 
final CrossfireDrawinfoListener crossfireDrawinfoListener
 
final CrossfireQueryListener crossfireQueryListener
 
final CrossfireServerConnection crossfireServerConnection
 
final Color defaultColor
 
final Parser parser
 
boolean printMessageTypes
 
MessageTypes types = new MessageTypes(false, new int[0])
 

Static Private Attributes

static final String[] COLOR_NAMES
 

Detailed Description

Adds drawinfo, drawextinfo, and query messages to a Buffer instance.

Author
Andreas Kirschbaum

Definition at line 38 of file MessageBufferUpdater.java.

Constructor & Destructor Documentation

◆ MessageBufferUpdater()

com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater ( @NotNull final CrossfireServerConnection  crossfireServerConnection,
@NotNull final Buffer  buffer,
@NotNull final Color  defaultColor,
@NotNull final Color  selectionColor 
)

Member Function Documentation

◆ addMessageTypePrefix()

CharSequence com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.addMessageTypePrefix ( final int  type,
final int  subtype,
final int  color,
@NotNull final CharSequence  message 
)
private

Adds a message type prefix to a message if printMessageTypes is set.

Parameters
typethe message type
subtypethe message subtype
colorthe message color
messagethe message
Returns
the message with prefix

Definition at line 276 of file MessageBufferUpdater.java.

References com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.printMessageTypes, and com.realtime.crossfire.jxclient.protocol.MessageType.toString().

Here is the call graph for this function:

◆ dispose()

void com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.dispose ( )

◆ findColor()

Color com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.findColor ( final int  index)
private

Converts a Crossfire color index to a Color instance.

Parameters
indexthe color index to look up
Returns
the color

Definition at line 227 of file MessageBufferUpdater.java.

References com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.colors, and com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.defaultColor.

◆ getColorName()

static String com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.getColorName ( final int  index)
static

Returns the name of a color index.

Parameters
indexthe color index
Returns
the color name

Definition at line 241 of file MessageBufferUpdater.java.

References com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.COLOR_NAMES.

Referenced by com.realtime.crossfire.jxclient.commands.DebugMessagesCommand.execute().

Here is the caller graph for this function:

◆ setColor()

void com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.setColor ( final int  index,
@NotNull final Color  color 
)

Sets a color mapping.

Parameters
indexthe color index to change
colorthe color to map to

Definition at line 254 of file MessageBufferUpdater.java.

References com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.colors.

Referenced by com.realtime.crossfire.jxclient.gui.log.GUIMessageLog.setColor().

Here is the caller graph for this function:

◆ setTypes()

void com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.setTypes ( @NotNull final MessageTypes  types)

Sets the message types to show.

Parameters
typesthe types to show

Definition at line 262 of file MessageBufferUpdater.java.

References com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.types.

Referenced by com.realtime.crossfire.jxclient.gui.log.GUIMessageLog.setTypes().

Here is the caller graph for this function:

Member Data Documentation

◆ buffer

final Buffer com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.buffer
private

◆ COLOR_NAMES

final String [] com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.COLOR_NAMES
staticprivate
Initial value:
= {
"black",
"white",
"navy blue",
"red",
"orange",
"dodger blue",
"dark orange",
"sea green",
"dark sea green",
"grey",
"brown sienna",
"gold",
"khaki",
}

The colors names corresponding to colors.

Definition at line 69 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.getColorName().

◆ colors

final Color [] com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.colors
private
Initial value:
= {
new Color(0x000000),
new Color(0xB000D5),
new Color(0x362589),
new Color(0xD80C1B),
new Color(0x92440A),
new Color(0xBF580B),
new Color(0x914F1E),
new Color(0x275A0F),
new Color(0x346B1A),
new Color(0x353535),
new Color(0x775716),
new Color(0x999B26),
new Color(0x6C6E20),
}

Maps color index to color.

Definition at line 49 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.findColor(), and com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.setColor().

◆ crossfireDrawextinfoListener

final CrossfireDrawextinfoListener com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.crossfireDrawextinfoListener
private
Initial value:
= new CrossfireDrawextinfoListener() {
@Override
public void commandDrawextinfoReceived(final int color, final int type, final int subtype, @NotNull final String message) {
if (types.isTypeShown(type, subtype)) {
final CharSequence messageWithPrefix = addMessageTypePrefix(type, subtype, color, message);
if (type == MessageType.MSG_TYPE_COMMUNICATION) {
parser.parseWithoutMediaTags(messageWithPrefix, type, subtype, findColor(color), buffer);
} else {
parser.parse(messageWithPrefix, type, subtype, findColor(color), buffer);
}
}
}
@Override
public void setDebugMode(final boolean printMessageTypes) {
MessageBufferUpdater.this.printMessageTypes = printMessageTypes;
}
}

The CrossfireDrawextinfoListener registered to receive drawextinfo commands.

Definition at line 141 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.dispose(), and com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater().

◆ crossfireDrawinfoListener

final CrossfireDrawinfoListener com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.crossfireDrawinfoListener
private
Initial value:
= new CrossfireDrawinfoListener() {
@Override
public void commandDrawinfoReceived(@NotNull final String text, final int type) {
final int messageType;
switch (type) {
case NDI_WHITE:
case NDI_ORANGE:
case NDI_BLUE:
case NDI_RED:
messageType = MessageType.MSG_TYPE_COMMUNICATION;
break;
default:
messageType = MessageType.MSG_TYPE_MISC;
break;
}
if (types.isTypeShown(messageType, MessageType.MSG_SUBTYPE_NONE)) {
parser.parseWithoutMediaTags(addMessageTypePrefix(messageType, 0, type, text), messageType, MessageType.MSG_SUBTYPE_NONE, findColor(type), buffer);
}
}
}

The CrossfireDrawinfoListener registered to receive drawinfo commands.

Definition at line 168 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.dispose(), and com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater().

◆ crossfireQueryListener

final CrossfireQueryListener com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.crossfireQueryListener
private
Initial value:
= new CrossfireQueryListener() {
@Override
public void commandQueryReceived(@NotNull final String prompt, final int queryType) {
if (types.isTypeShown(MessageType.MSG_TYPE_JXCLIENT, MessageType.MSG_SUBTYPE_JXCLIENT_QUERY)) {
parser.parseWithoutMediaTags(addMessageTypePrefix(MessageType.MSG_TYPE_JXCLIENT, MessageType.MSG_SUBTYPE_JXCLIENT_QUERY, CrossfireDrawinfoListener.NDI_RED, prompt), MessageType.MSG_TYPE_JXCLIENT, MessageType.MSG_SUBTYPE_JXCLIENT_QUERY, findColor(CrossfireDrawinfoListener.NDI_RED), buffer);
}
}
}

The CrossfireQueryListener registered to receive query commands.

Definition at line 125 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.dispose(), and com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater().

◆ crossfireServerConnection

final CrossfireServerConnection com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.crossfireServerConnection
private

◆ defaultColor

final Color com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.defaultColor
private

◆ NUM_COLORS

final int com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.NUM_COLORS = 13
static

◆ parser

final Parser com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.parser
private

The Parser instance for parsing drawextinfo messages.

Definition at line 95 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater().

◆ printMessageTypes

boolean com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.printMessageTypes
private

Whether message types are included in the buffer output.

Definition at line 119 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.addMessageTypePrefix().

◆ types

MessageTypes com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.types = new MessageTypes(false, new int[0])
private

The types to show.

Definition at line 114 of file MessageBufferUpdater.java.

Referenced by com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.setTypes().


The documentation for this class was generated from the following file:
com.realtime.crossfire.jxclient.gui.log.Parser.parse
void parse(@NotNull final CharSequence text, final int type, final int subtype, @NotNull final Color defaultColor, @NotNull final Buffer buffer)
Definition: Parser.java:138
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.findColor
Color findColor(final int index)
Definition: MessageBufferUpdater.java:227
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.addMessageTypePrefix
CharSequence addMessageTypePrefix(final int type, final int subtype, final int color, @NotNull final CharSequence message)
Definition: MessageBufferUpdater.java:276
com.realtime.crossfire.jxclient.protocol.MessageTypes.isTypeShown
boolean isTypeShown(final int type, final int subtype)
Definition: MessageTypes.java:61
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.types
MessageTypes types
Definition: MessageBufferUpdater.java:114
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.MessageBufferUpdater
MessageBufferUpdater(@NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final Buffer buffer, @NotNull final Color defaultColor, @NotNull final Color selectionColor)
Definition: MessageBufferUpdater.java:202
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.buffer
final Buffer buffer
Definition: MessageBufferUpdater.java:107
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.parser
final Parser parser
Definition: MessageBufferUpdater.java:95
com.realtime.crossfire.jxclient.gui.log.MessageBufferUpdater.printMessageTypes
boolean printMessageTypes
Definition: MessageBufferUpdater.java:119
com.realtime.crossfire.jxclient.gui.log.Parser.parseWithoutMediaTags
void parseWithoutMediaTags(@NotNull final CharSequence text, final int type, final int subtype, @NotNull final Color color, @NotNull final Buffer buffer)
Definition: Parser.java:154