;
; stringSet.sh
;
; String set dialogue box control
;
;  1994-1998 Straylight
;

;----- Licensing note -------------------------------------------------------
;
; This file is part of Straylight's Sapphire library.
;
; Sapphire is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2, or (at your option)
; any later version.
;
; Sapphire is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with Sapphire.  If not, write to the Free Software Foundation,
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

;----- Overview -------------------------------------------------------------
;
; Functions provided:
;
;  stringSet_setValue
;
; Controls provided:
;
;  stringSet
;
; Macros provided:
;
;   STRSET

		GET	sapphire:dbx.dbx

		[	:LNOT::DEF:stringSet__dfn
		GBLL	stringSet__dfn

; --- stringSet ---
;
; Control data:	+0 == address of menu definition
;		+4 == address of string table
;		+8 == icon number in which to write string
;		+12
;
; Workspace:	+0 == current value of radio selection
;		+4
;
; Flags:	--
;
; Use:		Provides handling for a `menu button' -- when clicked, a
;		menu of possible values appears, from which the user may
;		choose an entry.  The chosen string is copied to the icon.

		IMPORT	stringSet

; --- stringSet_setValue ---
;
; On entry:	R0 == dialogue box handle
;		R1 == icon handle
;
; On exit:	--
;
; Use:		Sets the contents of the display area attached to a string
;		set control from the current state of the control.

		IMPORT	stringSet_setValue

;----- Macros and symbols ---------------------------------------------------

stringSet_event	EQU	&80000005		;Value of stringset changed
						;R1 == icon number of

		MACRO
$label		STRSET	$icon,$base,$data,$menu,$strings,$display

$label		CONTROL	$icon,stringSet,$base,0,$data
		DCD	$menu,$strings,$display
		ECTRL

		MEND

		]

;----- That's all, folks ----------------------------------------------------

		END
