001 package sale.events; 002 003 import java.util.EventObject; 004 005 import sale.FormSheet; 006 import sale.Display; 007 008 /** 009 * An EventObject describing a FormSheet that was set or closed at a Display. 010 * 011 * @see sale.FormSheet 012 * @see sale.Display 013 * 014 * @author Steffen Zschaler 015 * @version 2.0 27/05/1999 016 * @since v2.0 017 */ 018 public class FormSheetEvent extends EventObject { 019 020 /** 021 * ID for Serialization. 022 */ 023 private static final long serialVersionUID = -8686843900758311771L; 024 025 /** 026 * The FormSheet that was affected by the event. 027 * 028 * @serial 029 */ 030 private FormSheet m_fsFormSheet; 031 032 /** 033 * Was the event caused by an explicit call to the responsible method or was it caused indirectly? 034 * 035 * @serial 036 */ 037 private boolean m_fExplicit; 038 039 /** 040 * Create a new FormSheetEvent. 041 * 042 * @param src the Display originating the event. 043 * @param fs the FormSheet that was affected by the event. 044 * @param fExplicit was the event caused by a direct call to the originating method or indirectly? 045 */ 046 public FormSheetEvent(Display src, FormSheet fs, boolean fExplicit) { 047 super(src); 048 049 m_fsFormSheet = fs; 050 m_fExplicit = fExplicit; 051 } 052 053 /** 054 * Get the affected FormSheet. 055 * 056 * @override Never 057 */ 058 public FormSheet getFormSheet() { 059 return m_fsFormSheet; 060 } 061 062 /** 063 * Was the event caused by a direct call to the originating method or indirectly? 064 * 065 * <p><code>formSheetSet</code> events are always considered explicit. In contrast, 066 * <code>formSheetRemoved</code> events are explicit only if they were originated as the consequence 067 * of a call to <code>closeFormSheet</code> or <code>setFormSheet (<b>null</b>)</code>. FormSheet 068 * removals that were caused by setting another FormSheet are not considered explicit.</p> 069 * 070 * @override Never 071 */ 072 public boolean isExplicit() { 073 return m_fExplicit; 074 } 075 }