english
version "1.0"
identify "wxyz"
# Copyright (c) 1998 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_item
#: This module support items in a SWIT canvas.
#: {item
} procedures:
procedure canvas_get@item
takes
item item
returns canvas
#: This procedure will create and return the {canvas
} parent for {item
}.
procedure children_increment@item
takes
item item
returns_nothing
#: This procedure will increment the modification count of all
#, the children nodes. It does not increment the parents
#, {item_group
}'s.
procedure clone@item
takes
master_item item
parent item_group
uid unsigned
returns item
#: This procedure will create and return a clone of {master_item
}
#, as a member of {parent
} with a unique identifier of {uid
}.
procedure create@item1[additional]
routine_types
procedure additional_set
takes item_additional, additional
returns_nothing
takes
additional additional
additional_set additional_set
parent item_group
uid unsigned
returns item
#: This procedure will create and return an initialized {item
} object
#, contains {additiona
}. The parent group is {parent
}. {additional_set
}
#, is used to store {additional
} into {item
}. If {uid
} is 0, a new
#, unique identifier is allocated; otherwise, {uid
} is used for the
#, returned item's unique identifier.
procedure destroy@item
takes
item item
returns_nothing
#: This procedure will destroy {item
}.
#format@format1[address](debug_stream,
# "destroy@item(0x%x%) returns\n\", item.address)
procedure increment@item
takes
item item
returns_nothing
#: This procedure will increment the modification count for {item
}
#, and its parents.
procedure item_insert@item
takes
item item
returns_nothing
#: This procedure will insert {item
} into the application table.
procedure level_get@item
takes
item item
returns unsigned
#: This procedure will return the modification count for {item
}.
procedure level_set@item
takes
item item
new_level unsigned
returns_nothing
#: This procedure will set the level of {item
} to {new_level
}.
procedure level_insert@item
takes
item item
returns_nothing
#: This procedure will insert {item
}.{uid
} onto the appropriate
#, {item_level
} list.
procedure level_update@item
takes
master_item item
clone_item item
returns_nothing
#: This procedure will cause the levels in {clone_item
} to become updated
#, with respect to {clone_item
}.
procedure tag_append@item
takes
item item
tag string
returns_nothing
#: This procedure will at {tag
} to the tag list of {item
}.
procedure tags_update@item
takes
master_item item
clone_item item
returns_nothing
#: This procedure will force the {clone_tags
} to contain the same
#, tags as {master_tags
} using {parent
} and {uid
}. If there are
#, any differences, the appropriate Tcl/Tk command.
procedure update@item
takes
master_item item
clone_item item
returns_nothing
#: This procedure will cause {clone_item
} to become updated
#, with respect to {clone_item
}.
procedure x_get@item
takes
item item
returns integer
#: This procedure will return the relative X coordinate of {item
}.
procedure x_set@item
takes
item item
x integer
returns_nothing
#: This procedure will set the relative X coordinate of {item
} to {x
}.
procedure y_get@item
takes
item item
returns integer
#: This procedure will return the relative Y coordinate of {item
}.
procedure y_set@item
takes
item item
y integer
returns_nothing
#: This procedure will set the relative Y coordinate of {item
} to {y
}.