[dzach] 25-Sep-2005: '''Deep Console''' is a proof of a concept that sprung from [What's wrong with the tree widgets?], which could see interesting implementations in tcl authoring tools. It is based on [D. Richard Hipp]'s Tree widget. Here is one incarnation, in the body of the standard tk console. Another (better) candidate might be [tkinspect]: '''The purpose:''' * Enhance the standard Tk console to include a visual way to explore user defined proc structures in depth. * Enhance editing by providing one-click editing and referers to procs. * Provide in-place viewing and editing of user procs. '''The looks:''' The enhanced console looks like this: [http://user.hol.gr/~dzach/deepconsole/deepconsole.png] '''Usage:''' There are three panes in Deep Console: The proc tree, the proc editor and the console. The tree is initially not populated, since the user might just want to run some console commands and populating the tree for a large application may take some seconds. To populate the tree just press . The tree * The [http://user.hol.gr/~dzach/deepconsole/proc.gif] icons represent user proc definitions * The [http://user.hol.gr/~dzach/deepconsole/cmd.gif] icons represent user command invocations or references. * The end of a proc is marked with a thicker horizontal line. * Clicking on a proc or command icon, or double clicking on a proc name, reveals this proc's contents, in terms of proc names, in the tree pane. * Clicking on a tree proc name, displays that proc in the editor's pane, where the referenced user procs are highlighted. * Pressing refreshes the tree pane, resetting the tree to its colapsed form. The proc editor * Pressing while the text cursor is on (or next to) a highlighted user proc, brings up a view of it for inspection or editting (in-place editing) without leaving the editor pane. will hide the view. * Pressing while a proc is selected in the tree pane, marks referers to this procedure in red in the tree pane. Pressing , or expanding a new proc in the tree pane clears referers marks. * Pressing in the editor or view panes saves the contents of the editor pane, by evaluating them in the console interpreter. Syntax errors are alerted by the interpreter. * Pressing in the editor or view panes, saves the contents as with and refreshes the tree pane. This can be used to insert newly written procs into the tree. * Commands can be executed in a sequence, if they are entered in the edit (or view) pane. Pressing or executes the lines entered in the console interpreter. The code The tcl source code for the Deep Console can be found here [http://users.hol.gr/~dzach/deppconsole/console.tcl]. Feel free to change it to taste. ---- [Category Command]