G4P (GUI for Processing) 4.3.11
A set of GUI controls for your Processing sketch.
Loading...
Searching...
No Matches
g4p_controls.GTextField Class Reference
Inheritance diagram for g4p_controls.GTextField:

Public Member Functions

void appendText (String extraText)
 
void draw ()
 
int[] getCaretPos ()
 
int[] getCaretPos (int[] cpos)
 
PGraphics getSnapshot ()
 
float getValueF ()
 
int getValueI ()
 
 GTextField (PApplet theApplet, float p0, float p1, float p2, float p3)
 
 GTextField (PApplet theApplet, float p0, float p1, float p2, float p3, int sbPolicy)
 
void hsbEventHandler (GScrollbar scrollbar, GEvent event)
 
boolean insertText (String text, int charNo)
 
boolean isValid ()
 
void keyEvent (KeyEvent e)
 
void mouseEvent (MouseEvent event)
 
void moveCaretTo (int charNo)
 
void pre ()
 
void setNumeric (float low, float high, float default_value)
 
void setNumeric (int low, int high, int default_value)
 
void setNumericType (int... f)
 
void setStyledText (StyledString ss)
 
void setText (String text)
 
- Public Member Functions inherited from g4p_controls.GEditableTextControl
void addStyle (TextAttribute attr, Object value)
 
void addStyle (TextAttribute attr, Object value, int charStart, int charEnd)
 
void cancelSelection ()
 
void clearSelectionStyle ()
 
void clearStyles ()
 
void clearStyles (int charStart, int charEnd)
 
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 setText (String text, GAlign horz, GAlign vert)
 
void setTextAlign (GAlign horz, GAlign vert)
 
void setTextBold ()
 
void setTextBold (int start, int end)
 
void setTextItalic ()
 
void setTextItalic (int start, int end)
 
void setTextPlain ()
 
- Public Member Functions inherited from g4p_controls.GAbstractControl
void addControl (GAbstractControl c)
 
void addControl (GAbstractControl c, float x, float y)
 
void addControl (GAbstractControl c, float x, float y, float angle)
 
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 ()
 
float getRotation ()
 
PGraphics getSnapshot ()
 
GToolTip getTip ()
 
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 ()
 
void removeTip ()
 
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 setTip (GToolTip tt, float offset, float angle)
 
void setTip (GToolTip tt, GAlign ax, GAlign ay, float gap)
 
void setTip (String text, float offset, float angle)
 
void setTip (String text, GAlign ax, GAlign ay, float gap)
 
void setTipDisplayTime (long msecs)
 
void setTipEnabled (boolean enable)
 
void setTipHorz (boolean level)
 
void setTipPos (float radius, float ang)
 
void setTipPos (GAlign ax, GAlign ay, float gap)
 
void setTipText (String text)
 
void setVisible (boolean visible)
 
String toString ()
 
void setTabManager (GTabManager tm)
 

Protected Member Functions

boolean changeText ()
 
void keyPressedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void keyTypedProcess (int keyCode, char keyChar, boolean shiftDown, boolean ctrlDown)
 
void testValidity (String text)
 
void updateBuffer ()
 
- Protected Member Functions inherited from g4p_controls.GEditableTextControl
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)
 
void calcTextZone ()
 
void displayText (Graphics2D g2d, LinkedList< TextLayoutInfo > lines)
 
void displayText (Graphics2D g2d, LinkedList< TextLayoutInfo > lines, Color fore)
 
void resizeToFit ()
 
void resizeToFit (GControlMode mode)
 
- Protected Member Functions inherited from g4p_controls.GAbstractControl
void addControlImpl (GAbstractControl c, float x, float y, float angle)
 
void addToParent (GAbstractControl p)
 
void calcTransformedOrigin (float px, float py)
 
boolean controlSupportsToolTips ()
 
void createEventHandler (Object handlerObj, String methodName, Class[] param_classes, String[] param_names)
 
void drawChildren ()
 
void fireEvent (Object... objects)
 
int focusObjectZ ()
 
PGraphics getBuffer ()
 
int getCurrHotSpot ()
 
AffineTransform getTransform (AffineTransform aff)
 
void hideTip ()
 
boolean isAvailable ()
 
boolean isDisplayable (int ascii)
 
boolean isSuitableForGroupControl (GAbstractControl control)
 
void loseFocus (GAbstractControl grabber)
 
void makeBuffer ()
 
void manageToolTip ()
 
void resize (int w, int h)
 
void resize (int w, int h, GControlMode mode)
 
void setAvailable (boolean avail)
 
void setZ (int parentZ)
 
void showTip ()
 
void takeFocus ()
 
void updateBuffer ()
 
int whichHotSpot (float px, float py)
 

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
 
TextAttribute UNDERLINE = TextAttribute.UNDERLINE
 
int UNDERLINE_OFF = Integer.valueOf(-1)
 
int UNDERLINE_ON = TextAttribute.UNDERLINE_ON
 
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
 
- Protected Attributes inherited from g4p_controls.GEditableTextControl
int adjust = 0
 
boolean autoHide = false
 
GTimer caretFlasher
 
float caretX
 
float caretY
 
int endChar = -1
 
TextLayoutHitInfo endTLHI = new TextLayoutHitInfo()
 
GeneralPath gpTextDisplayArea
 
GScrollbar hsb
 
boolean keepCursorInView = false
 
int nbr = 0
 
int pos = endChar
 
StyledString promptText = null
 
float ptx
 
float pty
 
final int scrollbarPolicy
 
boolean selectionChanged = false
 
boolean showCaret = false
 
int startChar = -1
 
TextLayoutHitInfo startTLHI = new TextLayoutHitInfo()
 
boolean textChanged = false
 
float th
 
float tw
 
float tx
 
float ty
 
GScrollbar vsb
 
int wrapWidth = Integer.MAX_VALUE
 
- Protected Attributes inherited from g4p_controls.GTextBase
Font localFont = G4P.displayFont
 
float PAD = 2
 
StyledString stext = new StyledString("")
 
GAlign textAlignH = GAlign.LEFT
 
GAlign textAlignV = GAlign.MIDDLE
 
Zone textZone = new Zone()
 
- Protected Attributes inherited from g4p_controls.GAbstractControl
boolean allowChildren = true
 
boolean allowToolTips = true
 
int alphaLevel = G4P.globalAlpha
 
boolean available = true
 
PGraphicsJava2D buffer = null
 
boolean bufferInvalid = true
 
LinkedList< GAbstractControlchildren = null
 
int currSpot = -1
 
int cursorOver = HAND
 
float cx
 
float cy
 
boolean dragging = false
 
boolean enabled = true
 
Method eventHandlerMethod = null
 
String eventHandlerMethodName
 
Object eventHandlerObject = null
 
float halfHeight
 
float halfWidth
 
float height
 
HotSpot[] hotspots = null
 
int lastSpot = -1
 
int localColorScheme = G4P.globalColorScheme
 
boolean opaque = false
 
float ox
 
float oy
 
Color[] palette = null
 
GAbstractControl parent = null
 
int registeredMethods = 0
 
float rotAngle
 
double[] temp = new double[2]
 
GToolTip tip = null
 
boolean visible = true
 
float width
 
PApplet winApp
 
float x
 
float y
 
int z = Z_STICKY
 
- Static Protected Attributes inherited from g4p_controls.GAbstractControl
static GAbstractControl controlToTakeFocus = null
 
static GAbstractControl cursorIsOver
 
static float epsilon = 0.001f
 
static GAbstractControl focusIsWith = null
 

Detailed Description

The text field component.

This control allows the user to enter and edit a single line of text. The control also allows default text and a horizontal scrollbar.

can be created to manage either a single line of text or multiple lines of text.

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.

As well as text this control will accept numeric input either integer or decimal within a user specified range. Invalid user input is highlighted in the control to be corrected by the user.

Fires SELECTION_CHANGED, CHANGED, ENTERED, LOST_FOCUS, GETS_FOCUS events.

From V4.3.3 The text field can be used to validate numeric input within a user defined range. The input can be either integer int or decimal float, using the setNumeric(,,) method. If all three parameters are integers then only integer values in the range are valid, if any of the parameters is a float then any decimal value in the range is valid.

Decimal formats include numbers in exponential format e.g. -4.911e-2

Author
Peter Lager

Constructor & Destructor Documentation

◆ GTextField() [1/2]

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

Create a text field without a scrollbar.

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

◆ GTextField() [2/2]

g4p_controls.GTextField.GTextField ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3,
int  sbPolicy 
)

Create a text field with the given scrollbar policy.
This policy can be one of these

  • SCROLLBARS_NONE
  • SCROLLBARS_HORIZONTAL_ONLY

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

  • SCROLLBARS_AUTOHIDE

e.g. SCROLLBARS_HORIZONTAL_ONLY | SCROLLBARS_AUTOHIDE

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
sbPolicyscrollbar policy

Member Function Documentation

◆ appendText()

void g4p_controls.GTextField.appendText ( String  extraText)

Add some plain text to the end of the existing text.

Parameters
extraTextthe text to append

◆ changeText()

boolean g4p_controls.GTextField.changeText ( )
protected

Reimplemented from g4p_controls.GEditableTextControl.

◆ draw()

void g4p_controls.GTextField.draw ( )

Reimplemented from g4p_controls.GAbstractControl.

◆ getCaretPos() [1/2]

int[] g4p_controls.GTextField.getCaretPos ( )

Get the current caret position.

The method will always return a 2 element array with the current caret position { line no, char no }

If the current caret position is undefined then it will return the array { -1, -1 }

Returns
a two element int array holding the caret position.

◆ getCaretPos() [2/2]

int[] g4p_controls.GTextField.getCaretPos ( int[]  cpos)

Get the current caret position.

If the parameter is a 2 element int array then it will be populated with the line number [0] and character no [1] of the caret's current position.

The method will always return a 2 element array with the current caret position { line no, char no }

If the current caret position is undefined then it will return the array { -1, -1 }

Parameters
cposarray to be populated with caret position
Returns
a two element int array holding the caret position.

◆ getSnapshot()

PGraphics g4p_controls.GTextField.getSnapshot ( )

This method should be used sparingly since it is heavy on resources.

Returns
a PGraphics object showing current state of the control (ignoring rotation)

Reimplemented from g4p_controls.GAbstractControl.

◆ getValueF()

float g4p_controls.GTextField.getValueF ( )

If the field is displaying a valid float within the specified range return it. Otherwise the default float value.

◆ getValueI()

int g4p_controls.GTextField.getValueI ( )

If the field is displaying a valid integer within the specified range return it. Otherwise the default int value.

◆ hsbEventHandler()

void g4p_controls.GTextField.hsbEventHandler ( GScrollbar  scrollbar,
GEvent  event 
)

Do not call this method directly, G4P uses it to handle input from the horizontal scrollbar.

Reimplemented from g4p_controls.GEditableTextControl.

◆ insertText()

boolean g4p_controls.GTextField.insertText ( String  text,
int  charNo 
)

Insert text at the display position specified.

No events will be generated and the caret will be moved to the end of any inserted text.

Parameters
textthe text to insert
charNothe character position to insert text in display line
Returns
true if some characters were inserted

◆ isValid()

boolean g4p_controls.GTextField.isValid ( )
Returns
true if the visible input is valid for the filter

◆ keyEvent()

void g4p_controls.GTextField.keyEvent ( KeyEvent  e)

Reimplemented from g4p_controls.GEditableTextControl.

◆ keyPressedProcess()

void g4p_controls.GTextField.keyPressedProcess ( int  keyCode,
char  keyChar,
boolean  shiftDown,
boolean  ctrlDown 
)
protected

Reimplemented from g4p_controls.GEditableTextControl.

◆ keyTypedProcess()

void g4p_controls.GTextField.keyTypedProcess ( int  keyCode,
char  keyChar,
boolean  shiftDown,
boolean  ctrlDown 
)
protected

Reimplemented from g4p_controls.GEditableTextControl.

◆ mouseEvent()

void g4p_controls.GTextField.mouseEvent ( MouseEvent  event)

Reimplemented from g4p_controls.GAbstractControl.

◆ moveCaretTo()

void g4p_controls.GTextField.moveCaretTo ( int  charNo)

4.3.10 Move the insertion point (caret) to the specified 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
charNothe character position on the line (starts at 0)

◆ pre()

void g4p_controls.GTextField.pre ( )

Reimplemented from g4p_controls.GAbstractControl.

◆ setNumeric() [1/2]

void g4p_controls.GTextField.setNumeric ( float  low,
float  high,
float  default_value 
)

Will cause the text field to show when an invalid float has been entered into the field.
An invalid float is any text that cannot be converted into a float or is outside the range indicated by the first two parameters.
If getValueF() is called then it will return the current valid float or if invalid the value passed in the third parameter.
Note: at least one of the parameters must be of type float

Parameters
lowthe lowest valid float
highthe highest valid float
default_valuethe value to be returned by getValueF()for invalid user input

◆ setNumeric() [2/2]

void g4p_controls.GTextField.setNumeric ( int  low,
int  high,
int  default_value 
)

Will cause the text field to show when an invalid integer has been entered into the field.
An invalid integer is any text that cannot be converted into an integer or is outside the range indicated by the first two parameters.
If getValueI() is called then it will return the current valid integer or if invalid the value passed in the third parameter.
Note: all the parameters must be of type int

Parameters
lowthe lowest valid integer
highthe highest valid integer
default_valuethe value to be returned by getValueI() for invalid user input

◆ setNumericType()

void g4p_controls.GTextField.setNumericType ( int...  f)

Sets the filter to be used, valid parameter values are G4P.INTEGER, G4P.DECIMAL or G4P.EXPONENT and the accepted range will be based on range of valid values for the Java data types int or float.
if the parameter is null or missing then it cancels the filter and all text values are considered valid.

Parameters
fthe filter to apply (can be null or omitted)

◆ setStyledText()

void g4p_controls.GTextField.setStyledText ( StyledString  ss)

Set the styled text for this textfield after ensuring that all EOL characters have been removed.

Parameters
ssthe styled text to be displayed

Reimplemented from g4p_controls.GTextBase.

◆ setText()

void g4p_controls.GTextField.setText ( String  text)

Set the text to be displayed.

Parameters
textthe text to be displayed

Reimplemented from g4p_controls.GTextBase.

◆ updateBuffer()

void g4p_controls.GTextField.updateBuffer ( )
protected

If the buffer is invalid then redraw it.

@TODO need to use palette for colours

Reimplemented from g4p_controls.GAbstractControl.