|  | T5pm Building Mega-Widgets with [incr Tk] Michael McLennan, Bell Labs Innovations for Lucent Technologies Who should attend: Programmers and managers who are using Tcl/Tk to build large, real-world applications. This tutorial assumes a working knowledge of Tcl/Tk and a basic understanding of [incr Tcl]. Experienced [incr Tcl] developers, and others who have just attended the [incr Tcl] tutorial (T2am), will learn how to create and customize mega-widgets in an object-oriented framework. Tk widgets can be used to synthesize lots of user interface elements. For example, with an entry and a few buttons, you can create a spinner component that adjusts the value of an integer. With a label and three sliders, you can build a color selector. As you build more and more Tcl/Tk applications, you may find yourself building these components over and over for each new project. Instead, it is better to build them once, encapsulate them, make them easy to reuse, and store them in a library. [incr Tk] provides an object-oriented framework for building new user interface components. These components are called "mega-widgets" since they look and work like ordinary Tk widgets, but they are constructed by using other widgets as component parts. Mega-widgets can be created without writing a single line of C code, so they are much easier to develop than conventional widgets. The [incr Tk] framework was used to build the popular [incr Widgets] package which contains over 40 mega-widgets, including a tabbed notebook, an HTML viewer, a combo box, a spinner, and many others. We will see how:
| Component widgets are tied together
| Configuration options are merged into a composite list
| Mega-widgets can be used to build other mega-widgets: inheritance and composition
Michael McLennan (M2, M5, T2, T5) has been a Tcl/Tk enthusiast since 1992, and is currently a Distinguished Member of Technical Staff at Bell Labs Innovations for Lucent Technologies. He has taught more than 60 Tcl/Tk courses, and is co-author of Effective Tcl/Tk Programming (Addison-Wesley) and Tcl/Tk Tools (O'Reilly & Associates). He also developed [incr Tcl], an object-oriented extension of Tcl/Tk. He has developed many other extensions and applications, including the cover application for John Ousterhout's book Tcl and the Tk Toolkit (Addison-Wesley). Michael received a PhD in 1990 from Purdue University.

| Conference Index Events Calendar USENIX home