G4P (GUI for Processing) 4.3.11
A set of GUI controls for your Processing sketch.
|
Public Member Functions | |
void | draw () |
void | fireAllEvents (boolean all) |
GImageButton (PApplet theApplet, float p0, float p1, float p2, float p3, String[] fnames) | |
GImageButton (PApplet theApplet, float p0, float p1, float p2, float p3, String[] fnames, String fnameMask) | |
GImageButton (PApplet theApplet, float p0, float p1, String[] fnames) | |
GImageButton (PApplet theApplet, float p0, float p1, String[] fnames, String fnameMask) | |
void | mouseEvent (MouseEvent event) |
void | setEnabled (boolean enable) |
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 Attributes | |
PImage[] | bimage = null |
PImage | mask = null |
boolean | reportAllButtonEvents = false |
int | status |
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< GAbstractControl > | children = 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 |
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 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) |
Static Protected Attributes inherited from g4p_controls.GAbstractControl | |
static GAbstractControl | controlToTakeFocus = null |
static GAbstractControl | cursorIsOver |
static float | epsilon = 0.001f |
static GAbstractControl | focusIsWith = null |
Buttons create from this class use a number of images to represent it's state. This means that buttons can have an irregular and/or discontinuous shape.
If when creating the button you specify a particular width and height then any images that are not the same size will be scaled to fit without regard to the original size or aspect ratio.
If when creating the button you do not specify the width and height then it will use the width and height of the 'off-button' image and assume that all the other images are the same size.
The image button needs 1 to 3 image files to represent the button states
OFF mouse is not over button
OVER mouse is over the button
DOWN the mouse is over the button and a mouse button is being pressed.
If you only provide one image then this will be used for all states, if you provide two then the second image is used for both OVER and DOWN states.
If you don't provide a mask file then the button 'hotspot' is represented by any non-transparent pixels in the OFF image. If you do provide a mask file then the hotspot is defined by any black pixels in the mask image.
Three types of event can be generated :-
PRESSED RELEASED CLICKED
By default the button only fires the CLICKED event which is typical of most GUIs. G4P supports two other events PRESSED and RELEASED which can be enabled using
button1.fireAllEvents(true);
.
A PRESSED event is created if the mouse button is pressed down over the button face. When the mouse button is released one of two events will be generated, the RELEASED event if the mouse has moved since the PRESSED event or CLICKED event if it has not moved. If you use this feature remember to test the event type in the event-handler.
Note that if you disable the button in its event handler e.g.
If you want the button is disable itself it should only be done on the CLICKED event e.g.
public void handleButtonEvents(GButton button, GEvent event) { if (button == button1 && event == GEvent.CLICKED) { button1.setEnabled(false); } }
do not try this with the RELEASED or PRESSED event as it will lead to inconsistent behaviour.
g4p_controls.GImageButton.GImageButton | ( | PApplet | theApplet, |
float | p0, | ||
float | p1, | ||
String[] | fnames | ||
) |
The control size will be set to the size of the image file used for the button OFF state.
There is no alpha mask file..
theApplet | the main sketch or GWindow control for this control |
p0 | x position based on control mode |
p1 | y position based on control mode |
fnames | an array of up to 3 image filenames to represent the off/over/down state of the button. |
g4p_controls.GImageButton.GImageButton | ( | PApplet | theApplet, |
float | p0, | ||
float | p1, | ||
String[] | fnames, | ||
String | fnameMask | ||
) |
The control size will be set to the size of the image file used for the button OFF state.
theApplet | the main sketch or GWindow control for this control |
p0 | x position based on control mode |
p1 | y position based on control mode |
fnames | an array of up to 3 image filenames to represent the off/over/down state of the button. |
fnameMask | the alpha mask filename or null if no mask |
g4p_controls.GImageButton.GImageButton | ( | PApplet | theApplet, |
float | p0, | ||
float | p1, | ||
float | p2, | ||
float | p3, | ||
String[] | fnames | ||
) |
Create an image button of the size specified by the parameters.
The images will be resized to fit and there is no alpha mask file.
theApplet | the main sketch or GWindow control for this control |
p0 | x position based on control mode |
p1 | y position based on control mode |
p2 | x position or width based on control mode |
p3 | y position or height based on control mode |
fnames | an array of up to 3 image filenames to represent the off/over/down state of the button. |
g4p_controls.GImageButton.GImageButton | ( | PApplet | theApplet, |
float | p0, | ||
float | p1, | ||
float | p2, | ||
float | p3, | ||
String[] | fnames, | ||
String | fnameMask | ||
) |
Create an image button of the size specified by the parameters.
The images will be resized to fit.
theApplet | the main sketch or GWindow control for this control |
p0 | x position based on control mode |
p1 | y position based on control mode |
p2 | x position or width based on control mode |
p3 | y position or height based on control mode |
fnames | an array of up to 3 image filenames to represent the off/over/down state of the button. |
fnameMask | the alpha mask filename or null if no mask |
void g4p_controls.GImageButton.draw | ( | ) |
Reimplemented from g4p_controls.GAbstractControl.
void g4p_controls.GImageButton.fireAllEvents | ( | boolean | all | ) |
If the parameter is true all 3 event types are generated, if false only CLICKED events are generated (default behaviour).
all | true if we want all events fired |
void g4p_controls.GImageButton.mouseEvent | ( | MouseEvent | event | ) |
When a mouse button is clicked on a GImageButton it generates the GEvent.CLICKED event. If you also want the button to generate GEvent.PRESSED and GEvent.RELEASED events then you need the following statement.
btnName.fireAllEvents(true);
void handleButtonEvents(void handleButtonEvents(GImageButton button, GEvent event) { if(button == btnName && event == GEvent.CLICKED){ // code for button click event }
Where
btnName
is the GImageButton identifier (variable name)
Reimplemented from g4p_controls.GAbstractControl.
void g4p_controls.GImageButton.setEnabled | ( | boolean | enable | ) |
Enable or disable the ability of the component to generate mouse events.
If the control is to be disabled when it is clicked then this will force the mouse off button image is used.
enable | true to enable else false |
Reimplemented from g4p_controls.GAbstractControl.