Game Control Plus  1.2.2
 All Classes Namespaces Functions Variables Pages
org.gamecontrolplus.gui.MWindow Class Referenceabstract
Inheritance diagram for org.gamecontrolplus.gui.MWindow:

Classes

class  WindowAdapterAWT
 
class  WindowAdapterNEWT
 

Public Member Functions

void addData (MWinData data)
 
void draw ()
 
void pre ()
 
void post ()
 
void mouseEvent (MouseEvent event)
 
void keyEvent (KeyEvent event)
 
void addDrawHandler (Object obj, String methodName)
 
void addPreHandler (Object obj, String methodName)
 
void addMouseHandler (Object obj, String methodName)
 
void addKeyHandler (Object obj, String methodName)
 
void addPostHandler (Object obj, String methodName)
 
void addOnCloseHandler (Object obj, String methodName)
 
abstract void close ()
 
abstract void forceClose ()
 
abstract void setActionOnClose (int action)
 
void settings ()
 
void setup ()
 
void performCloseAction ()
 

Static Public Member Functions

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

Public Attributes

MWinData data
 
LinkedList< MAbstractControlwindowControls = new LinkedList<MAbstractControl>()
 
LinkedList< MAbstractControltoRemove = new LinkedList<MAbstractControl>()
 
LinkedList< MAbstractControltoAdd = new LinkedList<MAbstractControl>()
 
- Public Attributes inherited from org.gamecontrolplus.gui.MConstants
int RED_SCHEME = 0
 
int GREEN_SCHEME = 1
 
int YELLOW_SCHEME = 2
 
int PURPLE_SCHEME = 3
 
int ORANGE_SCHEME = 4
 
int CYAN_SCHEME = 5
 
int BLUE_SCHEME = 6
 
int GOLD_SCHEME = 7
 
int SCHEME_8 = 8
 
int SCHEME_9 = 9
 
int SCHEME_10 = 10
 
int SCHEME_11 = 11
 
int SCHEME_12 = 12
 
int SCHEME_13 = 13
 
int SCHEME_14 = 14
 
int SCHEME_15 = 15
 
char HOME = java.awt.event.KeyEvent.VK_HOME
 
char END = java.awt.event.KeyEvent.VK_END
 
int CTRL_ANGULAR = 0x00000501
 
int CTRL_HORIZONTAL = 0x00000502
 
int CTRL_VERTICAL = 0x00000503
 
int EXIT_APP = 0x00000f01
 
int CLOSE_WINDOW = 0x00000f02
 
int KEEP_OPEN = 0x00000f03
 
int USER_COL_SCHEME = 0x00010102
 
int ALPHA_BLOCK = 128
 
int ALPHA_PICK = 48
 
int SCROLLBARS_NONE = 0x0000
 
int SCROLLBARS_VERTICAL_ONLY = 0x0001
 
int SCROLLBARS_HORIZONTAL_ONLY = 0x0002
 
int SCROLLBARS_BOTH = 0x0003
 
int SCROLLBARS_AUTOHIDE = 0x1000
 
int SCROLLBAR_VERTICAL = 1
 
int SCROLLBAR_HORIZONTAL = 2
 
int INTEGER = 0
 
int DECIMAL = 1
 
int EXPONENT = 2
 
int ORIENT_LEFT = -1
 
int ORIENT_TRACK = 0
 
int ORIENT_RIGHT = 1
 
int X4 = 1
 
int X8 = 2
 
int PLAIN = JOptionPane.PLAIN_MESSAGE
 
int ERROR = JOptionPane.ERROR_MESSAGE
 
int INFO = JOptionPane.INFORMATION_MESSAGE
 
int WARNING = JOptionPane.WARNING_MESSAGE
 
int QUERY = JOptionPane.QUESTION_MESSAGE
 
int YES_NO = JOptionPane.YES_NO_OPTION
 
int YES_NO_CANCEL = JOptionPane.YES_NO_CANCEL_OPTION
 
int OK_CANCEL = JOptionPane.OK_CANCEL_OPTION
 
int OK = JOptionPane.OK_OPTION
 
int YES = JOptionPane.YES_OPTION
 
int NO = JOptionPane.NO_OPTION
 
int CANCEL = JOptionPane.CANCEL_OPTION
 
int CLOSED = JOptionPane.CLOSED_OPTION
 
TextAttribute FAMILY = TextAttribute.FAMILY
 
TextAttribute WEIGHT = TextAttribute.WEIGHT
 
Float WEIGHT_EXTRA_LIGHT = new Float(0.5f)
 
Float WEIGHT_LIGHT = new Float(0.75f)
 
Float WEIGHT_DEMILIGHT = new Float(0.875f)
 
Float WEIGHT_REGULAR = new Float(1.0f)
 
Float WEIGHT_SEMIBOLD = new Float(1.25f)
 
Float WEIGHT_MEDIUM = new Float(1.5f)
 
Float WEIGHT_DEMIBOLD = new Float(1.75f)
 
Float WEIGHT_BOLD = new Float(2.0f)
 
Float WEIGHT_HEAVY = new Float(2.25f)
 
Float WEIGHT_EXTRABOLD = new Float(2.5f)
 
Float WEIGHT_ULTRABOLD = new Float(2.75f)
 
TextAttribute WIDTH = TextAttribute.WIDTH
 
Float WIDTH_CONDENSED = new Float(0.75f)
 
Float WIDTH_SEMI_CONDENSED = new Float(0.875f)
 
Float WIDTH_REGULAR = new Float(1.0f)
 
Float WIDTH_SEMI_EXTENDED = new Float(1.25f)
 
Float WIDTH_EXTENDED = new Float(1.5f)
 
TextAttribute POSTURE = TextAttribute.POSTURE
 
Float POSTURE_REGULAR = new Float(0.0f)
 
Float POSTURE_OBLIQUE = new Float(0.20f)
 
TextAttribute SIZE = TextAttribute.SIZE
 
TextAttribute SUPERSCRIPT = TextAttribute.SUPERSCRIPT
 
Integer SUPERSCRIPT_SUPER = new Integer(1)
 
Integer SUPERSCRIPT_SUB = new Integer(-1)
 
Integer SUPERSCRIPT_OFF = new Integer(0)
 
TextAttribute FOREGROUND = TextAttribute.FOREGROUND
 
TextAttribute BACKGROUND = TextAttribute.BACKGROUND
 
TextAttribute STRIKETHROUGH = TextAttribute.STRIKETHROUGH
 
Boolean STRIKETHROUGH_ON = new Boolean(true)
 
Boolean STRIKETHROUGH_OFF = new Boolean(false)
 
- Public Attributes inherited from org.gamecontrolplus.gui.MConstantsInternal
String SLIDER_STYLES = "|grey_blue|blue18px|green_red20px|purple18px|red_yellow18px|"
 
String DEFAULT_SLIDER_STYLE = "grey_blue"
 
int DRAW_METHOD = 0x00000001
 
int MOUSE_METHOD = 0x00000002
 
int PRE_METHOD = 0x00000004
 
int KEY_METHOD = 0x00000008
 
int POST_METHOD = 0x00000010
 
int ALL_METHOD = 0x0000001f
 
int RUNTIME_ERROR = 0xf0000000
 
int MISSING = 0x01000001
 
int NONEXISTANT = 0x01000002
 
int EXCP_IN_HANDLER = 0x81000003
 
int OFF_CONTROL = 0
 
int OVER_CONTROL = 1
 
int PRESS_CONTROL = 2
 
int DRAG_CONTROL = 3
 
int TINT_FOR_ALPHA = 255
 
int I_NONE = 0
 
int I_TL = 1
 
int I_TR = 2
 
int I_CL = 4
 
int I_CR = 8
 
int I_INSIDE = 16
 
int I_COVERED = 32
 
int I_MODES = 63
 
int MERGE_RUNS = 256
 
int CLIP_RUN = 512
 
int COMBI_MODES = 768
 
int[][] grid
 
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)
 

Protected Member Functions

 MWindow (String title, int w, int h)
 
void registerMethods ()
 
void unregisterMethods ()
 
void addToWindow (MAbstractControl control)
 
void removeFromWindow (MAbstractControl control)
 
abstract void initListeners ()
 

Protected Attributes

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

Package Functions

void setColorScheme (int cs)
 
void setAlpha (int alpha)
 

Package Attributes

final int h
 

Detailed Description

Objects of this class are separate windows which can be used to hold M4P GUI components or used for drawing or both combined.

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

Author
Peter Lager

Member Function Documentation

void org.gamecontrolplus.gui.MWindow.addData ( MWinData  data)

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

Parameters
data
void org.gamecontrolplus.gui.MWindow.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 MWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void org.gamecontrolplus.gui.MWindow.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, MWinData and a KeyEvent

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void org.gamecontrolplus.gui.MWindow.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, MWinData and a MouseEvent

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void org.gamecontrolplus.gui.MWindow.addOnCloseHandler ( Object  obj,
String  methodName 
)

Attempt to create the on-close-window event handler for this MWindow. The default event handler is a method that returns void and has a single parameter of type MWindow (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 org.gamecontrolplus.gui.MWindow.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 MWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void org.gamecontrolplus.gui.MWindow.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 MWinData

Parameters
objthe object to handle the event
methodNamethe method to execute in the object handler class
void org.gamecontrolplus.gui.MWindow.addToWindow ( MAbstractControl  control)
protected

Add a control to this window, ignoring duplicates.

Parameters
controlcontrol to be added
abstract void org.gamecontrolplus.gui.MWindow.close ( )
pure virtual

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

Implemented in org.gamecontrolplus.gui.MWindowNEWT, and org.gamecontrolplus.gui.MWindowAWT.

void org.gamecontrolplus.gui.MWindow.draw ( )

Execute any draw handler for this window.

abstract void org.gamecontrolplus.gui.MWindow.forceClose ( )
pure virtual

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

Implemented in org.gamecontrolplus.gui.MWindowNEWT, and org.gamecontrolplus.gui.MWindowAWT.

static MWindow org.gamecontrolplus.gui.MWindow.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
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
rrenderer must be JAVA2D, P3D or P3D
Returns
the window created (in case the user wants its.
abstract void org.gamecontrolplus.gui.MWindow.initListeners ( )
protectedpure virtual

Set up the 'window' listeners

Implemented in org.gamecontrolplus.gui.MWindowNEWT, and org.gamecontrolplus.gui.MWindowAWT.

void org.gamecontrolplus.gui.MWindow.keyEvent ( KeyEvent  event)

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

void org.gamecontrolplus.gui.MWindow.mouseEvent ( MouseEvent  event)

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

void org.gamecontrolplus.gui.MWindow.performCloseAction ( )

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

void org.gamecontrolplus.gui.MWindow.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 org.gamecontrolplus.gui.MWindow.pre ( )

Execute any pre handler associated with this window and its controls

void org.gamecontrolplus.gui.MWindow.registerMethods ( )
protected

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

void org.gamecontrolplus.gui.MWindow.removeFromWindow ( MAbstractControl  control)
protected

Remove a control to this window.

Parameters
controlcontrol to be removed
abstract void org.gamecontrolplus.gui.MWindow.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.
MWindow.KEEP_OPEN - ignore attempt to close window (default action)
MWindow.CLOSE_WINDOW - close this window, if it is the main window it causes the app to exit
MWindow.EXIT_APP - exit the app, this will cause all windows to close.

Parameters
actionthe required close action

Implemented in org.gamecontrolplus.gui.MWindowNEWT, and org.gamecontrolplus.gui.MWindowAWT.

void org.gamecontrolplus.gui.MWindow.setAlpha ( int  alpha)
package

Set the alpha level for all controls on this window.
0 = fully transparent
255 = fully opaque
Controls are disabled when alpha gets below M4P.ALPHA_BLOCK (128)

Parameters
alpha0-255 inclusive
void org.gamecontrolplus.gui.MWindow.setColorScheme ( int  cs)
package

Set the colour scheme to be used by all controls on this window.

Parameters
cscolour scheme e.g. M4P.GREEN_SCHEME
void org.gamecontrolplus.gui.MWindow.unregisterMethods ( )
protected

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

Member Data Documentation

Object org.gamecontrolplus.gui.MWindow.closeHandlerObject = null
protected

The object to handle the window closing event

Method org.gamecontrolplus.gui.MWindow.closetHandlerMethod = null
protected

The method in closeHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.closetHandlerMethodName
protected

the name of the method to handle the event

Method org.gamecontrolplus.gui.MWindow.drawHandlerMethod = null
protected

The method in drawHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.drawHandlerMethodName
protected

the name of the method to handle the event

Object org.gamecontrolplus.gui.MWindow.drawHandlerObject = null
protected

The object to handle the draw event

Method org.gamecontrolplus.gui.MWindow.keyHandlerMethod = null
protected

The method in keyHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.keyHandlerMethodName
protected

the name of the method to handle the event

Object org.gamecontrolplus.gui.MWindow.keyHandlerObject = null
protected

The object to handle the key event

Method org.gamecontrolplus.gui.MWindow.mouseHandlerMethod = null
protected

The method in mouseHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.mouseHandlerMethodName
protected

the name of the method to handle the event

Object org.gamecontrolplus.gui.MWindow.mouseHandlerObject = null
protected

The object to handle the mouse event

Method org.gamecontrolplus.gui.MWindow.postHandlerMethod = null
protected

The method in postHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.postHandlerMethodName
protected

the name of the method to handle the event

Object org.gamecontrolplus.gui.MWindow.postHandlerObject = null
protected

The object to handle the post event

Method org.gamecontrolplus.gui.MWindow.preHandlerMethod = null
protected

The method in preHandlerObject to execute

String org.gamecontrolplus.gui.MWindow.preHandlerMethodName
protected

the name of the method to handle the event

Object org.gamecontrolplus.gui.MWindow.preHandlerObject = null
protected

The object to handle the pre event