001 import sale.*;
002 import data.ooimpl.*;
003 import data.stdforms.*;
004
005
006 /**
007 * Erzeugt eine Tabelle, sowie notwendige Buttons für die
008 * Angebotsanzeige.
009 */
010 public class DefaultCounterFormCreator extends FormSheetContentCreator
011 {
012
013 //// constructor ///////////////////////////////////////////////////////////
014
015 /**
016 * Konstruktor.
017 */
018 public DefaultCounterFormCreator()
019 {
020 super();
021 }
022
023
024 //// public methods ///////////////////////////////////////////////////////
025
026
027 /**
028 * Erzeugt den <CODE>FormSheetContent</CODE>, also Tabelle(n) und
029 * Buttons. Als Parameter wird das zu bearbeitende <CODE>FormSheet</CODE>
030 * übergeben.
031 */
032 public void createFormSheetContent(FormSheet map)
033 {
034
035 // heraussuchen des Videobestandes zur Darstellung in der Tabelle
036 CountingStockImpl cs =
037 (CountingStockImpl)Shop.getTheShop().getStock("Video-Countingstock");
038
039 // erstellen des FormSheets mit der Tabelle des Bestandes als Inhalt
040 FormSheet fs = SingleTableFormSheet.create("Available Videocassettes",
041 cs, null, new OfferTED(false));
042
043 // die Tabelle holen und dem uebergebenen FormSheet als Komponente zuweisen
044 map.setComponent(fs.getComponent());
045
046 // alle Buttons entfernen
047 map.removeAllButtons();
048
049 map.addButton ("rent", 1,
050 new sale.Action()
051 {
052 public void doAction(SaleProcess p, SalesPoint s)
053 {
054 // Code zum Ausfuehren des Verleihvorgangs
055 s.runProcess(new RentProcess());
056 }
057 }
058 );
059
060 map.addButton ("give back", 2,
061 new sale.Action()
062 {
063 public void doAction(SaleProcess p, SalesPoint s)
064 {
065 //Code zum Ausfuehren des Rueckgabevorgangs
066 s.runProcess(new GiveBackProcess());
067 }
068 }
069 );
070 }
071
072 }