Game Control Plus  1.2.2
 All Classes Namespaces Functions Variables Pages
org.gamecontrolplus.gui.MTextArea Class Reference
Inheritance diagram for org.gamecontrolplus.gui.MTextArea:

Public Member Functions

 MTextArea (PApplet theApplet, float p0, float p1, float p2, float p3)
 
 MTextArea (PApplet theApplet, float p0, float p1, float p2, float p3, int sbPolicy)
 
 MTextArea (PApplet theApplet, float p0, float p1, float p2, float p3, int sbPolicy, int wrapWidth)
 
void setPromptText (String dtext)
 
void setText (String text)
 
void setText (String text, int wrapWidth)
 
void setText (String[] lines)
 
void setText (String[] lines, int wrapWidth)
 
String[] getTextAsArray ()
 
void addStyle (TextAttribute attr, Object value, int lineNo, int charStart, int charEnd)
 
void clearStyles (int lineNo, int charStart, int charEnd)
 
void setStyledText (MStyledString st)
 
void appendText (String extraText)
 
void pre ()
 
void draw ()
 
PGraphics getSnapshot ()
 
void moveCaretTo (int lineNo, int charNo)
 
void mouseEvent (MouseEvent event)
 
- Public Member Functions inherited from org.gamecontrolplus.gui.MEditableTextControl
 MEditableTextControl (PApplet theApplet, float p0, float p1, float p2, float p3, int scrollbars)
 
void setFocus (boolean focus)
 
void setPromptText (String ptext)
 
int getWrapWidth ()
 
void setWrapWidth (int wrapWidth)
 
String getPromptText ()
 
String getText ()
 
MStyledString getStyledText ()
 
void addStyle (TextAttribute attr, Object value, int charStart, int charEnd)
 
void addStyle (TextAttribute attr, Object value)
 
void clearStyles (int charStart, int charEnd)
 
void clearStyles ()
 
void setFont (Font font)
 
String getSelectedText ()
 
void setSelectedTextStyle (TextAttribute style, Object value)
 
void clearSelectionStyle ()
 
void setJustify (boolean justify)
 
void setLocalColorScheme (int cs)
 
boolean hasSelection ()
 
void setTextEditEnabled (boolean enableTextEdit)
 
boolean isTextEditEnabled ()
 
void keyEvent (KeyEvent e)
 
void flashCaret (MTimer timer)
 
void hsbEventHandler (MScrollbar scrollbar, MEvent event)
 
void vsbEventHandler (MScrollbar scrollbar, MEvent event)
 
void markForDisposal ()
 
boolean saveText (String fname)
 
boolean loadText (String fname)
 
- Public Member Functions inherited from org.gamecontrolplus.gui.MTextBase
 MTextBase (PApplet theApplet, float p0, float p1, float p2, float p3)
 
void setText (String text)
 
boolean loadText (String fname)
 
boolean saveText (String fname)
 
void setFont (Font font)
 
void setStyledText (MStyledString ss)
 
void setTextPlain ()
 
void setTextBold (int start, int end)
 
void setTextBold ()
 
void setTextItalic (int start, int end)
 
void setTextItalic ()
 
MStyledString getStyledText ()
 
String getText ()
 
- Public Member Functions inherited from org.gamecontrolplus.gui.MAbstractControl
 MAbstractControl (PApplet theApplet)
 
 MAbstractControl (PApplet theApplet, float p0, float p1, float p2, float p3)
 
void draw ()
 
void mouseEvent (MouseEvent event)
 
void keyEvent (KeyEvent e)
 
void pre ()
 
void post ()
 
void dispose ()
 
void forceBufferUpdate ()
 
boolean isOver (float x, float y)
 
void setLocalColorScheme (int cs)
 
void setLocalColorScheme (int cs, boolean includeChildren)
 
int getLocalColorScheme ()
 
void setAlpha (int alpha)
 
void setAlpha (int alpha, boolean includeChildren)
 
MAbstractControl getParent ()
 
PApplet getPApplet ()
 
PGraphics getSnapshot ()
 
void addEventHandler (Object obj, String methodName)
 
void moveTo (float px, float py)
 
float getX ()
 
float getY ()
 
float getCX ()
 
float getCY ()
 
float getWidth ()
 
float getHeight ()
 
void setVisible (boolean visible)
 
boolean isVisible ()
 
void setOpaque (boolean opaque)
 
boolean isOpaque ()
 
boolean isDragging ()
 
void setEnabled (boolean enable)
 
boolean isEnabled ()
 
void setFocus (boolean focus)
 
boolean hasFocus ()
 
void addControl (MAbstractControl c, float x, float y, float angle)
 
void addControl (MAbstractControl c, float x, float y)
 
void addControl (MAbstractControl c)
 
void addControls (MAbstractControl...controls)
 
int getCursorOver ()
 
void setCursorOver (int cursorOver)
 
void markForDisposal ()
 
String toString ()
 

Protected Member Functions

void updateBuffer ()
 
void keyPressedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void keyTypedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
boolean changeText ()
 
boolean moveCaretStartOfLine (TextLayoutHitInfo currPos)
 
boolean moveCaretEndOfLine (TextLayoutHitInfo currPos)
 
boolean moveCaretStartOfText (TextLayoutHitInfo currPos)
 
boolean moveCaretEndOfText (TextLayoutHitInfo currPos)
 
boolean moveCaretUp (TextLayoutHitInfo currPos)
 
boolean moveCaretDown (TextLayoutHitInfo currPos)
 
boolean moveCaretLeft (TextLayoutHitInfo currPos)
 
boolean moveCaretRight (TextLayoutHitInfo currPos)
 
void calculateCaretPos (TextLayoutHitInfo tlhi)
 
- Protected Member Functions inherited from org.gamecontrolplus.gui.MEditableTextControl
void loseFocus (MAbstractControl grabber)
 
void takeFocus ()
 
boolean moveCaretStartOfLine (TextLayoutHitInfo currPos)
 
boolean moveCaretEndOfLine (TextLayoutHitInfo currPos)
 
boolean moveCaretLeft (TextLayoutHitInfo currPos)
 
boolean moveCaretRight (TextLayoutHitInfo currPos)
 
void calculateCaretPos (TextLayoutHitInfo tlhi)
 
void keyPressedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void keyTypedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
boolean changeText ()
 
- Protected Member Functions inherited from org.gamecontrolplus.gui.MTextBase
void addAttributeImpl (TextAttribute style, Object value)
 
void addAttributeImpl (TextAttribute style, Object value, int s, int e)
 
- Protected Member Functions inherited from org.gamecontrolplus.gui.MAbstractControl
void resize (float w, float h)
 
int whichHotSpot (float px, float py)
 
int getCurrHotSpot ()
 
PGraphics getBuffer ()
 
void updateBuffer ()
 
void createEventHandler (Object handlerObj, String methodName, Class[] param_classes, String[] param_names)
 
void fireEvent (Object...objects)
 
void setAvailable (boolean avail)
 
boolean isAvailable ()
 
void takeFocus ()
 
void loseFocus (MAbstractControl grabber)
 
void addToParent (MAbstractControl p)
 
AffineTransform getTransform (AffineTransform aff)
 
void calcTransformedOrigin (float px, float py)
 
void setZ (int parentZ)
 

Protected Attributes

boolean newline = false
 
- Protected Attributes inherited from org.gamecontrolplus.gui.MEditableTextControl
MStyledString promptText = null
 
int wrapWidth = Integer.MAX_VALUE
 
float tx
 
float ptx
 
float caretX
 
boolean keepCursorInView = false
 
GeneralPath gpTextDisplayArea
 
TextLayoutHitInfo startTLHI = new TextLayoutHitInfo()
 
TextLayoutHitInfo endTLHI = new TextLayoutHitInfo()
 
final int scrollbarPolicy
 
boolean autoHide = false
 
MScrollbar hsb
 
MTimer caretFlasher
 
boolean showCaret = false
 
int endChar = -1
 
boolean textChanged = false
 
- Protected Attributes inherited from org.gamecontrolplus.gui.MTextBase
Font localFont = M4P.globalFont
 
- Protected Attributes inherited from org.gamecontrolplus.gui.MAbstractControl
PApplet winApp
 
int z = Z_STICKY
 
boolean dragging = false
 
MAbstractControl parent = null
 
LinkedList< MAbstractControlchildren = null
 
int localColorScheme = M4P.globalColorScheme
 
int[] palette = null
 
Color[] jpalette = null
 
int alphaLevel = M4P.globalAlpha
 
float x
 
float width
 
float halfWidth
 
float cx
 
float rotAngle
 
double[] temp = new double[2]
 
PGraphicsJava2D buffer = null
 
boolean bufferInvalid = true
 
boolean opaque = false
 
int cursorOver = HAND
 
float ox
 
Object eventHandlerObject = null
 
Method eventHandlerMethod = null
 
String eventHandlerMethodName
 
MHotSpot[] hotspots = null
 
int currSpot = -1
 

Package Attributes

boolean backspace = false
 
- Package Attributes inherited from org.gamecontrolplus.gui.MEditableTextControl
MTabManager tabManager = null
 
float ty
 
float th
 
float tw
 
float pty
 
float caretY
 
MScrollbar vsb
 
int startChar = -1
 
int pos = endChar
 
int nbr = 0
 
int adjust = 0
 
boolean selectionChanged = false
 
boolean textEditEnabled = true
 
- Package Attributes inherited from org.gamecontrolplus.gui.MAbstractControl
float y
 
float height
 
float halfHeight
 
float cy
 
float oy
 
boolean visible = true
 
boolean enabled = true
 
boolean available = true
 
int registeredMethods = 0
 

Static Private Attributes

static float pad = 6
 

Additional Inherited Members

- Public Attributes inherited from org.gamecontrolplus.gui.MTextBase
MStyledString stext = new MStyledString("")
 
- Public Attributes inherited from org.gamecontrolplus.gui.MAbstractControl
String tag
 
int tagNo
 
- Public Attributes inherited from org.gamecontrolplus.gui.MConstants
int RED_SCHEME = 0
 
int GREEN_SCHEME = 1
 
int YELLOW_SCHEME = 2
 
int PURPLE_SCHEME = 3
 
int ORANGE_SCHEME = 4
 
int CYAN_SCHEME = 5
 
int BLUE_SCHEME = 6
 
int GOLD_SCHEME = 7
 
int SCHEME_8 = 8
 
int SCHEME_9 = 9
 
int SCHEME_10 = 10
 
int SCHEME_11 = 11
 
int SCHEME_12 = 12
 
int SCHEME_13 = 13
 
int SCHEME_14 = 14
 
int SCHEME_15 = 15
 
char HOME = java.awt.event.KeyEvent.VK_HOME
 
char END = java.awt.event.KeyEvent.VK_END
 
int CTRL_ANGULAR = 0x00000501
 
int CTRL_HORIZONTAL = 0x00000502
 
int CTRL_VERTICAL = 0x00000503
 
int EXIT_APP = 0x00000f01
 
int CLOSE_WINDOW = 0x00000f02
 
int KEEP_OPEN = 0x00000f03
 
int USER_COL_SCHEME = 0x00010102
 
int ALPHA_BLOCK = 128
 
int ALPHA_PICK = 48
 
int SCROLLBARS_NONE = 0x0000
 
int SCROLLBARS_VERTICAL_ONLY = 0x0001
 
int SCROLLBARS_HORIZONTAL_ONLY = 0x0002
 
int SCROLLBARS_BOTH = 0x0003
 
int SCROLLBARS_AUTOHIDE = 0x1000
 
int SCROLLBAR_VERTICAL = 1
 
int SCROLLBAR_HORIZONTAL = 2
 
int INTEGER = 0
 
int DECIMAL = 1
 
int EXPONENT = 2
 
int ORIENT_LEFT = -1
 
int ORIENT_TRACK = 0
 
int ORIENT_RIGHT = 1
 
int X4 = 1
 
int X8 = 2
 
int PLAIN = JOptionPane.PLAIN_MESSAGE
 
int ERROR = JOptionPane.ERROR_MESSAGE
 
int INFO = JOptionPane.INFORMATION_MESSAGE
 
int WARNING = JOptionPane.WARNING_MESSAGE
 
int QUERY = JOptionPane.QUESTION_MESSAGE
 
int YES_NO = JOptionPane.YES_NO_OPTION
 
int YES_NO_CANCEL = JOptionPane.YES_NO_CANCEL_OPTION
 
int OK_CANCEL = JOptionPane.OK_CANCEL_OPTION
 
int OK = JOptionPane.OK_OPTION
 
int YES = JOptionPane.YES_OPTION
 
int NO = JOptionPane.NO_OPTION
 
int CANCEL = JOptionPane.CANCEL_OPTION
 
int CLOSED = JOptionPane.CLOSED_OPTION
 
TextAttribute FAMILY = TextAttribute.FAMILY
 
TextAttribute WEIGHT = TextAttribute.WEIGHT
 
Float WEIGHT_EXTRA_LIGHT = new Float(0.5f)
 
Float WEIGHT_LIGHT = new Float(0.75f)
 
Float WEIGHT_DEMILIGHT = new Float(0.875f)
 
Float WEIGHT_REGULAR = new Float(1.0f)
 
Float WEIGHT_SEMIBOLD = new Float(1.25f)
 
Float WEIGHT_MEDIUM = new Float(1.5f)
 
Float WEIGHT_DEMIBOLD = new Float(1.75f)
 
Float WEIGHT_BOLD = new Float(2.0f)
 
Float WEIGHT_HEAVY = new Float(2.25f)
 
Float WEIGHT_EXTRABOLD = new Float(2.5f)
 
Float WEIGHT_ULTRABOLD = new Float(2.75f)
 
TextAttribute WIDTH = TextAttribute.WIDTH
 
Float WIDTH_CONDENSED = new Float(0.75f)
 
Float WIDTH_SEMI_CONDENSED = new Float(0.875f)
 
Float WIDTH_REGULAR = new Float(1.0f)
 
Float WIDTH_SEMI_EXTENDED = new Float(1.25f)
 
Float WIDTH_EXTENDED = new Float(1.5f)
 
TextAttribute POSTURE = TextAttribute.POSTURE
 
Float POSTURE_REGULAR = new Float(0.0f)
 
Float POSTURE_OBLIQUE = new Float(0.20f)
 
TextAttribute SIZE = TextAttribute.SIZE
 
TextAttribute SUPERSCRIPT = TextAttribute.SUPERSCRIPT
 
Integer SUPERSCRIPT_SUPER = new Integer(1)
 
Integer SUPERSCRIPT_SUB = new Integer(-1)
 
Integer SUPERSCRIPT_OFF = new Integer(0)
 
TextAttribute FOREGROUND = TextAttribute.FOREGROUND
 
TextAttribute BACKGROUND = TextAttribute.BACKGROUND
 
TextAttribute STRIKETHROUGH = TextAttribute.STRIKETHROUGH
 
Boolean STRIKETHROUGH_ON = new Boolean(true)
 
Boolean STRIKETHROUGH_OFF = new Boolean(false)
 
- Public Attributes inherited from org.gamecontrolplus.gui.MConstantsInternal
String SLIDER_STYLES = "|grey_blue|blue18px|green_red20px|purple18px|red_yellow18px|"
 
String DEFAULT_SLIDER_STYLE = "grey_blue"
 
int DRAW_METHOD = 0x00000001
 
int MOUSE_METHOD = 0x00000002
 
int PRE_METHOD = 0x00000004
 
int KEY_METHOD = 0x00000008
 
int POST_METHOD = 0x00000010
 
int ALL_METHOD = 0x0000001f
 
int RUNTIME_ERROR = 0xf0000000
 
int MISSING = 0x01000001
 
int NONEXISTANT = 0x01000002
 
int EXCP_IN_HANDLER = 0x81000003
 
int OFF_CONTROL = 0
 
int OVER_CONTROL = 1
 
int PRESS_CONTROL = 2
 
int DRAG_CONTROL = 3
 
int TINT_FOR_ALPHA = 255
 
int I_NONE = 0
 
int I_TL = 1
 
int I_TR = 2
 
int I_CL = 4
 
int I_CR = 8
 
int I_INSIDE = 16
 
int I_COVERED = 32
 
int I_MODES = 63
 
int MERGE_RUNS = 256
 
int CLIP_RUN = 512
 
int COMBI_MODES = 768
 
int[][] grid
 
BasicStroke pen_1_0 = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)
 
BasicStroke pen_2_0 = new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)
 
BasicStroke pen_3_0 = new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)
 
BasicStroke pen_4_0 = new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)
 
- Static Protected Member Functions inherited from org.gamecontrolplus.gui.MAbstractControl
static int focusObjectZ ()
 
- Static Protected Attributes inherited from org.gamecontrolplus.gui.MEditableTextControl
static float HORZ_SCROLL_RATE = 4f
 
static float VERT_SCROLL_RATE = 8
 
- Static Protected Attributes inherited from org.gamecontrolplus.gui.MTextBase
static final int TPAD = 2
 
static final int TPAD2 = TPAD * 2
 
static final int TPAD4 = TPAD * 4
 
- Static Protected Attributes inherited from org.gamecontrolplus.gui.MAbstractControl
static float epsilon = 0.001f
 
- Package Functions inherited from org.gamecontrolplus.gui.MEditableTextControl
void setScrollbarValues (float sx, float sy)
 
- Static Package Attributes inherited from org.gamecontrolplus.gui.MAbstractControl
static MAbstractControl focusIsWith = null
 
static MAbstractControl controlToTakeFocus = null
 
static MAbstractControl cursorIsOver
 
static final int Z_PANEL = 1024
 
static final int Z_STICKY = 0
 
static final int Z_SLIPPY = 24
 

Detailed Description

The text area component.

This control allows the user to enter and edit multiple lines of text. The control also allows default text, horizontal and vertical scrollbars.

Enables user text input at runtime. Text can be selected using the mouse or keyboard shortcuts and then copied or cut to the clipboard. Text can also be pasted in.

Author
Peter Lager

Constructor & Destructor Documentation

org.gamecontrolplus.gui.MTextArea.MTextArea ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3 
)

Create a text area without scrollbars and a text wrap width to fit the control.

Parameters
theApplet
p0
p1
p2
p3
org.gamecontrolplus.gui.MTextArea.MTextArea ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3,
int  sbPolicy 
)

Create a text field with the given scrollbar policy and a text wrap width to fit the control.
The scrollbar policy can be one of these

  • SCROLLBARS_NONE
  • SCROLLBARS_HORIZONTAL_ONLY
  • SCROLLBARS_VERTICAL_ONLY
  • SCROLLBARS_BOTH

If you want the scrollbar to auto hide then perform a logical or with

  • SCROLLBARS_AUTOHIDE

e.g. SCROLLBARS_BOTH | SCROLLBARS_AUTOHIDE

Parameters
theApplet
p0
p1
p2
p3
sbPolicy
org.gamecontrolplus.gui.MTextArea.MTextArea ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3,
int  sbPolicy,
int  wrapWidth 
)

Create a text field with the given scrollbar policy with a user specified text wrap length

Parameters
theApplet
p0
p1
p2
p3
sbPolicy
wrapWidth

Member Function Documentation

void org.gamecontrolplus.gui.MTextArea.addStyle ( TextAttribute  attr,
Object  value,
int  lineNo,
int  charStart,
int  charEnd 
)

Adds the text attribute to a range of characters on a particular line. If charEnd is past the EOL then the attribute will be applied to the end-of-line.

Parameters
attrthe text attribute to add
valuevalue of the text attribute
lineNothe line number (starts at 0)
charStartthe position of the first character to apply the attribute
charEndthe position after the last character to apply the attribute
void org.gamecontrolplus.gui.MTextArea.appendText ( String  extraText)

Add text to the end of the current text. This is useful for a logging' type activity.

Parameters
extraTextthe text to append
void org.gamecontrolplus.gui.MTextArea.clearStyles ( int  lineNo,
int  charStart,
int  charEnd 
)

Clears all text attribute from a range of characters on a particular line. If charEnd is past the EOL then the attributes will be cleared to the end-of-line.

Parameters
lineNothe line number (starts at 0)
charStartthe position of the first character to apply the attribute
charEndthe position after the last character to apply the attribute
String [] org.gamecontrolplus.gui.MTextArea.getTextAsArray ( )

Get the text as a String array. (splitting on line breaks).

Returns
the associated plain text as a String array split on line breaks
void org.gamecontrolplus.gui.MTextArea.mouseEvent ( MouseEvent  event)

Will respond to mouse events.

boolean org.gamecontrolplus.gui.MTextArea.moveCaretLeft ( TextLayoutHitInfo  currPos)
protected

Move caret left by one character. If necessary move to the end of the line above

Returns
true if caret was moved else false
boolean org.gamecontrolplus.gui.MTextArea.moveCaretRight ( TextLayoutHitInfo  currPos)
protected

Move caret right by one character. If necessary move to the start of the next line

Returns
true if caret was moved else false
boolean org.gamecontrolplus.gui.MTextArea.moveCaretStartOfLine ( TextLayoutHitInfo  currPos)
protected

Move caret to home position

Returns
true if caret moved else false
void org.gamecontrolplus.gui.MTextArea.moveCaretTo ( int  lineNo,
int  charNo 
)

Move the insertion point (caret) to the specified line and character. If the position is invalid then the caret is not moved. The text will be scrolled so that the caret position is visible.

Parameters
lineNothe line number (starts at 0)
charNothe character position on the line (starts at 0)
void org.gamecontrolplus.gui.MTextArea.setPromptText ( String  dtext)

Set the default text for this control. If provided this text will be displayed in italic whenever it is empty. It will also be wrapped to the control size.

Parameters
dtext
void org.gamecontrolplus.gui.MTextArea.setStyledText ( MStyledString  st)

Set the styled text to be displayed.

void org.gamecontrolplus.gui.MTextArea.setText ( String  text)

Set the text to be used. The wrap width is determined by the current text wrapwidth or if there is no text then the text width of the control.

Parameters
text
void org.gamecontrolplus.gui.MTextArea.setText ( String  text,
int  wrapWidth 
)

Set the text to display and adjust any scrollbars

Parameters
texttext to display
wrapWidththe wrap width
void org.gamecontrolplus.gui.MTextArea.setText ( String[]  lines)

Set the text to display and adjust any scrollbars

Parameters
textlines of text to display
void org.gamecontrolplus.gui.MTextArea.setText ( String[]  lines,
int  wrapWidth 
)

Set the text to display and adjust any scrollbars

Parameters
textlines of text to display
wrapWidththe wrap width
void org.gamecontrolplus.gui.MTextArea.updateBuffer ( )
protected

If the buffer is invalid then redraw it.