001 /* 002 Copyright (C) 2001-2003 Laurent Martelli <laurent@aopsys.com> 003 004 This program is free software; you can redistribute it and/or modify 005 it under the terms of the GNU Lesser General Public License as 006 published by the Free Software Foundation; either version 2 of the 007 License, or (at your option) any later version. 008 009 This program is distributed in the hope that it will be useful, but 010 WITHOUT ANY WARRANTY; without even the implied warranty of 011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 Lesser General Public License for more details. 013 014 You should have received a copy of the GNU Lesser General Public 015 License along with this program; if not, write to the Free Software 016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 017 USA */ 018 019 package org.objectweb.jac.aspects.gui; 020 021 import org.objectweb.jac.core.Display; 022 import java.util.Collection; 023 024 /** 025 * Defines a display which contains customized GUI windows. 026 * 027 * <p>A display is an GUI entity that is used by the program to 028 * interact with the GUI users. 029 */ 030 public interface CustomizedDisplay extends Display { 031 /** 032 * Returns a CustomizedView identified by its id 033 * 034 * @param customizedID the id of the CustomizedView 035 * @return the customized if exists, null otherwise 036 */ 037 CustomizedView getCustomizedView(String customizedID); 038 039 /** 040 * Returns a collection of all CustomizedViews contained in the display. 041 * 042 * @return all the customized of the display 043 */ 044 Collection getCustomizedViews(); 045 046 /** 047 * Returns the ViewFactory of the display. 048 * 049 * <p>A view factory implements the creation methods for different 050 * visualisation supports (e.g. SWING, WEB, ...). 051 * 052 * @return the factory that is used for this display 053 */ 054 ViewFactory getFactory(); 055 056 /** 057 * Add a dialog to the list of timedout dialogs 058 * @param dialog the timedout dialog 059 */ 060 void addTimedoutDialog(DialogView dialog); 061 062 /** 063 * Close a window. 064 * 065 * @param window view window to close 066 * @param validate wether to validate values in editors 067 */ 068 void closeWindow(View window, boolean validate); 069 070 }