
NeoSoft Commercial Tcl Support

Thank you for your interest in NeoSoft's commercial Tcl support.
We offer a flexible support plan that can be tailored to your
organization's needs.

NeoSoft Tcl is our integration of the core Tcl technologies into a
professionally maintained and supported release.

Below is a description of NeoSoft Tcl and our Tcl services.

To set up a support contract, or if you need more information, please 
contact us at +1 713 968 5800 9-4 M-F, or send email to sales@NeoSoft.com.


NeoSoft Tcl:

    Includes the latest Tcl, Extended Tcl, Tk, and XF source.

    Includes the graph and photo widgets, compiled in at your option.
	
    NeoSoft's Tcl support libraries are included, providing useful tools 
       such as dialog boxes, a file requester, and many additional functions.

    Includes xpm pixmap library to allow any widget's bitmap to be a
       color pixmap, TIFF, GIF, etc.

    Point releases of Tcl, Extended Tcl, Tk and XF integrated and
       made available within thirty days.

    Major releases made when code is stable and needed tools are
       available.

    No license is required to redistribute with an application.

    Documentation comes in nroff and postscript (tm) formats.

    Available via FTP, DC-600A data cartridge, DAT tape 
       (in DATA/DAT format) or 3.5" high density floppy disks.



Service types:

Basic service:
    Source copy of NeoSoft Tcl.
    Binaries built on your machine using telnet or modem, if needed.
    Free updates for a year (available via FTP or media).
    8 hours of support, including consulting, bug fixing, etc.
    Standard documentation set.
    Release notes.
    NeoSoft Tcl T-shirt (specify L or XL).
    Additional support available on an hourly basis.

    Price: $3500/year


NeoSoft Tcl and Tk Training Information


NeoSoft is perhaps the premier corporate contributor to the Tcl and Tk toolkit
efforts.  Our groundbreaking work in Tcl and Tk dates back to its first
appearance in 1990, and is reflected by the copious amount of concepts and code
taken from Extended Tcl for use in the Tcl baseline.  We continue to
collaborate with Dr. John Ousterhout, the author of baseline Tcl and Tk, on the
forthcoming releases of Tcl, Extended Tcl and Tk.

NeoSoft's Tcl training efforts have been a natural outgrowth of our work with,
and extensions of, Tcl.

The philosophy of the course is one of immediate, maximum impact by rapid
immersion into hands-on building of X-windows graphical user interfaces and the
Tcl programs that underly a number of useful applications.  This approach grew
out of our first-generation Tcl training course, where we discovered that
students became very excited once the Tk toolkit was introduced and they could
begin typing statements and interactively creating sophisticated X-windows
interfaces.

Training Options

We are flexible and can customize a course to your specific needs.  We have
found that almost everyone is content with one of a few options.  The class
lasts for two or three days, at your option.  The class can be structured to
support new Tcl and Tk users and/or users with significant prior experience. 
In either case, it is nice to allocate some unstructured time at the end of the
class to talk about specific applications and issues that the students are
interested in, including new users, approaches, tools, environments, and the
future of Tcl itself.

Course Location and Times

The course can be taught at your company's facility, or at our training
facility located in Houston, Texas.  Enrollment is limited to ten people per
class to provide a substantial amount of instructor attention to each student. 
If the course it to be held at your company's facility, there should be no less
than one workstation per two students, if at all possible.  The class can be
taught over a weekend.  Contact NeoSoft for pricing and availability.

Instructor

The class will be taught by Karl Lehenbauer, the co-author of Extended Tcl. 
Karl is an experienced trainer, having taught and/or developed previous courses
on Unix, Unix system administration and Tcl/Tk.


Course Goals

Teach Tcl and Tk with the maximum impact by building real world applications in
the classroom.

Site Prerequisites

Integrated copy of Tcl and Tk, including Extended Tcl, running on site.

Course Contents
Below is the list of basic sections of the class, beginning with the elementary
things that we would teach to users without prior Tcl experience and ending
with building several tools that are useful, real-world applications in their
own right.  We can work with you to tailor the course to your organization's
specific needs. 

Section 1 Hello, World

Concepts:
	Typing commands interactively into the interpreter.
	The most important command in Tcl: "proc"
	Passing arguments to Tcl procedures.
	The C "Hello, World" koan in a graphical context:
The button command
The pack command

Section 2 Making Choices with Buttons

Concepts:
	Variables and variable substitution
	Radiobuttons
	Checkbuttons
	More on the pack command

Section 3 A quartet of application launchers

Concepts:
	Launching applications
	Tcl Language elements:
		Variable assignment
		Conditional expressions
		Beginning file I/O
		Square-bracket substitution
		Generating window elements from data
		Accessing command line arguments

Section 4 Building a support library:  The dialog box

Concepts:
	The message widget
	Control structures:  if/else/endif
	Default values for procedure arguments
	First mention of Tk's event loop
	Subordinate toplevel windows
	'tkwait' to support sequential control
	
Section 5 Building pulldown and popup menus

Concepts:
	The menu widget
	Binding commands to keypress events

Section 6 A few simple but useful applications

Concepts:
	Intermediate file I/O
	Delayed execution with 'after'
	Temporal commands (getclock, fmtclock)
	Capturing a spawned command's output in a variable

Section 7 Building a support library: The file selector

Concepts:
	The listbox and scrollbar widgets
	The frame widget
	More about the packer

Section 8 Creating a text editor with the text widget

Concepts:
	The text widget
	Text widget tags
	More about key bindings
Integrating support library examples

Section 9 Creating a hypertext system with the text widget

Concepts:
	More about the text widget
	More about text widget tags
	Builds on the text editor



Section 10 X resource customizer

Concepts:
	Use of the "send" command to access another interpreter.
	More about text widget tags.
	Builds on the text editor to make a new tool.

Section 11 Introduction to the canvas widget

Concepts:
	Introduces the canvas widget.
	Tags and tag processing.
	More on list processing.
           Use of different canvas widget types.

Section 12 A second encounter with the canvas widget

Concepts:
	Commands and options within the canvas widget.
	Combining items with actions.
	A new application launcher.

Section 13 Creating a drawing tool with the canvas widget

Concepts:
	Traversing items within a canvas widget.

Section 14 Sysadmin tool:  New user creator

Section 15 Sysadmin tool:  ttytab editor

Section 16 Developer tool:  The proc browser

Concepts:
	More on using "send" to access another interpreter.
	Using "info" to find variables and procedures.
           Using entry widgets.

Section 17 Color editor

Concepts:
	Slider widget
	Performing math with the "expr" command



