/* * @(#)PageEvent.java * * Copyright 2002 - 2003 JIDE Software Inc. All rights reserved. */ package com.jidesoft.dialog; import java.awt.*; import java.util.EventObject; /** * An <code>EventObject</code> that adds support for <code>AbstractPage</code> objects as the event source. */ public class PageEvent extends EventObject { private static final long serialVersionUID = 3505923526872133295L; /** * The first number in the range of IDs used for <code>AbstractPage</code> events. */ public static final int PAGE_EVENT_FIRST = AWTEvent.RESERVED_ID_MAX + 1200; /** * The last number in the range of IDs used for <code>AbstractPage</code> events. */ public static final int PAGE_EVENT_LAST = PAGE_EVENT_FIRST + 4; /** * This event is delivered when the the data becomes invalid. */ public static final int PAGE_OPENED = PAGE_EVENT_FIRST; /** * This event is delivered when the page is about to close. This event can be listened if you want to do some * validation on the page before it is closed. If it fails the validation, you can call * <code>AbstractPage#setAllowClosing(false)</code> to stop the closing process. The source of the event will tell * you which button originated the page closing event. For example, in the Wizard, the next button, the previous * button, the cancel button or the finish button all can trigger page closing event. The event's source will be the * actual button. You can call button.getName() and compare it with the predefined button names defined in {@link * ButtonNames} to find out which button it is. */ public static final int PAGE_CLOSING = 1 + PAGE_EVENT_FIRST; /** * This event is delivered when the page is closed. */ public static final int PAGE_CLOSED = 2 + PAGE_EVENT_FIRST; private int _id; /** * Constructs an <code>AbstractPageEvent</code> object. * * @param source the <code>AbstractPage</code> object that originated the event * @param id an integer indicating the type of event */ public PageEvent(Object source, int id) { super(source); _id = id; } /** * Returns the event type. * * @return event id. */ public int getID() { return _id; } /** * Sets the event type. * * @param id the new event type. */ public void setID(int id) { _id = id; } /** * Returns a parameter string identifying this event. This method is useful for event logging and for debugging. * * @return a string identifying the event and its attributes */ public String paramString() { String typeStr; switch (getID()) { case PAGE_OPENED: typeStr = "PAGE_OPENED"; break; case PAGE_CLOSING: typeStr = "PAGE_CLOSING"; break; case PAGE_CLOSED: typeStr = "PAGE_CLOSED"; break; default: typeStr = "PAGE_EVENT_UNKNOWN"; } return typeStr; } @Override public String toString() { return "PageEvent{" + "id=" + paramString() + "}"; } }