001 package sale; 002 003 import javax.swing.*; 004 005 /** 006 * An object that can contain and display {@link FormSheet FormSheets}. FormSheetContainers are usually also 007 * {@link Display displays}. The two interfaces FormSheetContainer and Display are two sides of one coin, 008 * with Display being the view of the application developer and FormSheetContainer the framework (i.e. 009 * FormSheet) view. 010 * 011 * @author Steffen Zschaler 012 * @version 2.0 21/05/1999 013 * @since v2.0 014 */ 015 public interface FormSheetContainer { 016 017 /** 018 * Close a FormSheet. 019 * 020 * <p>Closing a FormSheet must hide all the GUI elements that stem from displaying the 021 * FormSheet. It must then {@link FormSheet#detachDisplay detach} this display 022 * from the FormSheet. Any {@link Display#setFormSheet} calls waiting for this FormSheet to 023 * be closed, must be unblocked.</p> 024 * 025 * @override Always 026 * 027 * @param fs the FormSheet to be closed. 028 */ 029 public void closeFormSheet(FormSheet fs); 030 031 /** 032 * Notification event informing about a change of a FormSheet's caption. 033 * 034 * @override Always 035 * 036 * @param fs the FormSheet whose caption changed. 037 * @param sNewCaption the new caption of the FormSheet. 038 */ 039 public void onFormSheetCaptionChanged(FormSheet fs, String sNewCaption); 040 041 /** 042 * Notification event informing about a change of a FormSheet's component. 043 * 044 * @override Always 045 * 046 * @param fs the FormSheet whose component changed. 047 * @param jcmpNew the new component of the FormSheet. 048 */ 049 public void onFormSheetComponentChanged(FormSheet fs, JComponent jcmpNew); 050 051 /** 052 * Notification event informing that a button was added to the FormSheet's button bar. 053 * 054 * @override Always 055 * 056 * @param fs the FormSheet whose button bar changed. 057 * @param fb the button that was added to the FormSheet. 058 */ 059 public void onFormSheetButtonAdded(FormSheet fs, FormSheet.FormButton fb); 060 061 /** 062 * Notification event informing that a button was removed from the FormSheet's button bar. 063 * 064 * @override Always 065 * 066 * @param fs the FormSheet whose button bar changed. 067 * @param fb the button that was removed from the FormSheet. 068 */ 069 public void onFormSheetButtonRemoved(FormSheet fs, FormSheet.FormButton fb); 070 071 /** 072 * Notification event informing that all buttons were removed from a FormSheet's button bar. 073 * 074 * @override Always 075 * 076 * @param fs the FormSheet whose button bar was cleared. 077 */ 078 public void onFormSheetButtonsCleared(FormSheet fs); 079 }