001 /* PAVLOV -- Multiple Choice Study System 002 * Copyright (C) 2000 - 2004 T.J. Willis 003 * 004 * This program is free software; you can redistribute it and/or 005 * modify it under the terms of the GNU General Public License 006 * as published by the Free Software Foundation; either version 2 007 * of the License, or (at your option) any later version. 008 * 009 * This program is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 * GNU General Public License for more details. 013 * 014 * You should have received a copy of the GNU General Public License 015 * along with this program; if not, write to the Free Software 016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. 017 * 018 * $Header: /cvsroot/pavlov/net/sourceforge/pavlov/main/AbstractUIFactory.java,v 1.7 2004/06/27 08:11:20 tj_willis Exp $ 019 */ 020 package net.sourceforge.pavlov.main; 021 022 import javax.swing.*; 023 import net.sourceforge.pavlov.event.*; 024 import net.sourceforge.pavlov.library.*; 025 import net.sourceforge.pavlov.user.*; 026 import org.apache.log4j.*; 027 028 029 /** 030 * Defines user-interface tasks required by AbstractPavlovApplication. 031 * 032 * @author <a href="mailto:tj_willis@users.sourceforge.net">T.J. Willis</a> 033 * @version 1.0 034 */ 035 public abstract class AbstractUIFactory 036 { 037 // FIXME: make this an interface 038 /** 039 * Describe <code>confirmQuit</code> method here. 040 * 041 * @return a <code>boolean</code> value 042 */ 043 public abstract boolean confirmQuit(); 044 045 /** 046 * Describe <code>createQuizSelector</code> method here. 047 * 048 * @param user an <code>User</code> value 049 * @param library an <code>AbstractLibrary</code> value 050 */ 051 public abstract void createQuizSelector (User user, AbstractLibrary library); 052 /** 053 * Describe <code>startQuiz</code> method here. 054 * 055 * @param user an <code>User</code> value 056 * @param library an <code>AbstractLibrary</code> value 057 */ 058 public abstract void startQuiz(User user, ChapterReference ref); 059 060 /** 061 * Describe <code>closeSplashScreen</code> method here. 062 * 063 */ 064 public abstract void closeSplashScreen(); 065 /** 066 * Describe <code>setStatus</code> method here. 067 * 068 * @param x an <code>int</code> value 069 * @param msg a <code>String</code> value 070 */ 071 public abstract void setStatus(int x, String msg) ; 072 073 /** 074 * Describe <code>showIncorrectDialog</code> method here. 075 * 076 * @param msg a <code>String</code> value 077 */ 078 public abstract void showIncorrectDialog(String msg); 079 080 public abstract void showLoginController(LogonListener lis); 081 082 /** 083 * Describe <code>showFileChooser</code> method here. 084 * 085 * @param chooser a <code>JFileChooser</code> value 086 * @param openMode a <code>boolean</code> value 087 * @return an <code>int</code> value 088 */ 089 public abstract int showFileChooser(JFileChooser chooser, boolean openMode); 090 }