#ifdef CAD // 22-05-1998 KTH
/*  $Revision$
 *  $Id$
 */

CREATE_TABLE(cad_tekening, 0)
(
    cad_tekening_key
        NUMBER(10)
        CONSTRAINT cad_k_cad_tekening_key PRIMARY KEY,
    ins_discipline_key /* reserved for future use */
        NUMBER(10)
        CONSTRAINT cad_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key),
    alg_locatie_key
        NUMBER(10)
        NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key)
        CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
     alg_verdieping_key
        NUMBER(10)
        CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key) ON DELETE CASCADE,
    cad_tekening_filenaam
        VARCHAR2(256)
        NOT_NULL(cad_tekening_filenaam, cad_c_cad_tekening_filenaam),
    cad_tekening_type
        VARCHAR2(3)
        NOT_NULL (cad_tekening_type, cad_c_cad_tekening_type)
        CONSTRAINT cad_c_cad_tekening_type2 CHECK (cad_tekening_type = 'P' OR cad_tekening_type = 'C'),
    cad_tekening_geimporteerd
        DATE,
    cad_tekening_aanmaak
        DATE
        DEFAULT SYSDATE
        CONSTRAINT cad_c_cad_tekening_aanmaak NOT NULL,
    cad_tekening_verwijder
        DATE,
    CONSTRAINT cad_u_cad_tekening UNIQUE(alg_locatie_key,alg_verdieping_key,cad_tekening_type,ins_discipline_key, cad_tekening_verwijder)
);


/* Algemeen bruikbare legenda's en bijbehorende waarde/kleur */
CREATE_TABLE(cad_legenda,0)
(
    cad_legenda_key
        NUMBER(10) PRIMARY KEY,
    cad_legenda_omschrijving
        VARCHAR2(32),
    cad_legenda_discreet        /* null=continu, notnull=discreet*/
        NUMBER(1)
);

CREATE_TABLE(cad_legendawaarde,0)
(
    cad_legendawaarde_key
        NUMBER(10) PRIMARY KEY,
    cad_legenda_key
        NUMBER (10) CONSTRAINT cad_r_cad_legenda REFERENCES cad_legenda(cad_legenda_key) ON DELETE CASCADE,
    cad_legendawaarde_value
        VARCHAR2(255),
    cad_legendawaarde_rgb
        VARCHAR2(10),
    cad_legendawaarde_omschr
        VARCHAR2(60)
);


/* Welke thema's -kleur of label- zijn gedefinieerd?
 *      _type: bitwise codering:
 * bit 0 (1) is gezet voor 'binnen'
 * bit 1 (2) is gezet voor 'buiten'. (bit 0 en 1 mogen niet beide gezet zijn en ook niet beide leeg zijn)
 * bit 2 (4) is gezet voor projectomgeving (0 is actuele situatie)
 * bit 3/4 (8-16) geven aan:
 *   00 het gaat over contouren      (alg_ruimte_key/prj_ruimte_key/alg_terreinsector_key is gezet). Backward compatible
 *   01 het gaat over werkplekken    (prs_werkplek_key/ prj_werkplek_key is gezet)
 *   11 het gaat over symbolen       (ins_deel_key/prj_deel_key is gezet)
 * bit 5 (32) is gereserveerd
 * bit 6 (64) is gereserveerd
 * bit 7 (128) is gezet voor 'draggable', dan kan dit thema worden gebruikt om te muteren (FSN#14942).
 * De optionele onclick_url wordt (vooralsnog) gebruikt in de touch-omgevingen (FSN#31594), aangevuld met de key (afh type)
 */

CREATE_TABLE(cad_thema,0)
(
    cad_thema_key
        NUMBER(10) PRIMARY KEY,
    cad_thema_omschrijving
        VARCHAR2(60)
        NOT_NULL(cad_thema_omschrijving, cad_c_cad_thema_omschr),
    cad_legenda_key
        NUMBER(10)
        CONSTRAINT cad_r_cad_legenda_key REFERENCES cad_legenda(cad_legenda_key),
    cad_thema_view
        VARCHAR2(1000)
        NOT_NULL(cad_thema_view, cad_c_cad_thema_view),
    cad_thema_type
        VARCHAR2(3)
        CONSTRAINT cad_c_cad_thema_type CHECK (cad_thema_type BETWEEN 1 AND 255),
    fac_functie_key
        NUMBER(10)
        CONSTRAINT cad_fac_functie_key1 REFERENCES fac_functie(fac_functie_key),
    cad_thema_onclick_url
        VARCHAR2(512)
);

CREATE_TABLE(cad_label,0)
(
    cad_label_key
        NUMBER(10) PRIMARY KEY,
    cad_label_omschrijving
        VARCHAR2(60)
        NOT_NULL(cad_label_omschrijving, cad_c_cad_label_omschr),
    cad_label_view
        VARCHAR2(1000)
        NOT_NULL(cad_label_view, cad_c_cad_label_view),
    cad_label_type
        VARCHAR2(3)
        CONSTRAINT cad_c_cad_label_type CHECK (cad_label_type BETWEEN 1 AND 31),
    cad_label_size
        NUMBER,
    fac_functie_key
        NUMBER(10)
        CONSTRAINT cad_fac_functie_key2 REFERENCES fac_functie(fac_functie_key),
    cad_label_visible
        NUMBER(1)
        DEFAULT 1
        NOT NULL
        CONSTRAINT cad_c_cad_label_visible CHECK (cad_label_visible IN (0,1))
);

CREATE_TABLE(cad_imp_contour,0)
(
    cad_imp_contour_key
        NUMBER(10) PRIMARY KEY,
    cad_tekening_key
        NUMBER(10)
        CONSTRAINT cad_r_cad_tekening_key REFERENCES cad_tekening(cad_tekening_key) ON DELETE CASCADE,
    cad_imp_contour_nr
        VARCHAR2(30),
    cad_imp_contour_opp
        NUMBER(9,2),
    cad_imp_contour_opp_alt1
        NUMBER(9,2),
    cad_imp_contour_opp_alt2
        NUMBER(9,2),
    ins_discipline_key /* reserved for future use: required if we scan object contours */
        NUMBER(10)
        CONSTRAINT cad_r_ins_discipline_key2 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE,
    cad_imp_contour_concept
        NUMBER(1)       -- valid are 0, 1
        DEFAULT 0
-- in PRJ_TAB.SRC:
--  prj_scenario_key
--      NUMBER(10) REFERENCES prj_scenario(prj_scenario_key) ON DELETE CASCADE
);

REGISTERONCE('$Id$')

#endif  // CAD
