G4P (GUI for Processing) 4.3.9
A set of GUI controls for your Processing sketch.
Loading...
Searching...
No Matches
g4p_controls.GTextIconBase Class Referenceabstract
Inheritance diagram for g4p_controls.GTextIconBase:

Public Member Functions

GAnimIcon getIcon ()
 
 GTextIconBase (PApplet theApplet, float p0, float p1, float p2, float p3)
 
void resizeToFit (boolean horz, boolean vert)
 
void setIcon (GIcon g_icon, GAlign pos, GAlign horz, GAlign vert)
 
void setIcon (PImage img, int nbrImages, GAlign horz, GAlign vert)
 
void setIcon (PImage img, int nbrImages, GAlign pos, GAlign horz, GAlign vert)
 
void setIcon (String fname, int nbrImages)
 
void setIcon (String fname, int nbrImages, GAlign horz, GAlign vert)
 
void setIcon (String fname, int nbrImages, GAlign pos, GAlign horz, GAlign vert)
 
void setIconAlign (GAlign horz, GAlign vert)
 
void setIconPos (GAlign icon_pos)
 
void setText (String text)
 
void setText (String text, GAlign horz, GAlign vert)
 
- 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 ()
 
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 dx, float dy)
 
void setTip (GToolTip tt, GAlign ax, GAlign ay, float gap)
 
void setTip (String text, float dx, float dy)
 
void setTip (String text, GAlign ax, GAlign ay, float gap)
 
void setTipDisplayTime (long msecs)
 
void setTipHorz (boolean level)
 
void setTipText (String text)
 
void setVisible (boolean visible)
 
String toString ()
 

Protected Member Functions

void calcZones ()
 
void calcZones (boolean hasIcon, boolean hasText)
 
void calcZones (boolean hasText)
 
void setIconImpl (GIcon g_icon, GAlign pos, GAlign horz, GAlign vert)
 
- 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 ()
 
- 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)
 
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 setAvailable (boolean avail)
 
void setTextRenderingHints (Graphics2D g2d, int hint)
 
void setZ (int parentZ)
 
void showTip ()
 
void takeFocus ()
 
void updateBuffer ()
 
int whichHotSpot (float px, float py)
 

Protected Attributes

float GUTTER = 4
 
GIcon icon = null
 
GAlign iconAlignH = GAlign.CENTER
 
GAlign iconAlignV = GAlign.MIDDLE
 
int iconH = 0
 
GAlign iconPos = GAlign.WEST
 
int iconW = 0
 
float iconX
 
float iconY
 
Zone iconZone = new Zone()
 
- 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
 
PGraphicsJava2D buffer = null
 
boolean bufferInvalid = true
 
LinkedList< GAbstractControlchildren = null
 
int currSpot = -1
 
int cursorOver = HAND
 
float cx
 
float cy
 
boolean dragging = false
 
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
 
float width
 
PApplet winApp
 
float x
 
float y
 
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
 
- Static Protected Attributes inherited from g4p_controls.GAbstractControl
static float epsilon = 0.001f
 

Detailed Description

This is the base class for all controls that can display text and/or icon i.e. GButton, GLabel, GCheckbox and GOption.

It allows the user to control the position of the icon relative to the text and also their alignment.

Icon Position
Use the setIconPos(GAlign pos); where pos is either

 GAlign.NORTH, GAlign.SOUTH, GAlign.EAST or GAlign.WEST

to position the icon relative to the text.

The icon will reserve just enough space vertically (NORTH/SOUTH) or horizontally (EAST/WEST) to display itself. The setIconAlign(GAlign horz, GAlign vert); can be used to align the icon within its space so usable combinations are

Icon positions         Usable Icon Alignment 
NORTH, SOUTH           LEFT, CENTER, RIGHT 
EAST, WEST             TOP, MIDDLE, BOTTOM

Specifying unusable icon alignments will be accepted but will have no visual effect on the control e.g.

control.setIconPos(GAlign.NORTH); // Icon above text
control.setIconAlign(GAlign.TOP); // Instruction is accepted but has no visual effect


This is new to V4.0.6 replaces the GTextAlign and GTextIconAlignBase classes

Author
Peter Lager

Constructor & Destructor Documentation

◆ GTextIconBase()

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

Base class for controls able to display text and icons.

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

Member Function Documentation

◆ calcZones() [1/3]

void g4p_controls.GTextIconBase.calcZones ( )
protected

Determines if this control has an icon and/or text then recalculates the size / position of the text and icon zones,

◆ calcZones() [2/3]

void g4p_controls.GTextIconBase.calcZones ( boolean  hasIcon,
boolean  hasText 
)
protected

This is the implementation method for recalculating the size / position of the text and icon zones,

Parameters
hasIconthis control has an icon
hasTextthis control has text to display

◆ calcZones() [3/3]

void g4p_controls.GTextIconBase.calcZones ( boolean  hasText)
protected

Determines whether this control has an icon then recalculates the size / position of the text and icon zones. The current text length is zero (i.e. no text) then a parameter value of true will force the calculation to assume there is some text.

Useful to prevent errors when adding text to an icon only control.

Parameters
hasTextthis control has text to display

◆ getIcon()

GAnimIcon g4p_controls.GTextIconBase.getIcon ( )

If an animated icon (GAnimIcon) is associated with this control then it is returned otherwise it returns null.

This is used to access the icon if we want to animate it e.g.

control.getIcon().animate();
Returns
the icon if any

◆ resizeToFit()

void g4p_controls.GTextIconBase.resizeToFit ( boolean  horz,
boolean  vert 
)

This will change this label's size so that it just fits round the text and icon either horizontally, vertically or both. The buffer will also be resized.

Parameters
horzadjust the width
vertadjust the height

◆ setIcon() [1/6]

void g4p_controls.GTextIconBase.setIcon ( GIcon  g_icon,
GAlign  pos,
GAlign  horz,
GAlign  vert 
)

Set the icon to be used for this control.
Use the constants in GAlign e.g. GAlign.LEFT

This is the only method that allows you to use an animated icon. Create and configure the icon before adding to this control. You can use the getIcon() method to access its methods.

You can pass null if you don't want to change a particular position/alignment.

Parameters
g_iconthe icon to use
posGAlign.NORTH, SOUTH, EAST or WEST
horzGAlign.LEFT, CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

Reimplemented in g4p_controls.GToggleControl.

◆ setIcon() [2/6]

void g4p_controls.GTextIconBase.setIcon ( PImage  img,
int  nbrImages,
GAlign  horz,
GAlign  vert 
)

Set the non-animated icon to be used and the horizontal and/or vertical icon alignment. Use the constants in GAlign e.g. GAlign.LEFT

You can pass null if you don't want to change a particular position/alignment.

Parameters
imgthe icon
nbrImagesnumber of tiles in the image
horzGAlign.LEFT, CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

◆ setIcon() [3/6]

void g4p_controls.GTextIconBase.setIcon ( PImage  img,
int  nbrImages,
GAlign  pos,
GAlign  horz,
GAlign  vert 
)

Set the non-animated icon to be used for this control.
Use the constants in GAlign e.g. GAlign.LEFT

You can pass null if you don't want to change a particular position/alignment.

Parameters
imgthe icon
nbrImagesnumber of tiles in the image
posGAlign.NORTH, SOUTH, EAST or WEST
horzGAlign.LEFT, CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

◆ setIcon() [4/6]

void g4p_controls.GTextIconBase.setIcon ( String  fname,
int  nbrImages 
)

Set the non-animated icon to be used, keeping the current icon alignment and position.

Parameters
fnamename of the icon image file
nbrImagesnumber of tiles in the image

◆ setIcon() [5/6]

void g4p_controls.GTextIconBase.setIcon ( String  fname,
int  nbrImages,
GAlign  horz,
GAlign  vert 
)

Set the non-animated icon to be used and the horizontal and/or vertical icon alignment. Use the constants in GAlign e.g. GAlign.LEFT

You can pass null if you don't want to change a particular alignment.

Parameters
fnamename of the icon image file
nbrImagesnumber of tiles in the image
horzGAlign.LEFT CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

◆ setIcon() [6/6]

void g4p_controls.GTextIconBase.setIcon ( String  fname,
int  nbrImages,
GAlign  pos,
GAlign  horz,
GAlign  vert 
)

Set the non-animated icon to be used and the horizontal and/or vertical icon alignment. Use the constants in GAlign e.g. GAlign.LEFT

You can pass null if you don't want to change a particular position/alignment.

Parameters
fnamename of the icon image file
nbrImagesnumber of tiles in the image
posGAlign.NORTH, SOUTH, EAST or WEST
horzGAlign.LEFT, CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

◆ setIconAlign()

void g4p_controls.GTextIconBase.setIconAlign ( GAlign  horz,
GAlign  vert 
)

Change the alignment of an existing icon.

You can pass null if you don't want to change a particular alignment.

Parameters
horzhorizontal alignment
vertvertical alignment

◆ setIconImpl()

void g4p_controls.GTextIconBase.setIconImpl ( GIcon  g_icon,
GAlign  pos,
GAlign  horz,
GAlign  vert 
)
protected

Implementation method for all setIcon(...) methods.
Use the constants in GAlign e.g. GAlign.LEFT

You can pass null if you don't want to change a particular position/alignment.

Parameters
g_iconthe icon
posGAlign.NORTH, SOUTH, EAST or WEST
horzGAlign.LEFT, CENTER or RIGHT
vertGAlign.TOP, MIDDLE, BOTTOM

◆ setIconPos()

void g4p_controls.GTextIconBase.setIconPos ( GAlign  icon_pos)

Set the position for the icon relative to the text.

Parameters
icon_posGAlign.NORTH, SOUTH, EAST or WEST

◆ setText() [1/2]

void g4p_controls.GTextIconBase.setText ( String  text)

Set the text to be displayed and calculate the wrap length taking into account any icon set.

Parameters
textthe text to display

Reimplemented from g4p_controls.GTextBase.

◆ setText() [2/2]

void g4p_controls.GTextIconBase.setText ( String  text,
GAlign  horz,
GAlign  vert 
)

Combines setting the text and text alignment in one method.

If you want to set just one of the alignments then pass null in the other.

Parameters
textthe text to display
horzGAlign.LEFT, CENTER, RIGHT or JUSTIFY
vertGAlign.TOP, MIDDLE, BOTTOM

Reimplemented from g4p_controls.GTextBase.