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

Classes

class  GCloseNotifier
 
class  WindowAdapterAWT
 
class  WindowAdapterNEWT
 

Public Member Functions

void addData (GWinData data)
 
void addDrawHandler (Object obj, String methodName)
 
void addKeyHandler (Object obj, String methodName)
 
void addMouseHandler (Object obj, String methodName)
 
void addOnCloseHandler (Object obj, String methodName)
 
void addPostHandler (Object obj, String methodName)
 
void addPreHandler (Object obj, String methodName)
 
void close ()
 
void draw ()
 
void forceClose ()
 
abstract PVector getPosition (PVector pos)
 
abstract String getTitle ()
 
abstract boolean isVisible ()
 
void keyEvent (KeyEvent event)
 
void mouseEvent (MouseEvent event)
 
void performCloseAction ()
 
void post ()
 
void pre ()
 
abstract void setActionOnClose (int action)
 
abstract void setAlwaysOnTop (boolean ontop)
 
abstract void setLocation (int x, int y)
 
void settings ()
 
abstract void setTitle (String title)
 
void setup ()
 
abstract void setVisible (boolean visible)
 
abstract boolean usesGL ()
 

Static Public Member Functions

static GWindow getWindow (PApplet app, String title, int px, int py, int w, int h, String renderer)
 

Public Attributes

GWinData data
 
String tag
 
int tagNo
 
LinkedList< GAbstractControltoAdd = new LinkedList<GAbstractControl>()
 
LinkedList< GAbstractControltoRemove = new LinkedList<GAbstractControl>()
 
LinkedList< GAbstractControlwindowControls = new LinkedList<GAbstractControl>()
 
- 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
 

Protected Member Functions

void addToWindow (GAbstractControl control)
 
abstract void fireCloseWindowEvent ()
 
 GWindow (String title, int w, int h)
 
abstract void initListeners ()
 
void prepareWindowForClosure ()
 
void registerMethods ()
 
void removeFromWindow (GAbstractControl control)
 
void unregisterMethods ()
 

Protected Attributes

int actionOnClose = KEEP_OPEN
 
String closeHandlerMethodName
 
Object closeHandlerObject = null
 
Method closetHandlerMethod = null
 
Method drawHandlerMethod = null
 
String drawHandlerMethodName
 
Object drawHandlerObject = null
 
boolean is3D = false
 
Method keyHandlerMethod = null
 
String keyHandlerMethodName
 
Object keyHandlerObject = null
 
Method mouseHandlerMethod = null
 
String mouseHandlerMethodName
 
Object mouseHandlerObject = null
 
Method postHandlerMethod = null
 
String postHandlerMethodName
 
Object postHandlerObject = null
 
Method preHandlerMethod = null
 
String preHandlerMethodName
 
Object preHandlerObject = null
 
boolean preparedForClosure = false
 
String renderer_type
 
String title
 
int w
 

Detailed Description

Base class for independent windows using JAVA2D, P2D or P3D renderers. These can be used to hold G4P GUI components or used for drawing or both combined.

A number of examples are included in the library and more info can be found at www.lagers.org.uk

Updated for Processing V3

Author
Peter Lager

Member Function Documentation

void g4p_controls.GWindow.addData ( GWinData  data)

To provide a unique fields for this window create a class that inherits from GWinData with public access fields. Then use this method to associate the data with this window.

Parameters
datathe GWinData object associated with this window
void g4p_controls.GWindow.addDrawHandler ( Object  obj,
String  methodName 
)

Attempt to add the 'draw' handler method. The default event handler is a method that returns void and has two parameters PApplet and GWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addKeyHandler ( Object  obj,
String  methodName 
)

Attempt to add the 'key' handler method. The default event handler is a method that returns void and has three parameters GWinApplet, GWinData and a KeyEvent

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addMouseHandler ( Object  obj,
String  methodName 
)

Attempt to add the 'mouse' handler method. The default event handler is a method that returns void and has three parameters GWinApplet, GWinData and a MouseEvent

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addOnCloseHandler ( Object  obj,
String  methodName 
)

Attempt to create the on-close-window event handler for this GWindow. The default event handler is a method that returns void and has a single parameter of type GWindow (this will be a reference to the window that is closing)

The handler will not be called if the setActionOnClose flag is set to EXIT_APP
If the flag is set to CLOSE_WINDOW then the handler is called when the window is closed by clicking on the window-close-icon or using either the close or forceClose methods.
If the flag is set to KEEP_OPEN the window can only be closed using the forceClose method. In this case the handler will be called.

Parameters
objthe object to handle the on-close-window event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addPostHandler ( Object  obj,
String  methodName 
)

Attempt to add the 'post' handler method. The default event handler is a method that returns void and has two parameters GWinApplet and GWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addPreHandler ( Object  obj,
String  methodName 
)

Attempt to add the 'pre' handler method. The default event handler is a method that returns void and has two parameters GWinApplet and GWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void g4p_controls.GWindow.addToWindow ( GAbstractControl  control)
protected

Add a control to this window, ignoring duplicates.

Parameters
controlcontrol to be added
void g4p_controls.GWindow.close ( )

This will close the window provided the action-on-close flag is CLOSE_WINDOW otherwise the window remains open.

void g4p_controls.GWindow.draw ( )

Execute any draw handler for this window.

abstract void g4p_controls.GWindow.fireCloseWindowEvent ( )
protectedpure virtual

Fire a window closing event

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

void g4p_controls.GWindow.forceClose ( )

This will close the window provided the action-on-close flag is CLOSE_WINDOW or KEEP_OPEN otherwise the window remains open.

abstract PVector g4p_controls.GWindow.getPosition ( PVector  pos)
pure virtual
Parameters
posthe PVector to populate
Returns
a PVector with the windows top-left coordinates.

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract String g4p_controls.GWindow.getTitle ( )
pure virtual
Returns
the window's title bar text

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

static GWindow g4p_controls.GWindow.getWindow ( PApplet  app,
String  title,
int  px,
int  py,
int  w,
int  h,
String  renderer 
)
static

Factory method to create and start a new window. The renderer must be JAVA2D, P2D or P3D otherwise this method returns null.

Parameters
appthe main sketch window PApplet instance ('this')
titletext to appear in frame title bar
pxhorizontal position of top-left corner
pyvertical position of top-left corner
wwidth of drawing surface
hheight of surface
rendererrenderer must be JAVA2D, P3D or P3D
Returns
the window created (use this to get a handle on your window)
abstract void g4p_controls.GWindow.initListeners ( )
protectedpure virtual

Set up the 'window' listeners

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract boolean g4p_controls.GWindow.isVisible ( )
pure virtual
Returns
true if this window is visible else false

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

void g4p_controls.GWindow.keyEvent ( KeyEvent  event)

Execute any key event handler associated with this window and its controls

Parameters
eventthe key event to process
void g4p_controls.GWindow.mouseEvent ( MouseEvent  event)

Execute any mouse event handler associated with this window and its controls

Parameters
eventthe mouse event to process
void g4p_controls.GWindow.performCloseAction ( )

This method is executed when the window closes. It will call the user defined on-close-handler method set with

void g4p_controls.GWindow.post ( )

Execute any post handler associated with this window and its controls.
Add/remove any controls request by user, this is done here outside the drawing phase to prevent crashes.

void g4p_controls.GWindow.pre ( )

Execute any pre handler associated with this window and its controls

void g4p_controls.GWindow.prepareWindowForClosure ( )
protected

Prepare the window for closure by stopping the animation loop, unregistering the event handlers and firing a window close event using a new thread.

void g4p_controls.GWindow.registerMethods ( )
protected

Register this window for pre, draw, post, mouseEvent and keyEvent methods.

void g4p_controls.GWindow.removeFromWindow ( GAbstractControl  control)
protected

Remove a control to this window.

Parameters
controlcontrol to be removed
abstract void g4p_controls.GWindow.setActionOnClose ( int  action)
pure virtual

This sets what happens when the users attempts to close the window.
There are 3 possible actions depending on the value passed.
G4P.KEEP_OPEN - ignore attempt to close window (default action),
G4P.CLOSE_WINDOW - close this window,
G4P.EXIT_APP - exit the app, this will cause all windows to close.

Parameters
actionthe required close action

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract void g4p_controls.GWindow.setAlwaysOnTop ( boolean  ontop)
pure virtual

Sets whether this window should always be above other windows. If there are multiple always-on-top windows, their relative order is unspecified and platform dependent.

Parameters
ontopif true the window will always remain above other windows

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract void g4p_controls.GWindow.setLocation ( int  x,
int  y 
)
pure virtual

Set the windows position

Parameters
xhorizontal position of window
yvertical position of window

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract void g4p_controls.GWindow.setTitle ( String  title)
pure virtual

Set the window title

Parameters
titlethe window's title bar text

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

abstract void g4p_controls.GWindow.setVisible ( boolean  visible)
pure virtual

Set the windows visibility

Parameters
visiblewhether the window is to be visible or not

Implemented in g4p_controls.GWindowNEWT, and g4p_controls.GWindowAWT.

void g4p_controls.GWindow.unregisterMethods ( )
protected

Unregister this window for pre, draw, post, mouseEvent and keyEvent methods. This method is called when the window closes.

Member Data Documentation

String g4p_controls.GWindow.closeHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.closeHandlerObject = null
protected

The object to handle the window closing event

Method g4p_controls.GWindow.closetHandlerMethod = null
protected

The method in closeHandlerObject to execute

GWinData g4p_controls.GWindow.data

Used to associated data to a GWindow

Method g4p_controls.GWindow.drawHandlerMethod = null
protected

The method in drawHandlerObject to execute

String g4p_controls.GWindow.drawHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.drawHandlerObject = null
protected

The object to handle the draw event

Method g4p_controls.GWindow.keyHandlerMethod = null
protected

The method in keyHandlerObject to execute

String g4p_controls.GWindow.keyHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.keyHandlerObject = null
protected

The object to handle the key event

Method g4p_controls.GWindow.mouseHandlerMethod = null
protected

The method in mouseHandlerObject to execute

String g4p_controls.GWindow.mouseHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.mouseHandlerObject = null
protected

The object to handle the mouse event

Method g4p_controls.GWindow.postHandlerMethod = null
protected

The method in postHandlerObject to execute

String g4p_controls.GWindow.postHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.postHandlerObject = null
protected

The object to handle the post event

Method g4p_controls.GWindow.preHandlerMethod = null
protected

The method in preHandlerObject to execute

String g4p_controls.GWindow.preHandlerMethodName
protected

the name of the method to handle the event

Object g4p_controls.GWindow.preHandlerObject = null
protected

The object to handle the pre event

String g4p_controls.GWindow.tag

Simple tag that can be used by the user

int g4p_controls.GWindow.tagNo

Allows user to specify a number for this component