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

Public Member Functions

void addControl (GAbstractControl c, float x, float y, float angle)
 
void clearDragArea ()
 
void draw ()
 
int getTabHeight ()
 
 GPanel (PApplet theApplet, float p0, float p1, float p2, float p3)
 
 GPanel (PApplet theApplet, float p0, float p1, float p2, float p3, String text)
 
boolean isCollapsed ()
 
boolean isCollapsible ()
 
boolean isDraggable ()
 
boolean isOver (float x, float y)
 
void mouseEvent (MouseEvent event)
 
void setCollapsed (boolean collapse)
 
void setCollapsible (boolean c)
 
boolean setDragArea ()
 
boolean setDragArea (float xMin, float yMin, float xMax, float yMax)
 
void setDraggable (boolean draggable)
 
void setFont (Font font)
 
void setOpaque (boolean opaque)
 
void setText (String text)
 
void setToolTip (String text)
 
String toString ()
 
- 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 ()
 

Protected Member Functions

void addToParent (GAbstractControl p)
 
void loseFocus (GAbstractControl grabber)
 
void updateBuffer ()
 
- 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)
 

Protected Attributes

boolean collapsible = true
 
float dockX
 
float dockY
 
boolean draggable = true
 
float highX
 
float highY
 
float lowX
 
float lowY
 
int tabHeight
 
boolean tabOnly = false
 
int tabWidth
 
- 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

static int COLLAPSED_BAR_SPOT = 1
 
static int EXPANDED_BAR_SPOT = 2
 
static int SURFACE_SPOT = 0
 
- Static Protected Attributes inherited from g4p_controls.GAbstractControl
static GAbstractControl controlToTakeFocus = null
 
static GAbstractControl cursorIsOver
 
static float epsilon = 0.001f
 
static GAbstractControl focusIsWith = null
 

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
 

Detailed Description

A component that can be used to group GUI components that can be dragged, collapsed (leaves title tab only) and un-collapsed.

When created the Panel is collapsed by default. To open the panel use setCollapsed(true); after creating it.

Once a component has been added the x/y coordinates of the control are calculated to be the centre of the panel to the centre of the control. This is to facilitate rotating of controls on panels

Author
Peter Lager

Constructor & Destructor Documentation

◆ GPanel() [1/2]

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

Create a Panel that comprises of 2 parts the tab which is used to select and move the panel and the container window below the tab which is used to hold other components.
If the panel fits inside the display window then its position will be constrained so that it can't be dragged outside the viewable area. Otherwise no constraint is applied.

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

◆ GPanel() [2/2]

g4p_controls.GPanel.GPanel ( PApplet  theApplet,
float  p0,
float  p1,
float  p2,
float  p3,
String  text 
)

Create a Panel that comprises of 2 parts the tab which is used to select and move the panel and the container window below the tab which is used to hold other components.
If the panel fits inside the display window then its position will be constrained so that it can't be dragged outside the viewable area. Otherwise no constraint is applied.

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
textto appear on tab

Member Function Documentation

◆ addControl()

void g4p_controls.GPanel.addControl ( GAbstractControl  c,
float  x,
float  y,
float  angle 
)

This will call the base method in GAbstractControl and make the control unavailable if the panel is collapsed.
(Solves bug reported in ticket 44)

Parameters
cthe control to add.
xthe leftmost or centre position depending on controlMode
ythe topmost or centre position depending on controlMode
anglethe rotation angle (replaces any the angle specified in control)

Reimplemented from g4p_controls.GAbstractControl.

◆ addToParent()

void g4p_controls.GPanel.addToParent ( GAbstractControl  p)
protected

This panel is being added to another additional changes that need to be made this control is added to another.

In this case we need to set the constraint limits to keep inside the parent.

Parameters
pthe parent

Reimplemented from g4p_controls.GAbstractControl.

◆ clearDragArea()

void g4p_controls.GPanel.clearDragArea ( )

Remove any drag constraint from this panel.

◆ draw()

void g4p_controls.GPanel.draw ( )

Draw the panel. If tabOnly == true then display the tab only else draw tab and all child (added) components

Reimplemented from g4p_controls.GAbstractControl.

◆ getTabHeight()

int g4p_controls.GPanel.getTabHeight ( )
Returns
the height of the panel tab

◆ isCollapsed()

boolean g4p_controls.GPanel.isCollapsed ( )

Find out if the panel is collapsed

Returns
true if collapsed

◆ isCollapsible()

boolean g4p_controls.GPanel.isCollapsible ( )
Returns
true if this panel can be collapsed

◆ isDraggable()

boolean g4p_controls.GPanel.isDraggable ( )

Can we drag this panel with the mouse?

Returns
true if draggable

◆ isOver()

boolean g4p_controls.GPanel.isOver ( float  x,
float  y 
)
Parameters
xposition of pixel
yposition of pixel
Returns
true if pixel position [x,y] is over the panel taking into account whether it is collapsed or not.

◆ loseFocus()

void g4p_controls.GPanel.loseFocus ( GAbstractControl  grabber)
protected

What to do when the FPanel loses focus.

Reimplemented from g4p_controls.GAbstractControl.

◆ mouseEvent()

void g4p_controls.GPanel.mouseEvent ( MouseEvent  event)

All GUI components are registered for mouseEvents

Reimplemented from g4p_controls.GAbstractControl.

◆ setCollapsed()

void g4p_controls.GPanel.setCollapsed ( boolean  collapse)

Collapse or open the panel

Parameters
collapseif true collapse the panel else expand the panel

◆ setCollapsible()

void g4p_controls.GPanel.setCollapsible ( boolean  c)

Determine whether the panel can be collapsed when the title bar is clicked.

If this is set to false then the panel will be expanded and it will not be possible to collapse it until set back to true.

Parameters
cwhether the panel is collapsible or not

◆ setDragArea() [1/2]

boolean g4p_controls.GPanel.setDragArea ( )

Provided the panel is small enough to fit inside the display area then the panel will be constrained to fit inside the display area.

Returns
true if the constraint was applied successfully else false

◆ setDragArea() [2/2]

boolean g4p_controls.GPanel.setDragArea ( float  xMin,
float  yMin,
float  xMax,
float  yMax 
)

Provided the panel is physically small enough this method will set the area within which the panel can be dragged and move the panel inside the area if not already inside.

Parameters
xMinthe closest distance the panel can be to the left-hand-side
yMinthe closest distance the panel can be to the top
xMaxthe panel cannot move beyond this point on the right-hand-side
yMaxthe panel cannot move beyond this point to the bottom
Returns
true if the constraint was applied successfully else false

◆ setDraggable()

void g4p_controls.GPanel.setDraggable ( boolean  draggable)

Determines whether the panel can be dragged by the mouse or not.

Parameters
draggabletrue if the panel can be dragged else false

◆ setFont()

void g4p_controls.GPanel.setFont ( Font  font)

Set the font to be used in this control

Parameters
fontAWT font to use

Reimplemented from g4p_controls.GTextBase.

◆ setOpaque()

void g4p_controls.GPanel.setOpaque ( boolean  opaque)

Determines whether to show the tab and panel back colour. If the parameter is the same as the current state then no changes will be made.
If the parameter is false then the panel will be

  • expanded
  • made non-collasible
  • made unavailable to mouse control (so can't be dragged)

If the parameter is true then the panel will remain non-collapsible and the user must change this if required.

Parameters
opaquetrue if the panel is opaque

Reimplemented from g4p_controls.GAbstractControl.

◆ setText()

void g4p_controls.GPanel.setText ( String  text)

Set the text to be displayed.

Parameters
textthe text to display

Reimplemented from g4p_controls.GTextBase.

◆ setToolTip()

void g4p_controls.GPanel.setToolTip ( String  text)

Prevent this class from having a tool tip

◆ toString()

String g4p_controls.GPanel.toString ( )

Reimplemented from g4p_controls.GAbstractControl.

◆ updateBuffer()

void g4p_controls.GPanel.updateBuffer ( )
protected

Reimplemented from g4p_controls.GAbstractControl.

Member Data Documentation

◆ dockX

float g4p_controls.GPanel.dockX
protected

Used to restore position when closing panel

◆ tabHeight

int g4p_controls.GPanel.tabHeight
protected

The height of the tab calculated from font height + padding

◆ tabOnly

boolean g4p_controls.GPanel.tabOnly = false
protected

Whether the panel is displayed in full or tab only