Tkhtml 3.0 - HTML and CSS for Tcl/Tk

Total Page:16

File Type:pdf, Size:1020Kb

Tkhtml 3.0 - HTML and CSS for Tcl/Tk Untitled 10/12/06 9:23 AM Tkhtml 3.0 - HTML and CSS for Tcl/Tk Dan Kennedy, Tcl Conference 2006. Abstract Tkhtml is a Tk widget written in C that displays documents formatted according to the HTML and CSS standards. This paper reports on the recent work on Tkhtml 3.0 sponsored by Eolas Technologies. The motivations for creating a standards compliant HTML/CSS widget for Tcl/Tk are examined, expected uses of the widget identified and the scope of functionality provided defined. Also discussed is the web browser hv3, developed as part of the Tkhtml project to test the HTML widget. Future extensions and enhancements to Tkhtml are contemplated. Introduction To Tkhtml 3.0 Adding a widget to display documents formatted using the Hyper-Text Markup Language (HTML) [1] to Tk is not a new idea. There are currently at least three widely used widgets for just this purpose, Tkhtml 2 [2], htmllib [3] and the scrolledhtml widget included in the Iwidgets package [4]. The most common use is to embed hyper-linked documentation in an application ("help" documentation), although there exists at least one fully-functional web browser application built on top of Tkhtml 2, browsex [5]. Both htmllib and scrolledhtml are written in pure Tcl, making them particularly easy to deploy as part of Tcl applications. Tkhtml 2 is written in the C language, and has been used by applications written in Tcl, Ruby, Python and possibly others. Figure 1 - Role of Tkhtml All existing HTML renderers for Tcl/Tk have one thing in common: A significant subset (possibly even a majority) of documents found on todays Internet are not rendered as the author intended. This is not due to major technical flaws in existing packages, but simply because the web has moved on from pure HTML. In 2006, most web documents use a combination of HTML and Cascading Style Sheets (CSS) [6] to define the file://localhost/Users/mom/Desktop/tcl2006/Dan_Kennedy/tkhtml3_tcl2006/tkhtml3_tcl2006.html Page 1 of 16 Untitled 10/12/06 9:23 AM presentation of documents. The requirement to support CSS is the reason Tkhtml 3 was created instead of channeling effort into improving Tkhtml 2 or another existing package. In many ways, it now seems that "TkCSS" would have been a more descriptive name than "Tkhtml". Figure 1 roughly depicts the functionality provided by the Tkhtml 3 package. The application configures a Tkhtml widget by specifying: A single HTML document. Zero or more CSS documents. Zero or more images. Images are passed from the application to Tkhtml using Tk image handles. Zero or more instances of "replaced content". Replaced content is a concept defined by CSS to mean boxes of content generated by external means that are mapped into the document viewport. Examples of replaced content in an HTML document include form controls, the Tcl browser Plugin and embedded video frames. The widget displays a scrollable viewport that may be used to view the rendered document. Various introspection interfaces to query the document tree, CSS property values and document layout are also available. Introduction To HTML/CSS The role of HTML has changed slightly since it's inception. Last century, HTML was used to define both the content and presentation of documents for display. More recently, the task of specifying presentation has been abrogated to CSS and HTML constructs solely concerned with presentation have been deprecated by the World Wide Web Consortium (WC3) [7]. Content and structure are still specified using HTML. Of course, many documents do not conform to these guidelines and so any HTML widget is required to support both CSS and the older, deprecated HTML presentational attributes. As of version 2.1, CSS consists of 108 separate properties, around 90 of which are applicable to a visual display agent like Tkhtml (other properties concern aural or fixed-page document renderings). Based on rules specified in various CSS documents (including the default stylesheet, see below), each document element is assigned a value for each applicable property. Rules may specify that certain property values be assigned to elements based on their type, attributes or their position in the document tree relative to other elements, The values of the assigned properties determine the presentation of the document element. For example: The 'display' property determines whether the element generates a block box (similar to the default behavior of a <p> element), an inline box (similar to the default behavior of an <i> element), or even a table box (similar to the default behavior of a <table>). The 'float' property determines whether the element is added to the normal document flow or "floated" to the left or right of the document (similar to an <img> element with the "align" attribute set to "left" or "right"). Text wraps around floated boxes. The 'color' property determines the color of text contained by the element. Internally in Tkhtml, document layout is determined entirely by CSS properties. The section entitled "The Default Stylesheet" below clarifies the approach to handling legacy document that use deprecated HTML presentation attributes. Project Motivations and Goals file://localhost/Users/mom/Desktop/tcl2006/Dan_Kennedy/tkhtml3_tcl2006/tkhtml3_tcl2006.html Page 2 of 16 Untitled 10/12/06 9:23 AM Despite lack of recognition as such, Tcl/Tk remains one of the most portable and complete application platforms available today. Complex graphical applications move seamlessly between embedded devices and many different personal computer configurations. However, it is not currently possible to create a web browser application. The primary purpose of Tkhtml is to facilitate the development of web browser applications using Tcl/Tk. The above paragraph brazenly states that it is not possible to create a web browser application using Tcl/Tk, which is obviously not a true statement, if only because the introduction of this paper refers to a "fully-fledged web browser", browsex. A casual inspection of browsex reveals a stable cross-platform application, with similar functionality to all but the latest generation of popular web browsers [20,21] Performance is an order of magnitude better than that of popular browsers, both in terms of initialization time and resource consumption. Despite this, browsex has been all but abandoned (no updates since January 2003). The reason for this is simple: because it uses an older generation of HTML widget, a large number of web pages are rendered incorrectly. Tkhtml aims to address this by supporting modern versions of the relevant standards. Therefore: Although targeted at web browser applications, other uses are possible. It is anticipated that applications may use Tkhtml for the following broad categories of purpose. All categories of application are taken into consideration when design or API decisions are taken, although in practice it is fair to say that the other application pattern appear to demand a subset of the functionality of the web browser. Label widget: Using Tkhtml as a label widget capable of displaying rich text (formatted using HTML). Geometry manager: Tk application windows where an HTML widget is used in place of a geometry manager. Tkhtml widgets can manage other windows in similar manner to the Tk text and Figure 2 - Shameless gimmickry: the Acid 2 test [8] canvas widgets. Some application windows, for rendered by a (partially) standards compliant Tcl/Tk example those that resemble forms or "wizard" web browser [9]. dialogs, may be more easily created by specifying an HTML document than by using existing methods. Internal document viewer: Using Tkhtml to view application supplied documents formatted using HTML/CSS, either packaged by the application author (i.e. application help systems) or generated dynamically by the application itself (i.e. reports). Web browser: Using Tkhtml to create a modern web browser application or component. Interface Concepts and Design This section contains a high level conceptual description of the API provided by Tkhtml and in so doing communicates the scope and flexibility of the provided functionality. The goal of this section is not to provide a programming tutorial, but to clarify the role of Tkhtml in the Tcl/Tk software ecosystem. file://localhost/Users/mom/Desktop/tcl2006/Dan_Kennedy/tkhtml3_tcl2006/tkhtml3_tcl2006.html Page 3 of 16 Untitled 10/12/06 9:23 AM Along with the application patterns in the preceding sections, the API was designed with the following general principles in mind: Tkhtml should provide sufficient functionality and/or sufficiently flexible interfaces to facilitate development of a modern web browser application. Tkhtml should include only functionality defined by the relevant portions of the HTML or CSS standards. Functionality not defined by these standards is a matter of policy and therefore must be delegated to the application. Whenever standardized web browser functionality can be realistically delegated to the application level, this should be done. This is both to keep the widget as lightweight as possible for applications other than web browsers and for the pragmatic reason that project resources are scarce. Basics Using a Tkhtml widget is similar to using any other Tk widget. An instance must be created and handed off to a geometry manager for display. # Create a shrink-wrapped HTML "label" Usually, the widgets requested height and width are set html [html $pathName -shrink true] pack $html set by the -width or -height options in the same way as they are for built-in widgets. The exception # Create a document frame (default size 800x600) is if the boolean -shrink option is set to true. In this set html [html $pathName] case the widgets requested width and height are the pack $html -fill both -expand true size of the currently rendered document. The current widget width, or value of the -width option if the widget is unmapped, is used as the desired width when calculating the layout in this mode.
Recommended publications
  • Volume 31 Number 3 September 2010
    ADA Volume 31 USER Number 3 September 2010 JOURNAL Contents Page Editorial Policy for Ada User Journal 150 Editorial 151 Quarterly News Digest 153 Conference Calendar 179 Forthcoming Events 185 Student Programming Contest “The Ada Way” 189 Special Contribution A. Burns, J. L. Tokar (Eds.) “Ada and the Software Vulnerabilities Project” 191 Ada Gems 217 Ada-Europe Associate Members (National Ada Organizations) 220 Ada-Europe 2010 Sponsors Inside Back Cover Ada User Journal Volume 31, Number 3, September 2010 150 Editorial Policy for Ada User Journal Publication Original Papers Commentaries Ada User Journal — The Journal for Manuscripts should be submitted in We publish commentaries on Ada and the international Ada Community — is accordance with the submission software engineering topics. These published by Ada-Europe. It appears guidelines (below). may represent the views either of four times a year, on the last days of individuals or of organisations. Such March, June, September and All original technical contributions are articles can be of any length – December. Copy date is the last day of submitted to refereeing by at least two inclusion is at the discretion of the the month of publication. people. Names of referees will be kept Editor. confidential, but their comments will Opinions expressed within the Ada Aims be relayed to the authors at the discretion of the Editor. User Journal do not necessarily Ada User Journal aims to inform represent the views of the Editor, Ada- readers of developments in the Ada The first named author will receive a Europe or its directors. programming language and its use, complimentary copy of the issue of the general Ada-related software Journal in which their paper appears.
    [Show full text]
  • A Zahlensysteme
    A Zahlensysteme Außer dem Dezimalsystem sind das Dual-,dasOktal- und das Hexadezimalsystem gebräuchlich. Ferner spielt das Binär codierte Dezimalsystem (BCD) bei manchen Anwendungen eine Rolle. Bei diesem sind die einzelnen Dezimalstellen für sich dual dargestellt. Die folgende Tabelle enthält die Werte von 0 bis dezimal 255. Be- quemlichkeitshalber sind auch die zugeordneten ASCII-Zeichen aufgeführt. dezimal dual oktal hex BCD ASCII 0 0 0 0 0 nul 11111soh 2102210stx 3113311etx 4 100 4 4 100 eot 5 101 5 5 101 enq 6 110 6 6 110 ack 7 111 7 7 111 bel 8 1000 10 8 1000 bs 9 1001 11 9 1001 ht 10 1010 12 a 1.0 lf 11 101 13 b 1.1 vt 12 1100 14 c 1.10 ff 13 1101 15 d 1.11 cr 14 1110 16 e 1.100 so 15 1111 17 f 1.101 si 16 10000 20 10 1.110 dle 17 10001 21 11 1.111 dc1 18 10010 22 12 1.1000 dc2 19 10011 23 13 1.1001 dc3 20 10100 24 14 10.0 dc4 21 10101 25 15 10.1 nak 22 10110 26 16 10.10 syn 430 A Zahlensysteme 23 10111 27 17 10.11 etb 24 11000 30 18 10.100 can 25 11001 31 19 10.101 em 26 11010 32 1a 10.110 sub 27 11011 33 1b 10.111 esc 28 11100 34 1c 10.1000 fs 29 11101 35 1d 10.1001 gs 30 11110 36 1e 11.0 rs 31 11111 37 1f 11.1 us 32 100000 40 20 11.10 space 33 100001 41 21 11.11 ! 34 100010 42 22 11.100 ” 35 100011 43 23 11.101 # 36 100100 44 24 11.110 $ 37 100101 45 25 11.111 % 38 100110 46 26 11.1000 & 39 100111 47 27 11.1001 ’ 40 101000 50 28 100.0 ( 41 101001 51 29 100.1 ) 42 101010 52 2a 100.10 * 43 101011 53 2b 100.11 + 44 101100 54 2c 100.100 , 45 101101 55 2d 100.101 - 46 101110 56 2e 100.110 .
    [Show full text]
  • Fanxe — the Fantastic XML Editor
    FanXE — The Fantastic XML Editor Thomas C. Allard Banking Analysis Section Division of Monetary Affairs Board of Governors of the Federal Reserve System 20th Street & Constitution Avenue NW, Washington DC, 20551 ([email protected]) October 2005 Abstract FanXE uses the Document Object Model (DOM) to operate on all XML documents. All DOM operations 1 FanXE is an XML editor written in [incr Tcl] using are performed by the tdom package. tdom and Tkhtml. A developer builds XSLT style FanXE reads an XML file called fanxe.xml2 which sheets that transform nodes in the DOM into HTML determines which XML documents will be read into the forms editable in the GUI. When the form is submit- DOM, which nodes will be displayed in the GUI and ted, the DOM node is rebuilt. FanXE can maintain how they will be labeled, which style sheets apply to XML documents under revision control or within a each node, and all other configuration details for the PostgreSQL database. The base class is easily exten- GUI. FanXE also loads a user configuration file.3 The sible as demonstrated with three subclasses. FanXE user configuration file can include additional DOMs to can act as a command-line XSLT engine and includes load and can override any other aspect of the GUI con- XSLT extensions that allow style sheets to execute Tcl figuration. Both the fanxe.xml file and the user config- commands in a safe interpreter. uration file can be edited within the FanXE GUI. 1 Introduction 2 GUI Overview On my first foray into XML, I needed a highly customiz- The FanXE GUI editor is split into three panes: a tree able GUI for editing XML documents.
    [Show full text]
  • Tkgecko: Another Attempt for an HTML Renderer for Tk Georgios Petasis
    TkGecko: Another Attempt for an HTML Renderer for Tk Georgios Petasis Software and Knowledge Engineering Laboratory, Institute of Informatics and Telecommunications, National Centre for Scientific Research “Demokritos”, Athens, Greece [email protected] Abstract The support for displaying HTML and especially complex Web sites has always been problematic in Tk. Several efforts have been made in order to alleviate this problem, and this paper presents another (and still incomplete) one. This paper presents TkGecko, a Tcl/Tk extension written in C++, which allows Gecko (the HTML processing and rendering engine developed by the Mozilla Foundation) to be embedded as a widget in Tk. The current status of the TkGecko extension is alpha quality, while the code is publically available under the BSD license. 1 Introduction The support for displaying HTML and contemporary Web sites has always been a problem in the Tk widget, as Tk does not contain any support for rendering HTML pages. This shortcoming has been the motivation for a large number of attempts to provide support from simple rendering of HTML subsets on the text or canvas widgets (i.e. for implementing help systems) to full-featured Web browsers, like HV3 [1] or BrowseX [2]. The relevant Tcl Wiki page [3] lists more than 20 projects, and it does not even cover all of the approaches that try to embed existing browsers in Tk through COM or X11 embedding. One of the most popular, and thus important, projects is Tkhtml [4], an implementation of an HTML rendering component in C for the Tk toolkit. Tkhtml has been actively maintained for several years, and the current version supports many HTML 4 features, including CCS and possibly JavaScript through the Simple ECMAScript Engine (SEE) [5].
    [Show full text]
  • Tkgecko-Presentation
    TkGecko: Another Attempt for an HTML Renderer for Tk Georgios Petasis Software and Knowledge Engineering Laboratory, Institute of Informatics and Telecommunications, National Centre for Scientific Research “Demokritos”, Athens, Greece [email protected] Institute of Informatics & Telecommunications – NCSR “Demokritos” Overview . Tk and HTML – Tkhtml & Hv3 – Embedding popular browsers . Gecko – TkGecko: embedding Gecko . Examples – Rendering a URL – Retrieving information from the DOM tree . Conclusions TkGecko: Another Attempt of an HTML Renderer for Tk 15 Oct 2010 2 Tk and HTML . Displaying HTML in Tk has always been an issue . This shortcoming has been the motivation for a large number of attempts: – From simple rendering of HTML subsets on the text or canvas widget i.e. for implementing help systems) – To full-featured Web browsers like Hv3 or BrowseX . The relevant Wiki page lists more than 20 projects – Does not cover all approaches trying to embed existing browsers in Tk (COM, X11, etc) TkGecko: Another Attempt of an HTML Renderer for Tk 15 Oct 2010 3 Tkhtml . Tkhtml is one of the most popular extensions – An implementation of an HTML rendering component for the Tk toolkit in C – Actively maintained – Supports many HTML 4 features CCS JavaScript (through the Simple ECMAScript Engine) . Despite the impressive supported list of features, Tkhtml is missing features like: – Complete JavaScript support – Flash – Java, ... TkGecko: Another Attempt of an HTML Renderer for Tk 15 Oct 2010 4 Embedding popular browsers . Several approaches that try to embed a full- featured Web browser have been presented . Internet Explorer is a popular target (Windows) – Through COM, either with Tcom or Optcl .
    [Show full text]
  • Entice – Embedding Firefox in Tk
    Entice – Embedding Firefox in Tk Steve Landers Digital Smarties [email protected] Abstract This paper describes Entice - a Tcl/Tk extension that allows multiple Firefox windows to be embedded into Tk and controlled from a Tcl/Tk application. Entice brings to Tcl/Tk applications on X11 similar functionality to that provided by using Internet Explorer and Optcl on Windows. The paper describes the use of the TkXext extention to embed Firefox, the use of web technologies (XUL, Javascript and AJAX) and a small embedded web server for communication with Firefox. Future developments such as providing a generalised cross-platform/cross-browser API will be discussed. Background On Windows it is possible to embed instances of Internet Explorer (IE) into a Tk application using COM – via the Optcl[1] or Tcom[2] extensions. This makes practical a new genre of hybrid client/web applications such as NewzPoint[3] (which displays multiple web pages in a two-tiered tab layout arrangement using IE as the display engine). Entice is an attempt to provide the same (or similar) functionality for Unix/Linux platforms - in the first instance, Tk under X11 but potentially under other windowing systems such as MacOS X Aqua (although that is beyond the scope of this paper). There are three distinct requirements in doing this: • embedding a browser in Tk • communicating with the browser (i.e. sending content) • controlling the browser from Tcl A browser in a Tk application? There are a number of approaches to providing a browser within a Tk application: • use a Tk extension that “wraps” a browser library • use a Tk browser extension • embed an external browser window into a Tk frame The first approach was used in the TkGecko[4] project, which wraps the Mozilla Gecko rendering engine as a Tk extension.
    [Show full text]
  • The Python Papers
    The Python Papers Volume 3, Issue 1 pythonpapers.org Journal Information The Python Papers ISSN: 1834-3147 Editors Tennessee Leeuwenburg Maurice Ling Richard Jones Stephanie Chong Referencing Information Articles from this edition of this journal may be referenced as follows: Author, “Title” (2007) The Python Papers, Volume N, Issue M, pp. m:n e.g. Maurice Ling, “Firebird Database Backup by Serialized Database Table Dump” (2007) The Python Papers, Volume 2, Issue 1, pp. 7:15. Copyright Statement © Copyright 2007 The Python Papers and the individual authors This work is copyright under the Creative Commons 2.5 license subject to Attribution, Noncommercial and Share-Alike conditions. The full legal code may be found at http://creativecommons.org/licenses/by-ncsa/2.1/au/ The Python Papers was first published in 2006 in Melbourne, Australia. Referees An academic peer-review was performed on all academic articles. A list of reviewers will be published in each December issue. This has been done in order to ensure the anonymity of reviewers for each paper. The Python Papers, Volume 3, Issue 1 1 The Python Papers Volume Three, Issue One : March 2008 In this Edition: Articles and Editorials: Editorial Page 3 Editor-In-Chief, Tennessee Leeuwenburg Pyfundamentalism: The Emotions Provoked by Python Pages 5-6 Gloria W. Jacobs When doing a search for the term “Pyvangelism”, I found this link: http://webpages.cs.luc.edu/~mt/Python-First/Py1.html, which is a small series of slides, succinctly written by yet another Python fanatic. The words fanaticism and evangelism imply the crossing of a boundary from rational to purely emotional state of mind.
    [Show full text]
  • PDF Booklet for Ebook Readers, Excerpt of This Wiki
    AndroWish Executive Summary Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible. Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more. AndroWish allows to run desktop Tcl and Tk programs almost unaltered on the Android Platform while it opens the door to script a rich feature set of a mobile platform. Its sibling undroidwish uses the same code base and offers a similar feature set on various desktop and embedded platforms. Quick Links Tcl/Tk 8.6 manual, ble, borg, dmtx, modbus, muzic, rfcomm, sdltk, snap7, tclcan, topcua, usbserial, uvc, wmf, v4l2, zbar, zipfs, Documentation list of extensions, list of releases, environment, undroidwish, undroidwish command line switches PDF booklet for eBook readers, excerpt of this wiki Development AndroWish SDK, building#1, building#2, examples Downloads AndroWish-debug.apk, AWSDK.zip Features Native Tcl/Tk 8.6 port for Android (version 2.3.3 or above) available for ARM and x86 processors. Top goal: execute existing Tcl/Tk scripts on Android without modification. Based on Tim Baker's earlier SDLTk project. X11 emulation based on AGG (Anti-Grain-Geometry) and SDL 2.0.
    [Show full text]
  • Poet: an OOP Extension to Tcl Supporting Constraints, Persistence, and End-User Modification Philip J
    Poet: An OOP Extension to Tcl Supporting Constraints, Persistence, and End-User Modification Philip J. Mercurio Thyrd.org [email protected] Abstract Integrated Construction Set) supports end-user inspection and modification of a running application. The primary tool is an object browser that displays an object's attributes Poet (Prototype Object Extension for Tcl) extends the Tcl (called slots), methods, constraints, and relationships to language with objects featuring dynamic, prototype-based other objects. Poetics also employs Poet's optional type inheritance, persistence, and one-way constraints between annotation feature so that appropriate content-specific object attributes. Poet includes wrappers around the Tk and editors can be created to edit slot values. A syntax- BWidget widgets that are automatically generated using highlighting code editor allows an application's source code introspection. This paper also describes Poetics (Poet to be edited, saved, and reloaded in a running application. Integrated Construction Set), a sub-project within Poet to create tools to allow a Poet application's code and user As of this writing, the Poetics tools are incomplete and not interface to be modified by the end-user, from within a ready for end-user use. However, even in its current, running Poet application. The goal of Poetics is to provide limited form Poetics can be very useful to the Poet some of the functionality of an integrated development application developer. environment to the user of a Poet application. An object inspector and code editor are the beginnings of the Poetics Related Work toolset. The primary inspiration for Poet is Self [2], a dynamic object-oriented programming language and environment.
    [Show full text]
  • Mozilla Firefox Project a Mozilla Alapítvány Egy Non-Profit Szervezet, Mely Támogatja És Fejleszti a Nyílt Forráskódú Mozilla Projectet
    Debreceni Egyetem Informatika Kar Modern böngészők a ma Világának A böngészők technológiai fejlődésének elemzése Témavezető: Készítette: Dr. Hajdu András Benkő Péter Egyetemi Adjunktus Gazdaságinformatikus (BSc) Debrecen 2010 Tartalomjegyzék BEVEZETÉS ...................................................................................................................... 3 1. A BÖNGÉSZŐK SZÜLETÉSE ...................................................................................... 6 1.1 AZ INTERNET HAJNALÁN ..................................................................................... 7 1.2 A BÖNGÉSZŐK KORÁNAK KEZDETE: MOSAIC ÉS NETSCAPE ................................... 9 2. A MICROSOFT URALOM ÉS AZ INTERNET EXPLORER SOROZAT ............... 11 2.1 INTERNET EXPLORER 1.0. .................................................................................. 12 2.2 INTERNET EXPLORER 2.0 .................................................................................... 13 2.3 INTERNET EXPLORER 3.0. .................................................................................. 13 2.4 A BÖNGÉSZŐ HÁBORÚ KEZDETE ......................................................................... 14 2.5 INTERNET EXPLORER 4.0. .................................................................................. 15 2.6 INTERNET EXPLORER 5.0. .................................................................................. 17 2.7 INTERNET EXPLORER 6.0. .................................................................................. 18 2.8 A MICROSOFT
    [Show full text]
  • 7Th USENIX Tcl/Tk Conference February 14-18, 2000 Austin, Texas, USA
    7th USENIX Tcl/Tk Conference February 14-18, 2000 Austin, Texas, USA Tutorial Sessions Monday, Feb. 14 to Tuesday, Feb. 15, 2000 Please select one morning and one afternoon tutorial. Sorry, no partial registrations are allowed. Monday, February 14, 2000 Morning Sessions (9:00 am - 12:30 pm) M1am: Effective Tcl/Tk Programming Michael McLennan, Cadence Design Systems, Inc. Who should attend: Programmers and managers who are using Tcl/Tk to build real-world applications. This tutorial assumes a working knowledge of Tcl/Tk and goes beyond that to show how nontrivial Tcl/Tk programs are put together. Topics include: • How to use the Tk canvas widget to synthesize new types of widgets • How to use binding tags to add new widget behaviors • How to organize Tcl code into reusable libraries and packages. These techniques come together to create professional-looking applications that are easier to maintain and extend. Michael McLennan has been a Tcl/Tk enthusiast since 1992. He has taught more than 100 Tcl/Tk courses, and is co-author of Effective Tcl/Tk Programming and Tcl/Tk Tools. He also developed [incr Tcl], an object-oriented extension of Tcl/Tk. Michael, who received a Ph.D. in 1990 from Purdue University, is currently an Architect at Cadence Design Systems, Inc. M2am: XML and Tcl/Tk Steve Ball, Zveno Pty. Ltd. Who should attend: Developers who wish to add XML support to their applications, use XML for storing data, or process XML documents using Tcl. XML is set to revolutionize not only the Web but also many industries and businesses, as it allows easy, robust data exchange between machines.
    [Show full text]
  • Capítulo 8. Telepatología Estática
    Capítulo 8. Telepatología Estática FRANCISCO G. LA ROSA, ERNESTO MORO RODRÍGUEZ 8.1.- Introducción La Telepatología Estática se define como la práctica de patología a distancia basada en la transmisión por vías de telecomunicación de imágenes fijas o estacionarias de especímenes patológicos para su correspondiente interpretación y diagnóstico. Incluidas también en estas transmisiones están la transferencia de información demográfica del paciente, historia clínica, números de identificación, datos de laboratorio, estadísticas, etc. En telepatología estática, es necesario que la persona que selecciona y transmite las imágenes patológicas sea un profe- sional patólogo competente y con conocimientos básicos de patología informática. Al otro lado de las vías de comunicación, es el telepatólogo el que recibe las imágenes electrónicas y efec- túa su evaluación y diagnóstico basado en la información clínica proporcionada. Seguidamente el telepatólogo envía un reporte con sus resultados usando vías de telecomunicación. Dentro de la práctica de patología debe tenerse siempre presente que ésta no se limita al área del diagnóstico médico sino que también incluye las áreas de educación y de investigación. El tiempo mínimo aproximado que puede demorar una consulta por telepat ología estática es de una hora, esto cuando se usan cámaras de TV o cámaras digitales para la captura de las imágenes. En caso del uso de imágenes obtenidas con fotografía de diapositivas (i.e. Kodach- rome, Ektachrome, Fujichrome), seguidas por escaneado, este tiempo puede prolongarse has- ta no más de 3 horas (véase sección 8.2.2a). En la práctica, es importante considerar que el tiempo de consulta por medio de telepatología estática depende en mucho de la disponibilidad del telepatólogo que recibe el caso y de la complejidad del mismo.
    [Show full text]