/*
* Copyright 1996 Jan Newmarch, University of Canberra.
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
* fee is hereby granted, provided that the above copyright
* notice appear in all copies. The author
* makes no representations about the suitability of this
* software for any purpose. It is provided "as is" without
* express or implied warranty.
*/
package awtCommand;
import java.awt.*;
public class CPanel extends Panel {
protected Command gotFocusCommand = null,
lostFocusCommand = null;
protected Command mouseDownCommand = null,
mouseDragCommand = null,
mouseEnterCommand = null,
mouseExitCommand = null,
mouseMoveCommand = null,
mouseUpCommand = null;
protected Command keyUpCommand = null,
keyDownCommand = null;
protected Command actionCommand = null;
protected Command scrollAbsoluteCommand = null,
lineDownCommand = null,
lineUpCommand = null,
pageDownCommand = null,
pageUpCommand = null;
protected Command selectCommand = null,
deselectCommand = null;
/**
* Constructs a new CPanel.
*/
public CPanel() {
super();
}
/**
* Handles the event.
* Calls methods for variousL events and passes
* others to its superclass method.
*/
public boolean handleEvent(Event evt) {
switch (evt.id) {
case Event.SCROLL_ABSOLUTE:
return scrollAbsolute(evt, evt.arg);
case Event.SCROLL_LINE_DOWN:
return lineDown(evt, evt.arg);
case Event.SCROLL_LINE_UP:
return lineUp(evt, evt.arg);
case Event.SCROLL_PAGE_DOWN:
return pageDown(evt, evt.arg);
case Event.SCROLL_PAGE_UP:
return pageUp(evt, evt.arg);
case Event.LIST_SELECT:
return select(evt, evt.arg);
case Event.LIST_DESELECT:
return deselect(evt, evt.arg);
default:
return super.handleEvent(evt);
}
}
/*
* event handling methods
*/
/**
* Called if the window gains focus. This results in a call to
* the gotFocusCommand object with what
set to null.
*/
public boolean gotFocus(Event evt, Object what) {
if (gotFocusCommand != null)
gotFocusCommand.execute(this, evt, what);
return false;
}
/**
* Called if the window loses focus. This results in a call to
* the lostFocusCommand object with what
set to null.
*/
public boolean lostFocus(Event evt, Object what) {
if (lostFocusCommand != null)
lostFocusCommand.execute(this, evt, what);
return false;
}
/**
* Called if the mouse is down.
* This results in a call to the mouseDownCommand object with
* what
set to Point(x, y)
*/
public boolean mouseDown(Event evt, int x, int y) {
if (mouseDownCommand != null)
mouseDownCommand.execute(this, evt, new Point(x, y));
return false;
}
/**
* Called if the mouse is dragged.
* This results in a call to the mouseDragCommand object with
* what
set to Point(x, y)
*/
public boolean mouseDrag(Event evt, int x, int y) {
if (mouseDragCommand != null)
mouseDragCommand.execute(this, evt, new Point(x, y));
return false;
}
/**
* Called if the mouse enters the window.
* This results in a call to the mouseEnterCommand object with
* what
set to Point(x, y)
*/
public boolean mouseEnter(Event evt, int x, int y) {
if (mouseEnterCommand != null)
mouseEnterCommand.execute(this, evt, new Point(x, y));
return false;
}
/**
* Called if the mouse moves inside the window.
* This results in a call to the mouseMoveCommand object with
* what
set to Point(x, y)
*/
public boolean mouseMove(Event evt, int x, int y) {
if (mouseExitCommand != null)
mouseExitCommand.execute(this, evt, new Point(x, y));
return false;
}
/**
* Called if the mouse is up.
* This results in a call to the mouseUpCommand object with
* what
set to Point(x, y)
*/
public boolean mouseUp(Event evt, int x, int y) {
if (mouseUpCommand != null)
mouseUpCommand.execute(this, evt, new Point(x, y));
return false;
}
/**
* Called if a character is pressed.
* This results in a call to the keyDownCommand object with
* what
set to Integer(key).
*/
public boolean keyDown(Event evt, int key) {
if (keyDownCommand != null)
keyDownCommand.execute(this, evt, new Integer(key));
return false;
}
/**
* Called if a character is released.
* This results in a call to the keyUpCommand object with
* what
set to Integer(key).
*/
public boolean keyUp(Event evt, int key) {
if (keyUpCommand != null)
keyUpCommand.execute(this, evt, new Integer(key));
return false;
}
/**
* Called when an ACTION_EVENT is generated.
* This results in a call to the actionCommand object
* with what
set to the event's arg.
*/
public boolean action(Event evt, Object what) {
if (actionCommand != null)
actionCommand.execute(this, evt, what);
return false;
}
/**
* Called when a scrollbar is dragged.
* This results in a call to the scrollAbsoluteCommand object
* with what
set to the slider location value.
*/
public boolean scrollAbsolute(Event evt, Object what) {
if (scrollAbsoluteCommand != null)
scrollAbsoluteCommand.execute(this, evt, what);
return false;
}
/**
* Called when a scrollbar is incremented down.
* This results in a call to the lineDownCommand object
* with what
set to the slider location value.
*/
public boolean lineDown(Event evt, Object what) {
if (lineDownCommand != null)
lineDownCommand.execute(this, evt, what);
return false;
}
/**
* Called when a scrollbar is incremented up.
* This results in a call to the lineUpCommand object
* with what
set to the slider location value.
*/
public boolean lineUp(Event evt, Object what) {
if (lineUpCommand != null)
lineUpCommand.execute(this, evt, what);
return false;
}
/**
* Called when a scrollbar pages up.
* This results in a call to the pageUpCommand object
* with what
set to the slider location value.
*/
public boolean pageUp(Event evt, Object what) {
if (pageUpCommand != null)
pageUpCommand.execute(this, evt, what);
return false;
}
/**
* Called when a scrollbar pages down.
* This results in a call to the pageDownCommand object
* with what
set to the slider location value.
*/
public boolean pageDown(Event evt, Object what) {
if (pageDownCommand != null)
pageDownCommand.execute(this, evt, what);
return false;
}
/**
* Called if the mouse selects an item in a List.
* This results in a call to the selectCommand object
* with what
set to the selected index.
*/
public boolean select(Event evt, Object what) {
if (selectCommand != null)
selectCommand.execute(this, evt, what);
return false;
}
/**
* Called if the mouse deselects an item in a List.
* This results in a call to the deselectCommand object
* with what
set to the deselected index.
*/
public boolean deselect(Event evt, Object what) {
if (deselectCommand != null)
deselectCommand.execute(this, evt, what);
return false;
}
/*
* set...Command methods
*/
/**
* Sets the mouseDownCommand object.
*/
public void setMouseDownCommand(Command c) {
mouseDownCommand = c;
}
/**
* Sets the moueDragCommand object.
*/
public void setMouseDragCommand(Command c) {
mouseDragCommand = c;
}
/**
* Sets the mouseEnterCommand object.
*/
public void setMouseEnterCommand(Command c) {
mouseEnterCommand = c;
}
/**
* Sets the mouseExitCommand object.
*/
public void setMouseExitCommand(Command c) {
mouseExitCommand = c;
}
/**
* Sets the mouseMoveCommand object.
*/
public void setMouseMoveCommand(Command c) {
mouseMoveCommand = c;
}
/**
* Sets the mouseUpCommand object.
*/
public void setMouseUpCommand(Command c) {
mouseUpCommand = c;
}
/**
* Sets the keyDownCommand object.
*/
public void setKeyDownCommand(Command c) {
keyDownCommand = c;
}
/**
* Sets the keyUpCommand object.
*/
public void setKeyUpCommand(Command c) {
keyUpCommand = c;
}
/**
* Sets the actionCommand object.
*/
public void setActionCommand(Command action) {
actionCommand = action;
}
/**
* Sets the scrollAbsoluteCommand.
*/
public void setScrollAbsoluteCommand(Command c) {
scrollAbsoluteCommand = c;
}
/**
* Sets the lineUpCommand.
*/
public void setLineUpCommand(Command c) {
lineUpCommand = c;
}
/**
* Sets the lineDownCommand.
*/
public void setLineDownCommand(Command c) {
lineDownCommand = c;
}
/**
* Sets the pageUpCommand.
*/
public void setPageUpCommand(Command c) {
pageUpCommand = c;
}
/**
* Sets the pageDownCommand.
*/
public void setPageDownCommand(Command c) {
pageDownCommand = c;
}
/**
* Sets the selectCommand.
*/
public void setSelectCommand(Command select) {
selectCommand = select;
}
/**
* Sets the deselectCommand.
*/
public void setDeselectCommand(Command deselect) {
deselectCommand = deselect;
}
}