<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Python: module skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.tableau</title> </head><body bgcolor="#f0f0f8"> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> <tr bgcolor="#7799ee"> <td valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="skeinforge_application.html"><font color="#ffffff">skeinforge_application</font></a>.<a href="skeinforge_application.skeinforge_plugins.html"><font color="#ffffff">skeinforge_plugins</font></a>.<a href="skeinforge_application.skeinforge_plugins.analyze_plugins.html"><font color="#ffffff">analyze_plugins</font></a>.<a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.html"><font color="#ffffff">analyze_utilities</font></a>.tableau</strong></big></big> ($Date: 2008/21/04 $)</font></td ><td align=right valign=bottom ><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/analyze_plugins/analyze_utilities/tableau.py">/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/skeinforge_application/skeinforge_plugins/analyze_plugins/analyze_utilities/tableau.py</a></font></td></tr></table> <p><tt>Tableau has a couple of base classes for analyze viewers.</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#aa55cc"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> <tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> <td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="__init__.html">__init__</a><br> <a href="fabmetheus_utilities.archive.html">fabmetheus_utilities.archive</a><br> <a href="fabmetheus_utilities.euclidean.html">fabmetheus_utilities.euclidean</a><br> </td><td width="25%" valign=top><a href="fabmetheus_utilities.gcodec.html">fabmetheus_utilities.gcodec</a><br> <a href="math.html">math</a><br> <a href="os.html">os</a><br> </td><td width="25%" valign=top><a href="fabmetheus_utilities.settings.html">fabmetheus_utilities.settings</a><br> <a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.zoom_in.html">skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.zoom_in</a><br> <a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.zoom_out.html">skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.zoom_out</a><br> </td><td width="25%" valign=top></td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ee77aa"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> <tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> <td width="100%"><dl> <dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.tableau.html#ColoredLine">ColoredLine</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.tableau.html#ExportCanvasDialog">ExportCanvasDialog</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.tableau.html#TableauRepository">TableauRepository</a> </font></dt><dt><font face="helvetica, arial"><a href="skeinforge_application.skeinforge_plugins.analyze_plugins.analyze_utilities.tableau.html#TableauWindow">TableauWindow</a> </font></dt></dl> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="ColoredLine">class <strong>ColoredLine</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A colored index line.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="ColoredLine-__init__"><strong>__init__</strong></a>(self, begin, colorName, displayString, end, tagString)</dt><dd><tt>Set the color name and corners.</tt></dd></dl> <dl><dt><a name="ColoredLine-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Get the string representation of this colored index line.</tt></dd></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="ExportCanvasDialog">class <strong>ExportCanvasDialog</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>A class to display the export canvas repository dialog.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="ExportCanvasDialog-addPluginToMenu"><strong>addPluginToMenu</strong></a>(self, canvas, fileName, menu, name, suffix)</dt><dd><tt>Add the display command to the menu.</tt></dd></dl> <dl><dt><a name="ExportCanvasDialog-display"><strong>display</strong></a>(self)</dt><dd><tt>Display the export canvas repository dialog.</tt></dd></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="TableauRepository">class <strong>TableauRepository</strong></a></font></td></tr> <tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> <td colspan=2><tt>The viewer base repository class.<br> </tt></td></tr> <tr><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="TableauRepository-addAnimation"><strong>addAnimation</strong></a>(self)</dt><dd><tt>Add the animation settings.</tt></dd></dl> <dl><dt><a name="TableauRepository-addScaleScreenSlide"><strong>addScaleScreenSlide</strong></a>(self)</dt><dd><tt>Add the scale, screen and slide show settings.</tt></dd></dl> <dl><dt><a name="TableauRepository-setToDisplaySave"><strong>setToDisplaySave</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set the setting values to the display, save the new values.</tt></dd></dl> </td></tr></table> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#ffc8d8"> <td colspan=3 valign=bottom> <br> <font color="#000000" face="helvetica, arial"><a name="TableauWindow">class <strong>TableauWindow</strong></a></font></td></tr> <tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td> <td width="100%">Methods defined here:<br> <dl><dt><a name="TableauWindow-activateMouseModeTool"><strong>activateMouseModeTool</strong></a>(self)</dt><dd><tt>Activate the mouse mode tool.</tt></dd></dl> <dl><dt><a name="TableauWindow-addCanvasMenuRootScrollSkein"><strong>addCanvasMenuRootScrollSkein</strong></a>(self, repository, skein, suffix, title)</dt><dd><tt>Add the canvas, menu bar, scroll bar, skein panes, tableau repository, root and skein.</tt></dd></dl> <dl><dt><a name="TableauWindow-addLayer"><strong>addLayer</strong></a>(self, gridPosition)</dt><dd><tt>Add the layer frame items.</tt></dd></dl> <dl><dt><a name="TableauWindow-addLine"><strong>addLine</strong></a>(self, gridPosition)</dt><dd><tt>Add the line frame items.</tt></dd></dl> <dl><dt><a name="TableauWindow-addMouseInstantTool"><strong>addMouseInstantTool</strong></a>(self, fileName, gridPosition, mouseInstantTool)</dt><dd><tt>Add the mouse instant tool and derived photo button.</tt></dd></dl> <dl><dt><a name="TableauWindow-addMouseToolsBind"><strong>addMouseToolsBind</strong></a>(self)</dt><dd><tt>Add the mouse tool and bind button one clicked, button one released and motion.</tt></dd></dl> <dl><dt><a name="TableauWindow-addPhotoImage"><strong>addPhotoImage</strong></a>(self, fileName, gridPosition)</dt><dd><tt>Get a PhotoImage button, grid the button and increment the grid position.</tt></dd></dl> <dl><dt><a name="TableauWindow-addScale"><strong>addScale</strong></a>(self, gridPosition)</dt><dd><tt>Add the line frame items.</tt></dd></dl> <dl><dt><a name="TableauWindow-addSettingsMenuSetWindowGeometry"><strong>addSettingsMenuSetWindowGeometry</strong></a>(self, center)</dt><dd><tt>Add the settings menu, center the scroll region, update, and set the window geometry.</tt></dd></dl> <dl><dt><a name="TableauWindow-button1"><strong>button1</strong></a>(self, event)</dt><dd><tt>The button was clicked.</tt></dd></dl> <dl><dt><a name="TableauWindow-buttonRelease1"><strong>buttonRelease1</strong></a>(self, event)</dt><dd><tt>The button was released.</tt></dd></dl> <dl><dt><a name="TableauWindow-cancel"><strong>cancel</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set all entities to their saved state.</tt></dd></dl> <dl><dt><a name="TableauWindow-cancelTimer"><strong>cancelTimer</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Cancel the timer and set it to none.</tt></dd></dl> <dl><dt><a name="TableauWindow-cancelTimerResetButtons"><strong>cancelTimerResetButtons</strong></a>(self)</dt><dd><tt>Cancel the timer and set it to none.</tt></dd></dl> <dl><dt><a name="TableauWindow-close"><strong>close</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>The dialog was closed.</tt></dd></dl> <dl><dt><a name="TableauWindow-createMouseModeTool"><strong>createMouseModeTool</strong></a>(self)</dt><dd><tt>Create the mouse mode tool.</tt></dd></dl> <dl><dt><a name="TableauWindow-destroyAllDialogWindows"><strong>destroyAllDialogWindows</strong></a>(self)</dt><dd><tt>Destroy all the dialog windows.</tt></dd></dl> <dl><dt><a name="TableauWindow-destroyMouseToolRaiseMouseButtons"><strong>destroyMouseToolRaiseMouseButtons</strong></a>(self)</dt><dd><tt>Destroy the mouse tool and raise the mouse buttons.</tt></dd></dl> <dl><dt><a name="TableauWindow-dive"><strong>dive</strong></a>(self)</dt><dd><tt>Dive, go down periodically.</tt></dd></dl> <dl><dt><a name="TableauWindow-diveCycle"><strong>diveCycle</strong></a>(self)</dt><dd><tt>Start the dive cycle.</tt></dd></dl> <dl><dt><a name="TableauWindow-getAnimationLineDelay"><strong>getAnimationLineDelay</strong></a>(self, coloredLine)</dt><dd><tt>Get the animation line delay in milliseconds.</tt></dd></dl> <dl><dt><a name="TableauWindow-getDrawnLineText"><strong>getDrawnLineText</strong></a>(self, location, tags, text)</dt><dd><tt>Get the line text drawn on the canvas.</tt></dd></dl> <dl><dt><a name="TableauWindow-getEntityFromName"><strong>getEntityFromName</strong></a>(self, name)</dt><dd><tt>Get the entity of the given name.</tt></dd></dl> <dl><dt><a name="TableauWindow-getPhotoButtonGridIncrement"><strong>getPhotoButtonGridIncrement</strong></a>(self, commandFunction, fileName, gridPosition)</dt><dd><tt>Get a PhotoImage button, grid the button and increment the grid position.</tt></dd></dl> <dl><dt><a name="TableauWindow-getRoundedRulingText"><strong>getRoundedRulingText</strong></a>(self, extraDecimalPlaces, number)</dt><dd><tt>Get the rounded ruling text.</tt></dd></dl> <dl><dt><a name="TableauWindow-getRulingSeparationWidthPixels"><strong>getRulingSeparationWidthPixels</strong></a>(self, rank)</dt><dd><tt>Get the separation width in pixels.</tt></dd></dl> <dl><dt><a name="TableauWindow-getScrollPaneCenter"><strong>getScrollPaneCenter</strong></a>(self)</dt><dd><tt>Get the center of the scroll pane.</tt></dd></dl> <dl><dt><a name="TableauWindow-getScrollPaneFraction"><strong>getScrollPaneFraction</strong></a>(self)</dt><dd><tt>Get the scroll pane top left.</tt></dd></dl> <dl><dt><a name="TableauWindow-getSlideShowDelay"><strong>getSlideShowDelay</strong></a>(self)</dt><dd><tt>Get the slide show delay in milliseconds.</tt></dd></dl> <dl><dt><a name="TableauWindow-getUpdateSkeinPanes"><strong>getUpdateSkeinPanes</strong></a>(self)</dt><dd><tt>Get the update skein panes.</tt></dd></dl> <dl><dt><a name="TableauWindow-isLineBelowZeroSetLayer"><strong>isLineBelowZeroSetLayer</strong></a>(self)</dt><dd><tt>Determine if the line index is below zero, and if so set the layer index.</tt></dd></dl> <dl><dt><a name="TableauWindow-isLineBeyondListSetLayer"><strong>isLineBeyondListSetLayer</strong></a>(self)</dt><dd><tt>Determine if the line index is beyond the end of the list, and if so set the layer index.</tt></dd></dl> <dl><dt><a name="TableauWindow-keyPressDown"><strong>keyPressDown</strong></a>(self, event)</dt><dd><tt>The down arrow was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-keyPressLeft"><strong>keyPressLeft</strong></a>(self, event)</dt><dd><tt>The left arrow was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-keyPressReturn"><strong>keyPressReturn</strong></a>(self, event)</dt><dd><tt>The return key was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-keyPressRight"><strong>keyPressRight</strong></a>(self, event)</dt><dd><tt>The right arrow was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-keyPressUp"><strong>keyPressUp</strong></a>(self, event)</dt><dd><tt>The up arrow was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-layerEntryReturnPressed"><strong>layerEntryReturnPressed</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>The layer index entry return was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-limitIndex"><strong>limitIndex</strong></a>(self)</dt><dd><tt>Limit the index so it is not below zero or above the top.</tt></dd></dl> <dl><dt><a name="TableauWindow-limitIndexSetArrowMouseDeleteCanvas"><strong>limitIndexSetArrowMouseDeleteCanvas</strong></a>(self)</dt><dd><tt>Limit the index, set the arrow type, and delete all the canvas items.</tt></dd></dl> <dl><dt><a name="TableauWindow-lineDive"><strong>lineDive</strong></a>(self)</dt><dd><tt>Line dive, go down periodically.</tt></dd></dl> <dl><dt><a name="TableauWindow-lineDiveCycle"><strong>lineDiveCycle</strong></a>(self)</dt><dd><tt>Start the line dive cycle.</tt></dd></dl> <dl><dt><a name="TableauWindow-lineEntryReturnPressed"><strong>lineEntryReturnPressed</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>The line index entry return was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-lineSoar"><strong>lineSoar</strong></a>(self)</dt><dd><tt>Line soar, go up periodically.</tt></dd></dl> <dl><dt><a name="TableauWindow-lineSoarCycle"><strong>lineSoarCycle</strong></a>(self)</dt><dd><tt>Start the line soar cycle.</tt></dd></dl> <dl><dt><a name="TableauWindow-motion"><strong>motion</strong></a>(self, event)</dt><dd><tt>The mouse moved.</tt></dd></dl> <dl><dt><a name="TableauWindow-phoenixUpdate"><strong>phoenixUpdate</strong></a>(self)</dt><dd><tt>Update the skein, and deiconify a new window and destroy the old.</tt></dd></dl> <dl><dt><a name="TableauWindow-redisplayWindowUpdate"><strong>redisplayWindowUpdate</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Deiconify a new window and destroy the old.</tt></dd></dl> <dl><dt><a name="TableauWindow-relayXview"><strong>relayXview</strong></a>(self, *args)</dt><dd><tt>Relay xview changes.</tt></dd></dl> <dl><dt><a name="TableauWindow-relayYview"><strong>relayYview</strong></a>(self, *args)</dt><dd><tt>Relay yview changes.</tt></dd></dl> <dl><dt><a name="TableauWindow-resetPeriodicButtonsText"><strong>resetPeriodicButtonsText</strong></a>(self)</dt><dd><tt>Reset the text of the periodic buttons.</tt></dd></dl> <dl><dt><a name="TableauWindow-save"><strong>save</strong></a>(self)</dt><dd><tt>Set the setting values to the display, save the new values.</tt></dd></dl> <dl><dt><a name="TableauWindow-scaleEntryReturnPressed"><strong>scaleEntryReturnPressed</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>The scale entry return was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-setButtonImageText"><strong>setButtonImageText</strong></a>(self, button, text)</dt><dd><tt>Set the text of the e periodic buttons.</tt></dd></dl> <dl><dt><a name="TableauWindow-setDisplayLayerIndex"><strong>setDisplayLayerIndex</strong></a>(self)</dt><dd><tt>Set the display of the layer index entry field and buttons.</tt></dd></dl> <dl><dt><a name="TableauWindow-setInsetToCanvas"><strong>setInsetToCanvas</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set the repository insets to the canvas.</tt></dd></dl> <dl><dt><a name="TableauWindow-setLayerIndex"><strong>setLayerIndex</strong></a>(self, layerIndex)</dt><dd><tt>Set the layer index.</tt></dd></dl> <dl><dt><a name="TableauWindow-setLineButtonsState"><strong>setLineButtonsState</strong></a>(self)</dt><dd><tt>Set the state of the line buttons.</tt></dd></dl> <dl><dt><a name="TableauWindow-setWindowNewMouseTool"><strong>setWindowNewMouseTool</strong></a>(self, getNewMouseToolFunction, mouseTool)</dt><dd><tt>Set the getNewMouseTool function and the update function.</tt></dd></dl> <dl><dt><a name="TableauWindow-setWindowToDisplaySavePhoenixUpdate"><strong>setWindowToDisplaySavePhoenixUpdate</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set the setting values to the display, save the new values, then call the update function.</tt></dd></dl> <dl><dt><a name="TableauWindow-setWindowToDisplaySaveUpdate"><strong>setWindowToDisplaySaveUpdate</strong></a>(self, event<font color="#909090">=None</font>)</dt><dd><tt>Set the setting values to the display, save the new values, then call the update function.</tt></dd></dl> <dl><dt><a name="TableauWindow-shiftButtonRelease1"><strong>shiftButtonRelease1</strong></a>(self, event)</dt><dd><tt>The button was released while the shift key was pressed.</tt></dd></dl> <dl><dt><a name="TableauWindow-shiftMotion"><strong>shiftMotion</strong></a>(self, event)</dt><dd><tt>The mouse moved.</tt></dd></dl> <dl><dt><a name="TableauWindow-soar"><strong>soar</strong></a>(self)</dt><dd><tt>Soar, go up periodically.</tt></dd></dl> <dl><dt><a name="TableauWindow-soarCycle"><strong>soarCycle</strong></a>(self)</dt><dd><tt>Start the soar cycle.</tt></dd></dl> <dl><dt><a name="TableauWindow-updateDeiconify"><strong>updateDeiconify</strong></a>(self, center<font color="#909090">=(0.5+0.5j)</font>)</dt><dd><tt>Update and deiconify the window.</tt></dd></dl> <dl><dt><a name="TableauWindow-updateMouseToolIfSelection"><strong>updateMouseToolIfSelection</strong></a>(self)</dt><dd><tt>Update the mouse tool if it is a selection tool.</tt></dd></dl> <dl><dt><a name="TableauWindow-updateNewDestroyOld"><strong>updateNewDestroyOld</strong></a>(self, scrollPaneCenter)</dt><dd><tt>Update and deiconify a window and destroy the old.</tt></dd></dl> </td></tr></table></td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#eeaa77"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> <td width="100%"><dl><dt><a name="-getGeometricDifference"><strong>getGeometricDifference</strong></a>(first, second)</dt><dd><tt>Get the geometric difference of the two numbers.</tt></dd></dl> <dl><dt><a name="-getGridHorizontalFrame"><strong>getGridHorizontalFrame</strong></a>(gridPosition)</dt><dd><tt>Get the grid horizontal object with a frame from the grid position.</tt></dd></dl> <dl><dt><a name="-getIsLayerStart"><strong>getIsLayerStart</strong></a>(firstWord, skein, splitLine)</dt><dd><tt>Determine if the line is the start of a layer.</tt></dd></dl> <dl><dt><a name="-getLengthMinusOneMinimumOne"><strong>getLengthMinusOneMinimumOne</strong></a>(elementList)</dt><dd><tt>Get the length of the length minus one, minimum one.</tt></dd></dl> <dl><dt><a name="-getPluginsDirectoryPath"><strong>getPluginsDirectoryPath</strong></a>()</dt><dd><tt>Get the plugins directory path.</tt></dd></dl> <dl><dt><a name="-getScrollbarCanvasPortion"><strong>getScrollbarCanvasPortion</strong></a>(scrollbar)</dt><dd><tt>Get the canvas portion of the scrollbar.</tt></dd></dl> <dl><dt><a name="-setStateNormalDisabled"><strong>setStateNormalDisabled</strong></a>(active, widget)</dt><dd><tt>Set the state of the widget to normal if active and disabled if inactive.</tt></dd></dl> </td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#55aa55"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr> <tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td> <td width="100%"><strong>__author__</strong> = 'Enrique Perez (perez_enrique@yahoo.com)'<br> <strong>__date__</strong> = '$Date: 2008/21/04 $'<br> <strong>__license__</strong> = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'<br> <strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)</td></tr></table><p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#7799ee"> <td colspan=3 valign=bottom> <br> <font color="#ffffff" face="helvetica, arial"><big><strong>Author</strong></big></font></td></tr> <tr><td bgcolor="#7799ee"><tt> </tt></td><td> </td> <td width="100%">Enrique Perez (perez_enrique@yahoo.com)</td></tr></table> </body></html>