english
version "1.0"
identify "wxyz"

# Copyright (c) 1998-1999 by Wayne C. Gramlich.
# All rights reserved.
#
# Permission to use, copy, modify, distribute, and sell this software
# for any purpose is hereby granted without fee provided that the above
# copyright notice and this permission are retained.  The author makes
# no representations about the suitability of this software for any purpose.
# It is provided "as is" without express or implied warranty.

module swit_label


#: This module contains the SWIT label widget implementation.


#: {label} procedures:

procedure clone@label
    takes
	master_label label
	clone_frame frame
    returns label

    #: This procedure will cause a clone of {master} to be created
    #, in {frame}.


procedure clone_get@label
    takes
	xlabel label
    returns clone

    #: This procedure will return the {clone} object associated with
    #, {xlabel}.


procedure create@label
    takes
	parent frame
	uid unsigned
	text string
    returns label

    #: This procedure will create and return a {label} object that has
    #, a unique identifer of {uid}, a parent frame of {parent}, and
    #, label text of {text}.


procedure destroy@label
    takes
	xlabel label
    returns_nothing

    #: This procedure will destroy {label}.


procedure disable@label
    takes
	xlabel label
    returns_nothing

    #: This procedure will grey out {xlabel}.


procedure drop@label
    takes
	label label
    returns_nothing

    #: This procedure will cause {label} to be eventually destroyed
    #, the update process gets around to it.


procedure enable@lable
    takes
	xlabel label
    returns_nothing

    #: This procedure will `enable' label making it more visible:


procedure event@label
    takes
	xlabel label
	line string
	index unsigned
    returns_nothing

    #: This procedure is will fire an event off for {label}.


procedure foreground_get@label
    takes
	xlabel label
    returns color

    #: This procedure will return the foreground color of {label}.


procedure foreground_set@label
    takes
	xlabel label
	foreground color
    returns_nothing

    #: This procedure will set the foreground color of {label} to
    #, {foreground}.


procedure html_generate@label
    takes
	xlabel label
	html_stream out_stream
	indent unsigned
    returns_nothing

    #: This procedure will output {xlabel} as HTML to {html_stream}
    #, indented by {indent}.


procedure increment@label
    takes
	xlabel label
    returns_nothing

    #: This procedure will increment the modification count for {label}.


procedure restore@label
    takes
	restore restore
	frame frame
    returns label

    #: This procedure will restore the label from {restore} into {frame}.


procedure save@label
    takes
	xlabel label
	save_stream out_stream
    returns_nothing

    #: This procedure will save {label} to {save_stream).


procedure sticky_get@label
    takes
	xlabel label
    returns sticky

    #: This procedure will return the sticky setting for {xlabel}.


procedure sticky_set@label
    takes
	xlabel label
	sticky sticky
    returns_nothing

    #: This procedure will set the sticky value {label} to {sticky}.


procedure update@label
    takes
	master_label label
	clone_label label
    returns_nothing

    #: This procedure will update {clone_label} with the contents
    #, {master_label}.


procedure value_get@label
    takes
	xlabel label
    returns string

    #: This procedure will return the value of {xlabel}.


procedure value_set@label
    takes
	xlabel label
	value string
    returns_nothing

    #: This procedure will set the value of {label} to {value}.


procedure window_path_append@label
    takes
	xlabel label
	tcl_command tcl_command
    returns_nothing

    #: This procedure will append the window path for {label} to {tcl_command}.