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_entry

#: This module contains the SWIT entry widget implementation.


#: {entry} procedures:

procedure clone@entry
    takes
	master_entry entry
	clone_frame frame
    returns entry

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

    #, "proc vt<winpath> {n a o} {puts "E <eventnum> [get <winpath>]"}":

procedure clone_get@entry
    takes
	entry entry
    returns clone

    #: This procedure will return the {clone} assoicated with {entry}.


procedure create@entry
    takes
	parent frame
	uid unsigned
	event_number unsigned
    returns entry

    #: This procedure will create and return a {entry} object that with
    #, a unique identifier of {uid} and a parent frame of of {parent}.
    #, If {event_number} is 0, a new event number is allocated; otherwise,
    #, the {event_number} is used as is.


procedure destroy@entry
    takes
	entry entry
    returns_nothing

    #: This procedure will destroy {entry}.


procedure disable@entry
    takes
	entry entry
    returns_nothing

    #: This procedure will cause {entry} to look disabled:


procedure drop@entry
    takes
	entry entry
    returns_nothing

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


procedure enable@entry
    takes
	entry entry
    returns_nothing

    #: This procedure will cause {entry} to look enabled:


procedure event@entry
    takes
	entry entry
	line string
	index unsigned
	clone clone
	event_handler event_handler
    returns_nothing

    #: This procedure is will fire an event off for {entry} where {line}
    #, contains the remaining event information starting at {index}.


procedure event_proc_append@entry
    takes
	entry entry
	tcl_command tcl_command
    returns_nothing

    #: This procedure will append a unique event procedure name
    #, for {entry} to {tcl_command}.


procedure generate_call_back_get@entry
    takes
	entry entry
    returns string

    #: This procedure will return the generate_call_back color of {entry}.


procedure generate_call_back_set@entry
    takes
	entry entry
	generate_call_back string
    returns_nothing

    #: This procedure will set the generate_call_back color of {entry}
    #, to {generate_call_back}.


procedure html_generate@entry
    takes
	entry entry
	html_stream out_stream
	indent unsigned
    returns_nothing

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


procedure increment@entry
    takes
	entry entry
    returns_nothing

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


procedure nop@entry
    takes
	entry entry
    returns_nothing

    #: This procedure will do nothting.


procedure restore@entry
    takes
	restore restore
	frame frame
    returns entry

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


procedure save@entry
    takes
	entry entry
	save_stream out_stream
    returns_nothing

    #: This procedure will save {entry} to {save_stream}.


procedure update@entry
    takes
	master_entry entry
	clone_entry entry
    returns_nothing

    #: This procedure will update {clone_entry} with the contents
    #, {master_entry}.


procedure value_get@entry
    takes
	entry entry
    returns string

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


procedure value_set@entry
    takes
	entry entry
	value string
    returns_nothing

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


procedure width_get@entry
    takes
	entry entry
    returns unsigned

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


procedure width_set@entry
    takes
	entry entry
	width unsigned
    returns_nothing

    #: This procedure will set the width of {entry} to {width}.


procedure window_path_append@entry
    takes
	entry entry
	tcl_command tcl_command
    returns_nothing

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