/*
** html_list.ced
**
** $VER: html_list.ced 1.6 (01.10.1999)
**
** Arexx script for HTML v3.2 list stucture
**
** This script works with CygnusEd Professional v4.2
**
** Copyright © Eric BELLE
*/

/*
**------------------------------------------------------------------------------
**	Initialisation
**------------------------------------------------------------------------------
*/

OPTIONS RESULTS							/* Tell CygnusEd to return results. */
NL = '0A'X									/* Alias for new line. */
KRETURN = RAWKEY 68					/* Shortcut to the return key. */
KTAB = RAWKEY 66						/* Shortcut to the tab key. */
STATUS TABSARESPACES				/* Return TAB mode ("tab" or "space"). */
IF RESULT = 1								/* Test the TAB mode. */
THEN "TABS = SPACES"				/* Switch TAB mode from "space" to "tab". */
ELSE NOP										/* No operation. */
TAB SIZE 1									/* Set TAB size proportional to 2 spaces. */

/*
**------------------------------------------------------------------------------
**	Liste mode
**------------------------------------------------------------------------------
*/

ListChoice = "no"
Do While (ListChoice="no")
	OKAY2 "List modes:"										|| NL ||,
				"~~~~~~~~~~"										|| NL ||,
				"  (d)efault               "		|| NL ||,
				"  (a)rabic  1,2,3,...     "		|| NL ||,
				"  (l)etter  a,b,c,...     "		|| NL ||,
				"  (L)etter  A,B,C,...     "		|| NL ||,
				"  (r)oman   i,ii,iii,...  "		|| NL ||,
				"  (R)oman   I,II,III,...  "

	IF (RESULT=0)
	THEN EXIT 0
	ELSE ListChoice="ok"

	ListMode = "q"
	DO WHILE ~(ListMode="d" | ListMode="a" | ListMode="l",
						| ListMode="L" | ListMode="r" | ListMode="R",
						| ListMode="RESULT" | ListMode=" ")
		GETSTRING "d" '"List mode: d, a, l, L, r, R"'
		ListMode = RESULT
	END

	IF (ListMode="RESULT" | ListMode=" ")
	THEN ListChoice = "no"
	ELSE NOP
END

/*
**------------------------------------------------------------------------------
**	Item number
**------------------------------------------------------------------------------
*/

IF (ListMode="l" | ListMode="L")
THEN ItemMax = 26
ELSE ItemMax = 32768

GETNUMBER 3 '"How many items?"' 1 ItemMax
ItemNumber = RESULT

IF (ItemNumber=" ")
THEN EXIT 0
ELSE NOP

/*
**------------------------------------------------------------------------------
**	First item number
**------------------------------------------------------------------------------
*/

IF ~(ListMode="d")
THEN DO
	FirstMax = ItemMax - ItemNumber + 1

	GETNUMBER 1 '"First item number?"' 1 FirstMax
	FirstItem = RESULT

	IF (FirstItem=" ")
	THEN EXIT 0
	ELSE NOP
END
ELSE NOP

/*
**------------------------------------------------------------------------------
**	Html list marks
**------------------------------------------------------------------------------
*/

CloseList = "</0L>"
SELECT
	WHEN (ListMode="a")	THEN OpenList = "<OL START="				|| FirstItem || ">"
	WHEN (ListMode="l") THEN OpenList	=	"<OL TYPE=a START=" || FirstItem || ">"
	WHEN (ListMode="L") THEN OpenList	=	"<OL TYPE=A START=" || FirstItem || ">"
	WHEN (ListMode="r") THEN OpenList	=	"<OL TYPE=i START=" || FirstItem || ">"
	WHEN (ListMode="R") THEN OpenList	=	"<OL TYPE=I START=" || FirstItem || ">"
	OTHERWISE DO
		OpenList = "<UL>"
		CloseList = "</UL>"
	END
END

OpenItem = "<LI>"
CloseItem = "</LI>"

/*
**------------------------------------------------------------------------------
**	Html list structure
**------------------------------------------------------------------------------
*/

TEXT OpenList ; "AUTO-INDENT" ; KTAB
DO I=1 TO ItemNumber
	TEXT OpenItem ; "AUTO-INDENT" ; KTAB
	String = 'Should be modified - Item n°' || I
	TEXT String ; "AUTO-INDENT" ; BACKTAB
	TEXT CloseItem ; "AUTO-INDENT"
	END
BACKTAB
TEXT CloseList

/*
**------------------------------------------------------------------------------
**	End of html_list.ced Arexx script
**------------------------------------------------------------------------------
*/

EXIT 0
