package Demos.DatabaseDefinitions;

import ca.mb.armchair.DBAppBuilder.Beans.Query.*;
import ca.mb.armchair.DBAppBuilder.Beans.*;

public class Test extends Table {
    public static Field testnumber = new Field(Field.FieldType.INTEGER) {
        public void define() {
            setKey(0);
            setUnique(true);
            setPrompt("<html><b>Primary key</b>:</html>");
        }
    };
    public static Field dbcheckbox = new Field(Field.FieldType.BOOLEAN) {
        public void define() {
            setNull(true);
            setPrompt("DBCheckBox:");
        }
    };
    public static Field dbcombobox = new Field(Field.FieldType.VARCHAR, 20) {
        public void define() {
            setNull(true);
            setPrompt("DBComboBox:");
        }
    };
    public static Field dblabel = new Field(Field.FieldType.VARCHAR, 20) {
        public void define() {
            setNull(true);
            setPrompt("DBLabel:");
        }
    };
    public static Field dbpasswordfield = new Field(Field.FieldType.VARCHAR, 20) {
        public void define() {
            setNull(true);
            setPrompt("<html>This is a password field, whose prompt has been chosen<br>arbitrarily to demonstrate the <i>HTML</i> capabilities.  <font color=\"red\"><p>Enter password:</font></html>");
        }
    };
    public static Field dbradiobutton = new Field(Field.FieldType.BOOLEAN) {
        public void define() {
            setNull(true);
            setPrompt("DBRadioButton:");
        }
    };
    public static Field dbscrollbar = new Field(Field.FieldType.INTEGER) {
        public void define() {
            setNull(true);
            setPrompt("DBScrollBar:");
        }
    };
    public static Field dbtextfield = new Field(Field.FieldType.VARCHAR, 20) {
        public void define() {
            setNull(true);
            setPrompt("DBTextField:");
        }
    };
    public static Field dbtogglebutton = new Field(Field.FieldType.BOOLEAN) {
        public void define() {
            setNull(true);
            setPrompt("DBToggleButton:");
        }
    };
    public static Field dblist = new Field(Field.FieldType.VARCHAR, 20) {
        public void define() {
            setNull(true);
            setPrompt("DBList:");
        }
    };
    public static Field dbtextarea = new Field(Field.FieldType.TEXT) {
        public void define() {
            setNull(true);
            setPrompt("DBTextArea:");
        }
    };
    public static Field dbeditorpane = new Field(Field.FieldType.TEXT) {
        public void define() {
            setNull(true);
            setPrompt("DBEditorPane:");
        }
    };
    public static Field dbtextpane = new Field(Field.FieldType.TEXT) {
        public void define() {
            setNull(true);
            setPrompt("DBTextPane:");
        }
    };
    public static Field dbslider = new Field(Field.FieldType.INTEGER) {
        public void define() {
            setNull(true);
            setPrompt("DBSlider:");
        }
    };
    public static Field employee1 = new Field(Field.FieldType.INTEGER) {
        public void define() {
            setNull(true);
            setPrompt("Employee 1:");
        }
    };
    public static Field employee2 = new Field(Field.FieldType.INTEGER) {
        public void define() {
            setNull(true);
            setPrompt("Employee 2:");
        }
    };
    
    public Test() {
        setReference(new Reference[] 
            {new Reference(new ForeignKey(new Column(employee1), new Column(Employees.employee_no)), 
                new Employees(), Reference.ForeignKeyConstraint.CASCADE, Reference.ForeignKeyConstraint.CASCADE),
             new Reference(new ForeignKey(new Column(employee2), new Column(Employees.employee_no)), 
                new Employees(), Reference.ForeignKeyConstraint.CASCADE, Reference.ForeignKeyConstraint.CASCADE)});
    }
}
