CREATE OR REPLACE PACKAGE BODY GUI AS PROCEDURE openBlankPage ( title varchar2 default default_Title, bgcol varchar2 default bg_Colour, text varchar2 default text_Colour, link varchar2 default link_Colour, vlink varchar2 default vlink_Colour, alink varchar2 default alink_Colour, javasrc varchar2 default null, other varchar2 default null) IS BEGIN htp.print(''); htp.print('' || title || ''); IF javasrc IS NOT NULL THEN htp.print(''); END IF; htp.print(''); htp.print(''); END; PROCEDURE closeBlankPage IS BEGIN htp.print(''); END; PROCEDURE addNormalText ( text varchar2) IS BEGIN htp.print(text); END; PROCEDURE addText ( text varchar2) IS BEGIN htp.print('

' || text || '

'); htp.print('
'); END; PROCEDURE addLineBreak IS BEGIN htp.print('
'); END; PROCEDURE openForm ( action varchar2, method varchar2 default 'GET', other varchar2 default null) IS BEGIN htp.print('
'); END; PROCEDURE closeForm IS BEGIN htp.print('
'); END; PROCEDURE openTable ( width varchar2 default '100%', border varchar2 default '0', other varchar2 default null) IS BEGIN htp.print(''); END; PROCEDURE closeTable IS BEGIN htp.print('
'); END; PROCEDURE openTableRow( indice number default '2', colour varchar2 default RowColour, other varchar2 default null) IS BEGIN IF (tableColour(indice) = true) THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE closeTableRow IS BEGIN htp.print(''); END; PROCEDURE openTableCell ( align varchar2 default 'left', valign varchar2 default 'middle', width varchar2 default null, other varchar2 default null) IS BEGIN IF width = null THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE closeTableCell IS BEGIN htp.print(''); END; PROCEDURE addTitleCell( title varchar2, colourC varchar2 default colourCell, colourT varchar2 default colourText, head boolean default false, align varchar2 default 'left', valign varchar2 default 'middle', width varchar2 default null, links varchar2 default null, other varchar2 default null) IS BEGIN IF width IS NULL THEN IF head = true THEN htp.print(''); ELSE htp.print(''); END IF; ELSE IF head = true THEN htp.print(''); ELSE htp.print(''); END IF; END IF; IF head = true THEN htp.print(''); if links is not null then htp.print('' || title || ' '); else htp.print(title || ''); end if; ELSE htp.print(''); if links is not null then htp.print('' || title || ' '); else htp.print(title || ''); end if; END IF; htp.print(''); END; PROCEDURE addTextCell ( text varchar2, align varchar2 default 'left', valign varchar2 default 'middle', width varchar2 default null, colour varchar2 default null, other varchar2 default null) IS BEGIN IF width IS NULL THEN htp.print(''); ELSE htp.print(''); END IF; IF colour IS NOT NULL THEN GUI.openColour(colour); END IF; htp.print(text); IF colour IS NOT NULL THEN GUI.closeColour; END IF; htp.print(''); END; PROCEDURE addCommentCell ( comment varchar2, align varchar2 default 'left', valign varchar2 default 'middle', width varchar2 default null) IS BEGIN IF width IS NULL THEN htp.print(''); ELSE htp.print(''); END IF; htp.print('' || comment || ''); htp.print(''); END; PROCEDURE addTextBox ( name varchar2, length number default maxTextLength, defval varchar2 default null, readonly boolean default false, thesize number default maxTextBoxSize, other varchar2 default null) IS BEGIN IF defval IS NULL THEN htp.print(''); ELSE htp.print('>'); END IF; END; PROCEDURE addTextBoxChars ( name varchar2, length number default maxTextLength, defval varchar2 default null, thesize number default maxTextBoxSize) IS BEGIN openScript(urlNumScript); closeScript; IF defval IS NULL THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE addPassword ( name varchar2, length number default maxTextLength) IS BEGIN htp.print(''); END; PROCEDURE addCheckBox ( name varchar2, value varchar2 default 'ON', active boolean default FALSE, other varchar2 default null) IS BEGIN IF active = TRUE THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE addRadioButton ( name varchar2, value varchar2, label varchar2, selected boolean default FALSE, other varchar2 default null) IS BEGIN IF selected = TRUE THEN htp.print('' || label); ELSE htp.print('' || label); END IF; END; PROCEDURE openSelect ( name varchar2, other varchar2 default null) IS BEGIN htp.print(''); END; PROCEDURE addOption ( value varchar2, label varchar2, selected boolean default FALSE) IS BEGIN IF selected = FALSE THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE closeSelect IS BEGIN htp.print(''); END; PROCEDURE addTextArea ( name varchar2, value varchar2 default null, nrows number default defTextAreaRows, ncols number default defTextAreaCols, readonly boolean default false, other varchar2 default null) IS BEGIN htp.print(''); END; PROCEDURE addSimpleButton ( label varchar2, name varchar2 default null, other varchar2 default null) IS BEGIN IF name IS NULL THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE addSubmitButton ( label varchar2, name varchar2 default null, other varchar2 default null) IS BEGIN IF name IS NULL THEN htp.print(''); ELSE htp.print(''); END IF; END; PROCEDURE addResetButton ( label varchar2, other varchar2 default null) IS BEGIN htp.print(''); END; PROCEDURE addHiddenField ( name varchar2, value varchar2 default null, other varchar2 default null) IS BEGIN htp.print(''); END; PROCEDURE addLink ( url varchar2, name varchar2, newwnd boolean default FALSE, bold boolean default FALSE, colour varchar2 default null) IS BEGIN htp.print(''); IF bold THEN htp.print(''); END IF; IF colour IS NOT NULL THEN GUI.openColour(colour); END IF; htp.print (name); IF colour IS NOT NULL THEN GUI.closeColour; END IF; IF bold THEN htp.print(''); END IF; htp.print(''); END; PROCEDURE openList IS BEGIN htp.print(''); END; PROCEDURE writeText ( string varchar2, bold boolean default false, italic boolean default false, undersc boolean default false) IS BEGIN IF bold THEN htp.print(''); END IF; IF italic THEN htp.print(''); END IF; IF undersc THEN htp.print(''); END IF; htp.print(string); IF undersc THEN htp.print(''); END IF; IF italic THEN htp.print(''); END IF; IF bold THEN htp.print(''); END IF; END; PROCEDURE openCenter IS BEGIN htp.print('
'); END; PROCEDURE closeCenter IS BEGIN htp.print('
'); END; PROCEDURE openScript ( url varchar2 default null) IS BEGIN IF url IS NULL THEN htp.print(''); END; PROCEDURE addToolbar ( sessione varchar2, urlMenu varchar2 default urlMainPage) IS laSessione varchar2(50); BEGIN openForm(urlMenu); htp.print ('
'); htp.print (''); htp.print(''); --htp.print (''); htp.print('
'); laSessione := getSession(sessione); addHiddenField(user_field,laSessione); addLineBreak; addTextCell(''); addTextCell(''); addTextCell(''); openTableCell(); addSubmitButton('Home'); closeTableCell; closeForm; openForm(urlHelp); laSessione := getSession(sessione); addHiddenField(user_field,laSessione); openTableCell(align=>'right'); addSubmitButton('Help'); closeTableCell; addTextCell(''); addTextCell(''); addTextCell(''); htp.print ('
'); closeForm; END; PROCEDURE addParagraph ( text varchar2, header number, colour varchar2 default text_Colour) IS BEGIN htp.print (''); htp.print (text); htp.print (''); END; PROCEDURE addHeader IS BEGIN htp.print(''); htp.print('
'); htp.print('

Laboratorio Basi di Dati 2005-2006

'); htp.print('

Multinazionale

'); htp.print('
'); htp.print('
'); END; PROCEDURE createErrorPage ( errormsg varchar2, opname varchar2, theUrl varchar2, sessione varchar2, nameButton varchar2 default 'Torna alla Procedura', namesz String_Table default nullTable, valuesz String_Table default nullTable) IS which INTEGER; BEGIN openBlankPage('Errore'); addHeader; addBodyTitle(opname,'#FF0000'); openCenter; addText(errormsg); addLineBreak; openForm(theUrl); addHiddenField(user_field, TO_CHAR(getSession(sessione))); which := namesz.FIRST; LOOP EXIT WHEN which IS NULL; addHiddenField(namesz(which), valuesz(which)); which := namesz.NEXT(which); END LOOP; addSubmitButton(nameButton); closeForm; closeCenter; addToolbar(sessione); closeBlankPage; END; PROCEDURE createSuccessPage ( succmsg varchar2, opname varchar2, theUrl varchar2, sessione varchar2, namesz String_Table default nullTable, valuesz String_Table default nullTable) IS which INTEGER; BEGIN openBlankPage('' || opname || ' completata'); addHeader; addBodyTitle(opname); openCenter; addText(succmsg); addLineBreak; openForm(theUrl); addHiddenField(user_field, TO_CHAR(getSession(sessione))); which := namesz.FIRST; LOOP EXIT WHEN which IS NULL; addHiddenField(namesz(which), valuesz(which)); which := namesz.NEXT(which); END LOOP; addSubmitButton('Torna alla procedura'); closeForm; closeCenter; addToolbar(sessione); closeBlankPage; END; PROCEDURE addDateInput2 ( name varchar2, value varchar2 default null )IS mymin varchar2(11); mymax varchar2(11); BEGIN openScript(urlDateScript2); closeScript; mymin := 'null'; mymax := 'null'; htp.print(''); ELSE htp.print('VALUE="' || value || '">'); END IF; END; PROCEDURE addDateInput ( name varchar2, value varchar2 default null, maxdate date default null, mindate date default null) IS mymin varchar2(10); mymax varchar2(10); BEGIN openScript(urlDateScript); closeScript; IF (mindate IS NULL) THEN mymin := 'null'; ELSE mymin := '"' || mindate || '"'; END IF; IF (maxdate IS NULL) THEN mymax := 'null'; ELSE mymax := '"' || maxdate || '"'; END IF; htp.print(''); ELSE htp.print('VALUE="' || value || '">'); END IF; END; PROCEDURE addDateControlInput ( name varchar2, other varchar2 default null) IS BEGIN openSelect(name || '_ctl', other); addOption('>','maggiore di', TRUE); addOption('<','minore di'); addOption('=','uguale a'); addOption('<>','diverso da'); addOption('BETWEEN','tra il'); closeSelect; addDateInput(name || '_date'); END; PROCEDURE addNumberInput ( name varchar2, value varchar2, length varchar2 default maxTextLength, maxnum number default null, minnum number default null) IS mymin varchar2(6); mymax varchar2(6); BEGIN openScript(urlNumScript); closeScript; IF (minnum IS NULL) THEN mymin := 'null'; ELSE mymin := '"' || minnum || '"'; END IF; IF (maxnum IS NULL) THEN mymax := 'null'; ELSE mymax := '"' || maxnum || '"'; END IF; htp.print(''); ELSE htp.print('VALUE="' || value || '">'); END IF; END; PROCEDURE addAcademicYearInput ( name varchar2, thefirst number default 1970, thelast number default 2003, other varchar2 default null) IS cnt number; BEGIN cnt := thelast; openSelect (name, other); WHILE cnt >= thefirst LOOP IF cnt = thelast THEN addOption (cnt, cnt || '/' || (cnt+1), TRUE); ELSE addOption (cnt, cnt || '/' || (cnt+1)); END IF; cnt := cnt - 1; END LOOP; closeSelect; END; PROCEDURE openPage ( title varchar2, javasrc varchar2 default null) IS BEGIN openBlankPage(title => title, javasrc => javasrc); addHeader; addBodyTitle(title); addLineBreak; openCenter; END; PROCEDURE closePage ( userId varchar2, neededfld boolean default FALSE) IS BEGIN IF (neededfld = TRUE) THEN htp.print('

I campi contrassegnati con * sono obbligatori

'); END IF; addToolbar(userId); closeBlankPage; END; PROCEDURE openTextSize ( head number) IS BEGIN htp.print(''); END; PROCEDURE closeTextSize ( head number) IS BEGIN htp.print(''); END; PROCEDURE addBodyTitle ( title varchar2, colour varchar2 default text_Colour) IS BEGIN htp.print ('

' || title || '

'); END; PROCEDURE addNFMessage IS BEGIN htp.print('

I campi contrassegnati con * sono obbligatori

'); END; PROCEDURE openColour ( colour VARCHAR2) IS BEGIN htp.print(''); END; PROCEDURE closeColour IS BEGIN htp.print(''); END; FUNCTION getUserId ( userid varchar2) RETURN varchar2 IS BEGIN RETURN userid; END getUserId; FUNCTION getSession ( sessione varchar2 ) RETURN varchar2 IS BEGIN RETURN sessione; END getSession; FUNCTION tableColour (indice number) RETURN boolean IS ris boolean default false; quoziente number(10); resto number(10); BEGIN quoziente := indice / 2; resto := indice - (2 * quoziente); IF (resto = 0) THEN ris := true; END IF; return ris; END tableColour; END GUI;