EXP Lists - GiuseppeChillemi/VID-Extension-Kit GitHub Wiki

Example Scripts for Lists:

actors.r

Actors.r

REBOL [
	Title: "Actors Test"
	Short: "Actors Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %actors.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test various actors for DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

insert clear ctx-vid-debug/debug 'actor

list-data: []
loop 100 [append/only list-data array/initial 3 does [random "abcdef xyz nml"]]

view make-window [
	h3 "Actors Test"
	bar
	l-data: data-list 300x400 data list-data
		on-key []
		on-click []
;		on-double-click []
		on-resize []
		on-align []
]

caret-list.r

REBOL [
	Title: "Caret List Test"
	Short: "Caret List Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %caret-list.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test CARET-LIST using its special keyboard navigation.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random "abcdef xyz nml"]]

view make-window [
	h3 "CARET-LIST Test"
	bar
	l-data: caret-list 300x200 with [data: list-data columns: [a b c] sub-face: [across space 0 list-text-cell 100 list-text-cell 100 list-text-cell 100]]; columns: [a b c] column-order: [a b c]]
	field
]

column-mode.r

REBOL [
	Title: "Column Mode Test"
	Short: "Column Mode Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %column-mode.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test column modes in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random "abcdef xyz nml"]]

view make-window [
	h3 "Column Mode Test"
	bar
	l-data: data-list data list-data setup [input [a b c d] modes [no-sort sort filter sort]]
]

column-order.r

REBOL [
	Title: "Alternative Column Order Test"
	Short: "Alternative Column Order Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %column-order.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test alternative column order in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random "abcdef xyz nml"]]

view make-window [
	h3 "Test Alternative Column Order"
	bar
	l-data: data-list data list-data setup [input [a b c d] output [d c b a]]
]

column-order-2.r

REBOL [
	Title: "Alternative Column Order Test 2"
	Short: "Alternative Column Order Test 2"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %column-order-2.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 08-Sep-2011
	Date: 08-Sep-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Tests for column ordering, while some columns are also hidden.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random 100]]

view make-window [
	h3 "Test Alternative Column Order 2"
	bar
	l-data: data-list
	setup [
		input [a b c d]
		output [b c]
		names ["B" "C"]
		data list-data
	]
]

data-handling.r

REBOL [
	Title: "Data Handling Test"
	Short: "Data Handling Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %data-handling.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 28-May-2011
	Date: 28-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test data handling in DATA-LIST using plain blocks and objects.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

; object for main data list
default-object: make object! [
	name:
	age:
	height:
	time:
		none
]

list-data: []

view make-window [
	h3 "Data Handling Test"
	bar
	panel [
		across
		l-data: data-list 500x400 data list-data setup [
			input default-object widths [100 100 100 200]
		]
		right-panel [
			button "Add" [
				edit-face l-data 'add make default-object [
					name: random "abc"
					age: random 50
					height: random 100
					time: now/precise
				]
			]
			button "Duplicate" [
				edit-face l-data 'duplicate none
			]
			button "Remove" [
				either empty? l-data/selected [
					alert "No rows selected."
				][
					edit-face l-data 'delete none
				]
			]
			button "Update Row" [
				edit-face l-data 'edit make default-object [time: now/precise]
			]
			button "Update Time" [
				edit-face l-data 'edit make object! [time: now/precise]
			]
			button "Update All" [
				edit-face/at l-data 'edit make object! [age: random 50 time: now/precise] 'all
			]
		]
	]
]

data-handling.r

REBOL [
	Title: "Data Handling Test"
	Short: "Data Handling Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011-2018 - HMK Design"
	Filename: %data-handling.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 09-Mar-2018
	Date: 09-Mar-2018
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test EDIT-FACE with multiple rows, copying and moving data between lists.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

; object for main data list
default-object: make object! [
	name:
	age:
	height:
	time:
		none
]

list-data-1: []
list-data-2: []

loop 10 [
	insert
		tail
			list-data-1
		make default-object [
			name: random "abc"
			age: random 50
			height: random 100
			time: random now/precise
		]
]

view make-window [
	h3 "Copy and Move Data Between Lists"
	bar
	panel [
		across
		l-data-1: data-list 500x400 data list-data-1 spring [right] setup [
			input default-object widths [100 100 100 200]
		]
		l-data-2: data-list 500x400 data list-data-2 setup [
			input default-object widths [100 100 100 200]
		]
		right-panel [
			button "Move Right" [
				edit-face l-data-2 'add get-face l-data-1 none none
				edit-face l-data-1 'delete none none none none
			]
			button "Move Left" [
				edit-face l-data-1 'add get-face l-data-2 none none
				edit-face l-data-2 'delete none none none none
			]
			button "Copy Right" [
				edit-face l-data-2 'add get-face l-data-1 none none
			]
			button "Copy Left" [
				edit-face l-data-1 'add get-face l-data-2 none none
			]
		]
	]
]

-----------------------------------

filtering.r

	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %filtering.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test filtering in DATA-LIST using QUERY-FACE.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random "abcdef xyz nml"]]

filter-row: func [data /local value] [
	if empty? value: get-face f-filter [return true]
	foreach cell data [if find cell value [return true]]
	false
]

view make-window [
	h3 "Real-Time Filtering Test"
	bar
	right-panel [
		across
		label "Filter:" f-filter: field on-key [query-face l-data :filter-row]
	]
	l-data: data-list data list-data setup [input [a b c d] select-mode 'persistent]
]

follow-size.r

REBOL [
	Title: "Follow Size Test"
	Short: "Follow Size Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %follow-size.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 02-Nov-2011
	Date: 02-Nov-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test FOLLOW-SIZE in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 25 [append/only list-data array/initial 4 does [random 100]]

view make-window [
	h3 "Follow Size Test"
	bar
	text "Move up and down with cursor keys to test" fill 1x0
	l-data: data-list fill 1x0 data list-data setup [follow-size 'page]
	across
	s-follow: selector ; selector has no on-select or on-click actor
		setup [line "By Line" page "By Page"]
		spring [top right]
		[setup-face l-data reduce ['follow-size to-lit-word value]]
	arrow 24x24 up [select-face l-data 'previous]
	arrow 24x24 down [select-face l-data 'next]
	button "Follow Row 1" [l-data/follow l-data 1 show l-data]
	button "Follow Row 15" [l-data/follow l-data 15 show l-data]
	do [set-face s-follow 'page]
]

hidden.r

REBOL [
	Title: "Hidden Column Test"
	Short: "Hidden Column Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %hidden.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test alternative column order in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random "abcdef xyz nml"]]

view make-window [
	h3 "Test Hidden Column (B is hidden)"
	bar
	l-data: data-list data list-data setup [input [a b c d] output [a c d]]
]

list.r

REBOL [
	Title: "LIST Test"
	Short: "LIST Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %list.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test bare LIST with basic requirements.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 3 does [random "abcdef xyz nml"]]

view make-window [
	h3 "SUB-FACE Test"
	bar
	l-data: list 450x200 with [
		data: list-data
		columns: [a b c]
		sub-face: [across space 0 list-text-cell 150 pad 1x0 list-text-cell 150 list-text-cell 150 spring [bottom]]
	]
]

one-column.r

REBOL [
	Title: "One Column Test"
	Short: "One Column Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %one-column.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 28-May-2011
	Date: 28-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test DATA-LIST with a single column.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: ["1" "2" "3"]

view make-window [
	h3 "One Column Test"
	bar
	l-data: data-list data list-data setup [input [items]]
]

parameter-list.r

REBOL [
	Title: "Parameter List Test"
	Short: "Parameter List Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %parameter-list.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test PARAMETER-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: system/view

view make-window [
	h3 "Parameter List Test"
	bar
	across
	l-data: parameter-list data list-data
]

rendering.r

REBOL [
	Title: "Rendering Test"
	Short: "Rendering Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %rendering.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test custom cell rendering in DATA-LIST using RENDER.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 4 does [random 100]]

view make-window [
	h3 "Rendering Test"
	bar
	l-data: data-list data list-data setup [
		render [
			switch cell/pos/x [
				1 [cell/color: random 255.255.255]
				2 [cell/color: white cell/font/style: if all [cell/data 50 < cell/data] ['bold]]
				3 [cell/color: white * (cell/pos/y / length? face/data)]
			]
		]
	]
]

rendering-2.r

REBOL [
	Title: "Rendering Test"
	Short: "Rendering Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %rendering-2.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 02-Jun-2011
	Date: 02-Jun-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test custom cell rendering in DATA-LIST using RENDER with CELL/NAME.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []

prototype: make object! [name: age: height: none]

loop 100 [
	append/only list-data make prototype [
		name: random "asd xyz"
		age: random 100
		height: random 50
	]
]

view make-window [
	h3 "Rendering Test 2"
	bar
	l-data: data-list data list-data setup [
		input prototype
		names ["Name" "Age (> 50 = bold)" "Height"]
		widths [100 150 100]
		render [
			cell/color: pick [240.240.240 230.230.230] even? cell/pos/y
			switch cell/name [
				age [
					cell/font/style: if all [cell/data cell/data > 50] ['bold]
				]
				height [
					cell/effect: all [cell/data compose/deep [draw [pen none fill-pen red box 0x0 (as-pair cell/data 20)]]]
				]
			]
		]
	]
]

%selection.r

REBOL [
	Title: "Selection Test"
	Short: "Selection Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %selection.r
	Version: 0.0.2
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 30-Oct-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test selection in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 25 [append/only list-data array/initial 4 does [random 100]]

set-i-status: does [
	set-face i-status reform [
		"Total:" length? l-data/data
		"Selected:" length? any [get-select-face l-data []]
	]
]

view make-window [
	h3 "Selection Test"
	bar
	across
	panel fill 0x1 [
		l-data: data-list data list-data
			on-key [set-i-status]
			on-click [set-i-status]
			on-select [set-i-status]
			on-unselect [set-i-status]
			setup [select-mode 'mutex]
		i-status: info fill 1x0 spring [top]
	]
	right-panel [
		h-fill-button "Select All" [select-face l-data true]
		h-fill-button "Select None" [select-face l-data none]
		h-fill-button "Select Invert" [select-face l-data 'invert]
		h-fill-button "Select First" [select-face l-data 'first]
		h-fill-button "Select Next" [select-face l-data 'next]
		h-fill-button "Select Previous" [select-face l-data 'previous]
		h-fill-button "Select Last" [select-face l-data 'last]
		h-fill-button "Select > 90" [select-face l-data func [val] [any [val/1 > 90 val/2 > 90 val/3 > 90 val/4 > 90]]]
		h-fill-button "Select Row 3" [select-face l-data 3]
		h-fill-button "Select Row 6" [select-face l-data 6]
		h-fill-button "Select 4, 7" [select-face l-data [4 7]]
		h-fill-button "Unselect 4, 7" [unselect-face l-data [4 7]]
		bar
		h3 "Select Mode:"
		rs: radio-selector
			setup [mutex "Mutex" multi "Multi" persistent "Persistent"]
			[l-data/select-mode: l-data/list/select-mode: value select-face l-data none]
		do [set-face rs l-data/select-mode set-i-status]
	]
]

set-get.r

REBOL [
	Title: "SET-FACE and GET-FACE Test"
	Short: "SET-FACE and GET-FACE Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %set-get.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test SET-FACE and GET-FACE in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list1: copy list2: []

loop 50 [append/only list1 array/initial 4 does [random "abcdef xyz nml"]] ; Chars
loop 100 [append/only list2 array/initial 4 does [random 100]] ; Numbers

view make-window [
	h3 "SET-FACE/GET-FACE Test"
	bar
	l-data: data-list setup [input [a b c d]]
	across
	bottom-button "Chars" [set-face l-data list1]
	bottom-button "Numbers" [set-face l-data list2]
	bottom-button "GET-FACE" [probe get-face l-data]
]

setup-face.r

REBOL [
	Title: "SETUP-FACE Test"
	Short: "SETUP-FACE Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %setup-face.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test SETUP-FACE in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r


list-data: []
loop 100 [append/only list-data array/initial 3 does [random "abcdef xyz nml"]]

view make-window [
	h3 "SETUP-FACE Test"
	bar
	l-data: data-list 300x200 fill 1x0 data list-data
	bottom-panel [
		across
		button "Setup 1" [
			setup-face l-data [
				header-face [across button "Values" fill 1x0 spring [bottom]]
				sub-face [
					across space 0
					list-text-cell 300 font-size 16 bold spring [bottom] return
					list-text-cell 150 font-size 11 60.60.60 spring [bottom]
					list-text-cell 150 font-size 11 right spring [left bottom]
				]
			]
		]
		button "Setup 2" [
			setup-face l-data [input [a b c] select-mode 'mutex]
		]
		button "Setup 3" [
			setup-face l-data [input [a b c d] output [a] select-mode 'persistent]
		]
		button "No Setup" [
			setup-face l-data none
		]
	]
]

sort-default.r

REBOL [
	Title: "Default Sorting Test"
	Short: "Default Sorting Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2018 - HMK Design"
	Filename: %sort-default.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 24-Feb-2018
	Date: 24-Feb-2018
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test resetting sorting in DATA-LIST to configurable column and direction.
		Should also configure and apply sorting on SETUP-FACE.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 25 [append/only list-data array/initial 4 does [random 100]]

view make-window [
	h3 "Default Sorting Test"
	bar
	l-data: data-list data list-data setup [
		default-sort-column 'column-2
		default-sort-direction 'descending
	]
	bottom-panel [
		across
		button "Standard" [
			setup-face l-data [
				default-sort-column none
				default-sort-direction none
			]
		]
		button "Default Sort 1" [
			setup-face l-data [
				default-sort-column 'column-2
				default-sort-direction 'descending
			]
		]
		button "Default Sort 2" [
			setup-face l-data [
				default-sort-column 'column-1
				default-sort-direction 'ascending
			]
		]
		button "Default Sort 3" [
			setup-face l-data [
				default-sort-column 'column-4
				default-sort-direction 'descending
			]
		]
	]
]

sorting.r

REBOL [
	Title: "Sorting Test"
	Short: "Sorting Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %sorting.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 28-May-2011
	Date: 28-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test sorting in DATA-LIST with a header-face.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 25 [append/only list-data array/initial 4 does [random 100]]

view make-window [
	h3 "Sorting Test"
	bar
	l-data: data-list data list-data
]

specs-dialect.r

REBOL [
	Title: "List Specs Dialect Test"
	Short: "List Specs Dialect Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %specs-dialect.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 26-Jun-2010
	Date: 26-Jun-2010
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test specification dialect in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

view make-window [
	h3 "List Specs Test"
	bar
	l-data: data-list 624x400 setup [
		input [a b c]
		output [c b]
		names ["C" "B"]
		resize-column 'c
		widths [50 100]
		modes [sort filter]
		types [string! image!]
		adjust [left right]
	]
]

specs-dialect-2.r

REBOL [
	Title: "List Specs Dialect Test"
	Short: "List Specs Dialect Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %specs-dialect-2.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 26-Jun-2010
	Date: 26-Jun-2010
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test specification dialect in DATA-LIST using words.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

in-obj: make object! [a: b: c: none]

view make-window [
	h3 "List Specs Test"
	bar
	l-data: data-list 624x400 setup [input in-obj]
]

specs-object.r

REBOL [
	Title: "Specs Object Test"
	Short: "Specs Object Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %specs-object.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 28-May-2011
	Date: 28-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test minimal setup in DATA-LIST using a single object.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

obj: make object! [
	name:
	age:
	height:
	weight:
		none
]

list-data: []

append list-data make obj [
	name: "Luke Skyswimmer"
	age: 19
	height: 174
	weight: 72
]

append list-data make obj [
	name: "Darth Vader"
	age: 40
	height: 206
	weight: 120
]

view make-window [
	h3 "List Specs Test"
	bar
	l-data: data-list 424x400 setup obj data list-data on-click [probe get-face face]
]

sub-face.r

REBOL [
	Title: "SUB-FACE Test"
	Short: "SUB-FACE Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %sub-face.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test SUB-FACE in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []
loop 100 [append/only list-data array/initial 3 does [random "abcdef xyz nml"]]

view make-window [
	h3 "SUB-FACE Test"
	bar
	l-data: data-list 300x400 data list-data setup [
		header-face [across button "Values" fill 1x0 spring [bottom]]
		sub-face [
			across space 0
			list-text-cell 300 font-size 16 bold spring [bottom] return
			list-text-cell 150 font-size 11 60.60.60 spring [bottom]
			list-text-cell 150 font-size 11 right spring [left bottom]
		]
	]
]

sub-face.r

REBOL [
	Title: "SUB-FACE Test"
	Short: "SUB-FACE Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %sub-face.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 29-May-2011
	Date: 29-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test SUB-FACE in DATA-LIST.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: []

images: reduce [
	help.gif
	exclamation.gif
	info.gif
	logo.gif
	stop.gif
	arrow-down.png
	arrow-up.png
	arrow-left.png
	arrow-right.png
]

loop 25 [
	append/only
		list-data
		reduce [
			pick images random length? images
			pick images random length? images
			pick images random length? images
		]
]

view make-window [
	h3 "SUB-FACE Test"
	bar
	l-data: data-list 324x500 data list-data setup [
		header-face [across button "Images" fill 1x0 spring [bottom]]
		sub-face [
			across space 2
			list-image-cell 100x100
			list-image-cell 100x100
			list-image-cell 100x100
		]
	]
]

text-list.r

REBOL [
	Title: "Text List Test"
	Short: "Text List Test"
	Author: ["Henrik Mikael Kristensen"]
	Copyright: "2011 - HMK Design"
	Filename: %text-list.r
	Version: 0.0.1
	Type: 'script
	Maturity: 'unstable
	Release: 'internal
	Created: 28-May-2011
	Date: 28-May-2011
	License: {
		BSD (www.opensource.org/licenses/bsd-license.php)
		Use at your own risk.
	}
	Purpose: {
		Test TEXT-LIST, which is a 1-dimensional DATA-LIST derivative without a header.
	}
	History: []
	Keywords: []
]

do %../../build/include.r

clear ctx-vid-debug/debug

list-data: ["aaa" "bbb" "ccc"]
print ""

view make-window [
	h3 "Text List Test"
	bar
	l-data: text-list data list-data [probe get-face face]
]