G4P (GUI for Processing)  4.3.8
A set of GUI controls for your Processing sketch.
 All Classes Functions Variables Pages
g4p_controls.GEditableTextControl Class Reference
Inheritance diagram for g4p_controls.GEditableTextControl:

Public Member Functions

void addStyle (TextAttribute attr, Object value, int charStart, int charEnd)
 
void addStyle (TextAttribute attr, Object value)
 
void clearSelectionStyle ()
 
void clearStyles (int charStart, int charEnd)
 
void clearStyles ()
 
void dispose ()
 
void flashCaret (GTimer timer)
 
 GEditableTextControl (PApplet theApplet, float p0, float p1, float p2, float p3)
 
 GEditableTextControl (PApplet theApplet, float p0, float p1, float p2, float p3, int scrollbars)
 
String getPromptText ()
 
String getSelectedText ()
 
StyledString getStyledText ()
 
String getText ()
 
int getWrapWidth ()
 
boolean hasSelection ()
 
void hsbEventHandler (GScrollbar scrollbar, GEvent event)
 
boolean isTextEditEnabled ()
 
void keyEvent (KeyEvent e)
 
boolean loadText (String fname)
 
boolean saveText (String fname)
 
void setFocus (boolean focus)
 
void setFont (Font font)
 
void setJustify (boolean justify)
 
void setLocalColorScheme (int cs)
 
void setPromptText (String ptext)
 
void setSelectedTextStyle (TextAttribute style, Object value)
 
void setTabManager (GTabManager tm)
 
void setTextEditEnabled (boolean enableTextEdit)
 
void setWrapWidth (int wrapWidth)
 
void vsbEventHandler (GScrollbar scrollbar, GEvent event)
 
- Public Member Functions inherited from g4p_controls.GTextBase
void forceBufferUpdate ()
 
StyledString getStyledText ()
 
String getText ()
 
 GTextBase (PApplet theApplet, float p0, float p1, float p2, float p3)
 
boolean loadText (String fname)
 
boolean saveText (String fname)
 
void setFont (Font font)
 
void setStyledText (StyledString ss)
 
void setText (String text)
 
void setTextBold (int start, int end)
 
void setTextBold ()
 
void setTextItalic (int start, int end)
 
void setTextItalic ()
 
void setTextPlain ()
 
- Public Member Functions inherited from g4p_controls.GAbstractControl
void addControl (GAbstractControl c, float x, float y, float angle)
 
void addControl (GAbstractControl c, float x, float y)
 
void addControl (GAbstractControl c)
 
void addControls (GAbstractControl...controls)
 
void addEventHandler (Object obj, String methodName)
 
void dispose ()
 
void draw ()
 
void forceBufferUpdate ()
 
 GAbstractControl (PApplet theApplet)
 
 GAbstractControl (PApplet theApplet, float p0, float p1)
 
 GAbstractControl (PApplet theApplet, float p0, float p1, float p2, float p3)
 
int getAlpha ()
 
int getCursorOver ()
 
float getCX ()
 
float getCY ()
 
float getHeight ()
 
int getLocalColorScheme ()
 
PApplet getPApplet ()
 
GAbstractControl getParent ()
 
PGraphics getSnapshot ()
 
float getWidth ()
 
float getX ()
 
float getY ()
 
boolean hasFocus ()
 
boolean isDragging ()
 
boolean isEnabled ()
 
boolean isOpaque ()
 
boolean isVisible ()
 
void keyEvent (KeyEvent e)
 
void mouseEvent (MouseEvent event)
 
void moveTo (float px, float py)
 
void moveTo (float px, float py, GControlMode mode)
 
void post ()
 
void pre ()
 
boolean saveSnapshot ()
 
boolean saveSnapshot (String filename)
 
void setAlpha (int alpha)
 
void setAlpha (int alpha, boolean includeChildren)
 
void setCursorOver (int cursorOver)
 
void setEnabled (boolean enable)
 
void setFocus (boolean focus)
 
void setLocalColor (int colorNo, int color)
 
void setLocalColorScheme (int cs)
 
void setLocalColorScheme (int cs, boolean includeChildren)
 
void setOpaque (boolean opaque)
 
void setRotation (float angle)
 
void setRotation (float angle, GControlMode mode)
 
void setVisible (boolean visible)
 
String toString ()
 

Protected Member Functions

void calculateCaretPos (TextLayoutHitInfo tlhi)
 
boolean changeText ()
 
float getScrollAmount ()
 
void keyPressedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void keyTypedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void loseFocus (GAbstractControl grabber)
 
boolean moveCaretEndOfLine (TextLayoutHitInfo currPos)
 
boolean moveCaretLeft (TextLayoutHitInfo currPos)
 
boolean moveCaretRight (TextLayoutHitInfo currPos)
 
boolean moveCaretStartOfLine (TextLayoutHitInfo currPos)
 
void takeFocus ()
 
- Protected Member Functions inherited from g4p_controls.GTextBase
void addAttributeImpl (TextAttribute style, Object value)
 
void addAttributeImpl (TextAttribute style, Object value, int s, int e)
 
- Protected Member Functions inherited from g4p_controls.GAbstractControl
void addToParent (GAbstractControl p)
 
void calcTransformedOrigin (float px, float py)
 
void createEventHandler (Object handlerObj, String methodName, Class[] param_classes, String[] param_names)
 
void fireEvent (Object...objects)
 
int focusObjectZ ()
 
PGraphics getBuffer ()
 
int getCurrHotSpot ()
 
AffineTransform getTransform (AffineTransform aff)
 
boolean isAvailable ()
 
boolean isDisplayable (int ascii)
 
boolean isSuitableForGroupControl (GAbstractControl control)
 
void loseFocus (GAbstractControl grabber)
 
void makeBuffer ()
 
void resize (int w, int h)
 
void setAvailable (boolean avail)
 
void setTextRenderingHints (Graphics2D g2d, int hint)
 
void setZ (int parentZ)
 
void takeFocus ()
 
void updateBuffer ()
 
int whichHotSpot (float px, float py)
 

Protected Attributes

boolean autoHide = false
 
GTimer caretFlasher
 
float caretX
 
int endChar = -1
 
TextLayoutHitInfo endTLHI = new TextLayoutHitInfo()
 
GeneralPath gpTextDisplayArea
 
GScrollbar hsb
 
boolean keepCursorInView = false
 
StyledString promptText = null
 
float ptx
 
final int scrollbarPolicy
 
boolean showCaret = false
 
TextLayoutHitInfo startTLHI = new TextLayoutHitInfo()
 
boolean textChanged = false
 
float tx
 
int wrapWidth = Integer.MAX_VALUE
 
- Protected Attributes inherited from g4p_controls.GTextBase
Font localFont = G4P.displayFont
 
StyledString stext = new StyledString("")
 
- Protected Attributes inherited from g4p_controls.GAbstractControl
int alphaLevel = G4P.globalAlpha
 
PGraphicsJava2D buffer = null
 
boolean bufferInvalid = true
 
LinkedList< GAbstractControlchildren = null
 
int currSpot = -1
 
int cursorOver = HAND
 
float cx
 
boolean dragging = false
 
Method eventHandlerMethod = null
 
String eventHandlerMethodName
 
Object eventHandlerObject = null
 
float halfWidth
 
HotSpot[] hotspots = null
 
int localColorScheme = G4P.globalColorScheme
 
boolean opaque = false
 
float ox
 
Color[] palette = null
 
GAbstractControl parent = null
 
int registeredMethods = 0
 
float rotAngle
 
double[] temp = new double[2]
 
float width
 
PApplet winApp
 
float x
 
int z = Z_STICKY
 

Additional Inherited Members

- Public Attributes inherited from g4p_controls.GAbstractControl
String tag = ""
 
int tagNo
 
- Public Attributes inherited from g4p_controls.GConstants
int ALPHA_BLOCK = 128
 
int ALPHA_PICK = 48
 
TextAttribute BACKGROUND = TextAttribute.BACKGROUND
 
int BLUE_SCHEME = 6
 
int BOLD = Font.BOLD
 
int CANCEL = JOptionPane.CANCEL_OPTION
 
int CLOSE_WINDOW = 0x00000f02
 
int CLOSED = JOptionPane.CLOSED_OPTION
 
int CTRL_ANGULAR = 0x00000501
 
int CTRL_HORIZONTAL = 0x00000502
 
int CTRL_VERTICAL = 0x00000503
 
int CYAN_SCHEME = 5
 
int DECIMAL = 1
 
char END = java.awt.event.KeyEvent.VK_END
 
int ERROR_MESSAGE = JOptionPane.ERROR_MESSAGE
 
int EXIT_APP = 0x00000f01
 
int EXPONENT = 2
 
TextAttribute FAMILY = TextAttribute.FAMILY
 
TextAttribute FOREGROUND = TextAttribute.FOREGROUND
 
int FORWARD = 1
 
int GOLD_SCHEME = 7
 
int GREEN_SCHEME = 1
 
int HIDE_WINDOW = 0x00000f04
 
char HOME = java.awt.event.KeyEvent.VK_HOME
 
int INFO_MESSAGE = JOptionPane.INFORMATION_MESSAGE
 
int INTEGER = 0
 
int ITALIC = Font.ITALIC
 
int KEEP_OPEN = 0x00000f03
 
int NO = JOptionPane.NO_OPTION
 
int OK = JOptionPane.OK_OPTION
 
int OK_CANCEL = JOptionPane.OK_CANCEL_OPTION
 
int ORANGE_SCHEME = 4
 
int ORIENT_LEFT = -1
 
int ORIENT_RIGHT = 1
 
int ORIENT_TRACK = 0
 
int PLAIN = Font.PLAIN
 
int PLAIN_MESSAGE = JOptionPane.PLAIN_MESSAGE
 
TextAttribute POSTURE = TextAttribute.POSTURE
 
Float POSTURE_OBLIQUE = new Float(0.20f)
 
Float POSTURE_REGULAR = new Float(0.0f)
 
int PURPLE_SCHEME = 3
 
int QUERY_MESSAGE = JOptionPane.QUESTION_MESSAGE
 
int RED_SCHEME = 0
 
int REVERSE = -1
 
int SCHEME_10 = 10
 
int SCHEME_11 = 11
 
int SCHEME_12 = 12
 
int SCHEME_13 = 13
 
int SCHEME_14 = 14
 
int SCHEME_15 = 15
 
int SCHEME_8 = 8
 
int SCHEME_9 = 9
 
int SCROLLBARS_AUTOHIDE = 0x1000
 
int SCROLLBARS_BOTH = 0x0003
 
int SCROLLBARS_HORIZONTAL_ONLY = 0x0002
 
int SCROLLBARS_NONE = 0x0000
 
int SCROLLBARS_VERTICAL_ONLY = 0x0001
 
TextAttribute SIZE = TextAttribute.SIZE
 
TextAttribute STRIKETHROUGH = TextAttribute.STRIKETHROUGH
 
Boolean STRIKETHROUGH_OFF = new Boolean(false)
 
Boolean STRIKETHROUGH_ON = new Boolean(true)
 
TextAttribute SUPERSCRIPT = TextAttribute.SUPERSCRIPT
 
Integer SUPERSCRIPT_OFF = new Integer(0)
 
Integer SUPERSCRIPT_SUB = new Integer(-1)
 
Integer SUPERSCRIPT_SUPER = new Integer(1)
 
int UNDEFINED = Integer.MAX_VALUE
 
int USER_COL_SCHEME = 0x00010102
 
int WARN_MESSAGE = JOptionPane.WARNING_MESSAGE
 
TextAttribute WEIGHT = TextAttribute.WEIGHT
 
Float WEIGHT_BOLD = new Float(2.0f)
 
Float WEIGHT_DEMIBOLD = new Float(1.75f)
 
Float WEIGHT_DEMILIGHT = new Float(0.875f)
 
Float WEIGHT_EXTRA_LIGHT = new Float(0.5f)
 
Float WEIGHT_EXTRABOLD = new Float(2.5f)
 
Float WEIGHT_HEAVY = new Float(2.25f)
 
Float WEIGHT_LIGHT = new Float(0.75f)
 
Float WEIGHT_MEDIUM = new Float(1.5f)
 
Float WEIGHT_REGULAR = new Float(1.0f)
 
Float WEIGHT_SEMIBOLD = new Float(1.25f)
 
Float WEIGHT_ULTRABOLD = new Float(2.75f)
 
TextAttribute WIDTH = TextAttribute.WIDTH
 
Float WIDTH_CONDENSED = new Float(0.75f)
 
Float WIDTH_EXTENDED = new Float(1.5f)
 
Float WIDTH_REGULAR = new Float(1.0f)
 
Float WIDTH_SEMI_CONDENSED = new Float(0.875f)
 
Float WIDTH_SEMI_EXTENDED = new Float(1.25f)
 
int X4 = 1
 
int X8 = 2
 
int YELLOW_SCHEME = 2
 
int YES = JOptionPane.YES_OPTION
 
int YES_NO = JOptionPane.YES_NO_OPTION
 
int YES_NO_CANCEL = JOptionPane.YES_NO_CANCEL_OPTION
 
- Public Attributes inherited from g4p_controls.GConstantsInternal
int ALL_METHOD = 0x0000001f
 
int CLIP_RUN = 512
 
int COMBI_MODES = 768
 
String DEFAULT_SLIDER_STYLE = "grey_blue"
 
int DRAG_CONTROL = 3
 
int DRAW_METHOD = 0x00000001
 
char EOL = '\n'
 
int EXCP_IN_HANDLER = 0xff000005
 
int[][] grid
 
int GROUP_CONTROL_METHOD = DRAW_METHOD | MOUSE_METHOD | KEY_METHOD
 
int I_CL = 4
 
int I_COVERED = 32
 
int I_CR = 8
 
int I_INSIDE = 16
 
int I_MODES = 63
 
int I_NONE = 0
 
int I_TL = 1
 
int I_TR = 2
 
int INVALID_PAPPLET = 0xff000004
 
int INVALID_TYPE = 0xff000003
 
int KEY_METHOD = 0x00000008
 
int MERGE_RUNS = 256
 
int MISSING = 0xff000001
 
int MOUSE_METHOD = 0x00000002
 
int NONEXISTANT = 0xff000002
 
int OFF_CONTROL = 0
 
int OVER_CONTROL = 1
 
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)
 
int POST_METHOD = 0x00000010
 
int PRE_METHOD = 0x00000004
 
int PRESS_CONTROL = 2
 
int SCROLLBAR_HORIZONTAL = GConstants.SCROLLBARS_HORIZONTAL_ONLY
 
int SCROLLBAR_VERTICAL = GConstants.SCROLLBARS_VERTICAL_ONLY
 
String SLIDER_STYLES = "|grey_blue|blue18px|green_red20px|purple18px|red_yellow18px|"
 
int TINT_FOR_ALPHA = 255
 
int TPAD2 = 2
 
int TPAD4 = 4
 
int TPAD6 = 6
 
int TPAD8 = 8
 
float WHEEL_DELTA = 0.01f
 
float WHEEL_STICK_FACTOR = 0.51f
 
int Z_PANEL = 1024
 
int Z_SLIPPY = 24
 
int Z_SLIPPY_EXPANDS = 48
 
int Z_STICKY = 0
 
- Static Protected Attributes inherited from g4p_controls.GAbstractControl
static float epsilon = 0.001f
 

Detailed Description

This class is the basis for the GTextField and GTextArea classes.

Author
Peter Lager

Constructor & Destructor Documentation

g4p_controls.GEditableTextControl.GEditableTextControl ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3 
)

Base class for controls with editable text.

Parameters
theAppletthe main sketch or GWindow control for this control
p0x position based on control mode
p1y position based on control mode
p2x position or width based on control mode
p3y position or height based on control mode
scrollbarsscrollbar policy
g4p_controls.GEditableTextControl.GEditableTextControl ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3,
int  scrollbars 
)

Base class for controls with editable text.

Parameters
theAppletthe main sketch or GWindow control for this control
p0x position based on control mode
p1y position based on control mode
p2x position or width based on control mode
p3y position or height based on control mode
scrollbarsscrollbar policy

Member Function Documentation

void g4p_controls.GEditableTextControl.addStyle ( TextAttribute  attr,
Object  value,
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
charStartthe position of the first character to apply the attribute
charEndthe position after the last character to apply the attribute
void g4p_controls.GEditableTextControl.addStyle ( TextAttribute  attr,
Object  value 
)

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
void g4p_controls.GEditableTextControl.calculateCaretPos ( TextLayoutHitInfo  tlhi)
protected

Calculate the caret (text insertion point)

Parameters
tlhi
void g4p_controls.GEditableTextControl.clearSelectionStyle ( )

Clear any styles applied to the selected text.

void g4p_controls.GEditableTextControl.clearStyles ( int  charStart,
int  charEnd 
)

Clears all text attribute from a range of characters starting at position charStart and ending with the character preceding charEnd.

Parameters
charStartthe position of the first character to apply the attribute
charEndthe position after the last character to apply the attribute
void g4p_controls.GEditableTextControl.clearStyles ( )

Clear all styles from the entire text.

void g4p_controls.GEditableTextControl.dispose ( )

Remove from its tab manager before disposing.

String g4p_controls.GEditableTextControl.getPromptText ( )

Get the prompt text used in this control.

Returns
the prompt text without styling
float g4p_controls.GEditableTextControl.getScrollAmount ( )
protected

Get the amount to scroll the text per frame when scrolling text to keep the insertion point on screen.

Returns
the amount to scroll in pixels.
String g4p_controls.GEditableTextControl.getSelectedText ( )

Get the text that has been selected (highlighted) by the user.

Returns
the selected text without styling
StyledString g4p_controls.GEditableTextControl.getStyledText ( )

Get the styled text in the control

Returns
the text with styling
String g4p_controls.GEditableTextControl.getText ( )

Get the text in the control

Returns
the text without styling
int g4p_controls.GEditableTextControl.getWrapWidth ( )
Returns
the wrapWidth
boolean g4p_controls.GEditableTextControl.hasSelection ( )

Find out if some text is selected (highlighted)

Returns
true if some text is selected else false
boolean g4p_controls.GEditableTextControl.isTextEditEnabled ( )
Returns
true if this control is keyboard enabled
boolean g4p_controls.GEditableTextControl.loadText ( String  fname)

Load the styled string to be used by this control.
It will also restore any text selection saved with the text.

Parameters
fnamethe name of the file to use
Returns
true if loaded successfully else false
void g4p_controls.GEditableTextControl.loseFocus ( GAbstractControl  grabber)
protected

Give up focus but if the text is only made from spaces then set it to null text.
Fire focus events for the GTextField and GTextArea controls

boolean g4p_controls.GEditableTextControl.moveCaretEndOfLine ( TextLayoutHitInfo  currPos)
protected

Move caret to the end of the line that has the current caret position

Parameters
currPosthe current position of the caret
Returns
true if caret moved else false
boolean g4p_controls.GEditableTextControl.moveCaretLeft ( TextLayoutHitInfo  currPos)
protected

Move caret left by one character.

Parameters
currPosthe current position of the caret
Returns
true if caret moved else false
boolean g4p_controls.GEditableTextControl.moveCaretRight ( TextLayoutHitInfo  currPos)
protected

Move caret right by one character.

Parameters
currPosthe current position of the caret
Returns
true if caret moved else false
boolean g4p_controls.GEditableTextControl.moveCaretStartOfLine ( TextLayoutHitInfo  currPos)
protected

Move caret to home position

Parameters
currPosthe current position of the caret
Returns
true if caret moved else false
boolean g4p_controls.GEditableTextControl.saveText ( String  fname)

Save the styled text used by this control to file.
It will also save the start and end position of any text selection.

Parameters
fnamethe name of the file to use
Returns
true if saved successfully else false
void g4p_controls.GEditableTextControl.setFocus ( boolean  focus)

Determines whether this component is to have focus or not.

void g4p_controls.GEditableTextControl.setFont ( Font  font)

Set the font for this control.

Parameters
fontthe java.awt.Font to use
void g4p_controls.GEditableTextControl.setLocalColorScheme ( int  cs)

Sets the local colour scheme for this control

void g4p_controls.GEditableTextControl.setPromptText ( String  ptext)

Set the prompt text for this control. When the text control is empty the prompt text (italic) is displayed instead.

Parameters
ptextprompt text
void g4p_controls.GEditableTextControl.setSelectedTextStyle ( TextAttribute  style,
Object  value 
)

If some text has been selected then set the style. If there is no selection then the text is unchanged.

Parameters
styleset the style of some selected text
valuea value associated with this style
void g4p_controls.GEditableTextControl.setTextEditEnabled ( boolean  enableTextEdit)

Determines whether the text can be edited using the keyboard or mouse. It still allows the text to be modified by the sketch code.
If text editing is being disabled and the control has focus then it is forced to give up that focus.
This might be useful if you want to use a GTextArea control to display large amounts of text that needs scrolling (so cannot use a GLabel) but must not change e.g. a user instruction guide.

Parameters
enableTextEditfalse to disable keyboard input
void g4p_controls.GEditableTextControl.setWrapWidth ( int  wrapWidth)
Parameters
wrapWidththe wrapWidth to set
void g4p_controls.GEditableTextControl.takeFocus ( )
protected

Give the focus to this component but only after allowing the current component with focus to release it gracefully.
Always cancel the keyFocusIsWith irrespective of the component type. Fire focus events for the GTextField and GTextArea controls