#!/bin/bash

#
# The <input> tags can have attributes setting which input column holds the
# icon information:
#   o stock-column
#   o icon-column
#

# This example requires bash.

GTKDIALOG=gtkdialog

funcInputstock() {
	echo "gtk-open | | gtk-open | 2 "
	echo "gtk-about | | gtk-about | 2 "
	echo "gtk-add | | gtk-add | 2 "
	echo "gtk-apply | | gtk-apply | 2 "
	echo "gtk-bold | | gtk-bold | 2 "
	echo "gtk-cancel | | gtk-cancel | 2 "
	echo "gtk-cdrom | | gtk-cdrom | 2 "
	echo "gtk-clear | | gtk-clear | 2 "
	echo "gtk-close | | gtk-close | 2 "
	echo "gtk-color-picker | | gtk-color-picker | 2 "
	echo "gtk-convert | | gtk-convert | 2 "
}; export -f funcInputstock

funcInputicon() {
	echo "gimp | | gimp | 2 "
	echo "gnumeric | | gnumeric | 2 "
	echo "geany | | geany | 2 "
	echo "viewnior | | viewnior | 2 "
	echo "xarchive | | xarchive | 2 "
	echo "scribus | | scribus | 2 "
	echo "inkscape | | inkscape | 2 "
	echo "html | | html | 2 "
	echo "top | | top | 2 "
	echo "midori | | midori | 2 "
	echo "abiword | | abiword | 2 "
}; export -f funcInputicon

export MAIN_DIALOG='
<window>
	<vbox>
		<hbox>
			<frame Stock icons from input command>
				<tree>
					<variable>TREE1</variable>
					<height>300</height>
					<width>200</width>
					<label>0 | 1 | 2</label>
					<input stock-column="0">bash -c funcInputstock</input>
				</tree>
			</frame>
			<frame Theme icons from input command>
				<tree>
					<variable>TREE2</variable>
					<height>300</height>
					<width>200</width>
					<label>0 | 1 | 2</label>
					<input icon-column="0">bash -c funcInputicon</input>
				</tree>
			</frame>
		</hbox>
		<hbox homogeneous="true">
			<button ok></button>
		</hbox>
	</vbox>
</window>
'

case $1 in
	-d | --dump) echo "$MAIN_DIALOG" ;;
	*) $GTKDIALOG --program=MAIN_DIALOG ;;
esac
