001 package videoautomat;
002 import java.awt.Rectangle;
003
004 import sale.Action;
005 import sale.FormSheet;
006 import sale.FormSheetContentCreator;
007 import sale.SaleProcess;
008 import sale.SalesPoint;
009 import videoautomat.gui.Global;
010
011 /**
012 * This class is an implementation of a <code>SalesPoint</code>, at which all the user
013 * activities take place.
014 *
015 */
016 public class VideoAutomat extends SalesPoint {
017 /**
018 * The Constructor of VideoAutomat
019 *
020 */
021 public VideoAutomat() {
022 super(Global.CAPTION_AUTOMAT);
023 setSalesPointFrameBounds(new Rectangle(0, 0, 640, 480));
024 }
025
026 /**
027 * @return the default <code>FormSheet</code> shown whenever no process is running.
028 * @see sale.SalesPoint#getDefaultFormSheet()
029 */
030 protected FormSheet getDefaultFormSheet() {
031 FormSheet fs =
032 Global.getStartFormSheet(
033 VideoShop.getVideoStock(),
034 null,
035 false,
036 new TEDVideoStock());
037 fs.addContentCreator(new FormSheetContentCreator() {
038 protected void createFormSheetContent(FormSheet sheet) {
039 sheet.getButton(Global.FB_LOGON).setAction(new Action() {
040 public void doAction(SaleProcess process, SalesPoint point)
041 throws Throwable {
042 point.runProcess(new SaleProcessLogOn());
043 }
044 });
045 }
046 });
047 return fs;
048 }
049
050 }