ChangeLog for Visual Tcl: 1.6.0 -> 1.6.1a1 o Changed the CVS type of several GIF files, which prevented correct checkout on Windows and probably MAC. o Fixed BUG ID 823361: Problem undoing Toplevel. o Fixed errors caused by clicking on unregistered widgets. Those created by tkcon or at runtime. o Disallow removing top when in test mode. o Several toolbar enhancements (sections and others). o Check the syntax of procedures, bindings, commands, etc., avoid saving projects that cannot be reloaded because of a missing brace. 1.6.0b2 -> 1.6.0 o Do not save a menubutton's menu if it does not exist. o Redesigned font and image selection from attributes manager. o If freewrap is not installed, will tell user where he/she should install it. o Added help. o Saving help window position and size. o Added database viewer megawidget sample and image list megawidget sample. o Redesigned font manager using BWidget's listbox. o Redesigned image manager using BWidget's listbox. 1.6.0b1 -> 1.6.0b2 o Saving fonts with description rather than a font key. This will allow compounds to be merged into an existing project without problems. o Megawidgets properties can now be edited by right-clicking and selecting the "Edit Megawidget..." option. Megawidgets properties now saved into project file. o When inserting a compound, if it already exists, preselect the list of procs that go with it. o For creation of megawidgets, added right-click option "Save Megawidget to a File" that creates a compound and saves it into a file. o Fixed problem where was not dumping grid geometry for BWidget and Itcl notebook pages. o Added more tutorial samples. o Replaced inline light bulb image by .gif image because of problem with Tcl/Tk 8.4.2 o Undo support for adding/removing a binding. o Fixed troublesome auto indentation. o First saves to temp file, then if saving succeeds replaces target file. This prevents generating corrupt project files when saving fails. 1.6.0a3 -> 1.6.0b1 o Added "Run Visible" property for toplevels. What it does is always show the toplevel in EDIT mode but hide it in TEST mode and when project is run outside vTcl. Overrides the "state" property when off. o Redone the menu editor, now showing all the properties for entries. o Allows editing of alias in attributes editor. o When a childsite is deleted, update any possibly open childsite editor. o Fixed bug saving menubutton. o Fixed bug when selecting a menu for the first time before selecting a toplevel window. o Added Set Multiline Text option for labels. o When a compound is created, it stores which libraries it is using (eg. tablelist, BLT, itcl, tix, ...). o Converted compounds to new system with namespaces. o Added compound container widget, to insert compounds as black boxes. o When a megawidget is deleted, any open editor for pages of this widget will be closed. o When a megawidget is deleted, all of its children's aliases are now deleted. 1.6.0a2 -> 1.6.0a3 o Support for Iwidgets spintime. o Added code to ensure multiple file projects track symbolic links on loading. I think the code was submitted by Jorge Leon (hope I spell it right) a few months ago. Thanks! o Dump a menu even if it has no entries. Otherwise, empty menu buttons won't work. o Trying to get the aliases really work. Basically, each toplevel now holds a list of aliases, and pasting/inserting widgets checks for existing aliases and auto-numbers them. o Before applying geometry options, reset the bindings to their TEST mode equivalent so that tabnotebooks and other megawidgets properly resize when changing their geometry (expand, fill, etc.). After applying geometry options, set bindings back to EDIT mode. o Remove right-click context menu for geometry options, because it was not functional. o Saving project info (eg. which options are saved) now uses fully relative widget paths. Each widget class can now be responsible for saving its own info into the project file. o In attributes editor, the color selection dialog appears on button release, not on button press. o Added publish/subscribe design pattern to have an elegant way to send events throughout vTcl. Among these events are "test_mode" and "edit_mode". o Used this new notification mechanism to update all proc windows when switching from edit mode to test mode. o Support for tablelist widget. o Getting rid of the old stack trace dialog and using TkCon instead. o Added unmanaged frame widget. This is a frame where you can programmatically insert any widgets you like. Visual Tcl won't care about them, it will not save them into the project either. o Fixed bug where TkCon would load a project then vTcl would load it one more time. o Fixed bug where .x would appear in widget tree when loading a project on the command line. o Fixed bug where deleting a bwidget notebook resulted in an error box. o Variables with the form .top33::my_var are now replaced by $top\::my_var instead of $base\::my_var. o Binding tags now use $top to refer to the top level window. This will allow easy copy/paste of compounds between toplevels. o Added Context Menu to Itcl paned window to edit panes. o Fixed BWidget Spinbox that was broken by namespacization. o When dumping binding tags, replace occurences of the widget path by %W to remove absolute paths to widgets. o Aliases are dumped alongside each widget. o New way of dumping widgets: frames recursively dump themselves, same for menus. Goals: - widget paths are relative to their parent - this makes the projet file smaller - compounds will be managed using dumping code => bye bye complicated compound structures with multilevel lists - easier copy/paste of code from vTcl to outside world (a frame can be now copied/pasted as one block) o Applied patch from Eric Taylor to allow setting an option for all widgets of the same class in the parent widget. o Added panedwindow widget for Tk 8.4. If Tk 8.4 is present, paned window widget is removed from the toolbar for the BWidget library, because it has the same class name. By design vTcl does not support different widgets with the same class. o Changed spinbox icon to gray (Tk 8.4) o Added labelframe widget (Tk 8.4) o Fixed problem where an alias would be defined twice when doing copy/paste in the same toplevel. o Prevents the user from using pack and grid in the same container. This hangs the program completely (Tk bug). 1.6.0a1 -> 1.6.0a2 o Fixed tooltips bindings bug. o Added tooltip option to checkbutton, radiobutton, message, scale, text o Megawidgets editor does not allow to delete the last subitem (eg. the last column, or the last page in a tabnotebook) o Added BLT Bar chart widget o Namespace'izing widgets for cleaner code o Saving suboptions for megawidgets according to checkboxes. o For megawidgets, saving checkboxes for saving suboptions or not. o Fixed bug where setting geometry padx/y option would set regular padx/y option for button widget. o If "autoload compounds" option is on, but file is not found, option is turned off. o If "autoload compounds" option is on, but no file has been specified, asks for a file. If user cancels file selection dialog box, autoload compounds option is turned off. If user specified a file, it is saved in the preferences. o Fixed dump format bug where it would trim the first line of a proc. o Open/Save file dialog box now uses the title it is passed as a parameter. o Fixed problem with .vTcl.con being renamed to .vTcl.tkCon o Added widget path to bindings editor o Bindings editor now enables insert button and insert menu when selecting a widget o Made insert advanced binding dialog modal, added buttons at the bottom of the dialog the way it should be for modal dialogs 1.52 -> 1.6.0a1 o Editing for tixPanedWindow. o Fixed scrollbar bug, when right-click / Attach to widget wouldn't save the -command and -x/yscrollcommand options into the project. o Right-click menu to edit Iwidgets toolbar o Added icons for vertical/horizontal panedwindow in IWidgets o Set reasonable defaults for scrollbar width/border under Unix o Toolbar can now be resized o Support for scrolled window and scrolled frame in BWidgets o Support font option in menu editor. o Fixed closing brace bug. o Added scrolledcanvas for [Incr widgets] o Editing radioboxes, checkboxes and buttonboxes o Support for %top and %widget in commands for megawidget subitems (eg. commands for a button in a buttonbox) o Fixed find/replace problem where replace string is a superset of find string. o Display asterisk in title bar to show that changes have been made. o Added BLT tab set. o Added BWidgets paned window. o Added a list of choices for the -cursor option. o Multicolumn listbox: - fix for -labelrelief option - dump columns into project - new columns option in attributes editor o Fix in compound code for copy/paste of BWidget notebook. o Again use raise command if tk >= 8.3.4 where the 2-second delay on some X Windows managers has been fixed. o Added support for BWidget combo box. o Modified notebook class of BWidget to use class bindings instead of widget bindings. This prevents saving bindings into the project. o Default insertion of three pages when creating new bwidgets tabnotebook. o Display of pages of bwidgets tabnotebook in attributes editor. o Dumping bwidgets tabnotebook in file. o Selection of tab/notebook pages from attributes editor. o Laying out the foundation for custom class options. Current custom class option is -_tooltip. Each custom class option has commands for config- uring and updating the option in the attributes manager. o Better and simpler implementation of action to take when focus lost in attributes editor. Now, when the user presses a key in an attribute, the command to execute is stored until either he presses Return or the focus gets lost. When the entry field loses the focus, the command gets executed. o Sorting names of packages in the system inspector. o If the package Img can be found, adds more file types to the image manager: JPEG, BMP. o Shift-click will now place the last widget placed. This sort of bombs the shift-click scrollbar feature, but since it's in the widget menu of the scrollbar, we don't really lose functionality. o Removed the quit confirmation when exiting. o Added a preference option for Widget Tree highlight color. o The command window remembers where it was and saves. o Made news return immediately and fetch in the background so that vTcl doesn't hang while waiting for news to come back. o Fixed saving bug introduced when adding "save position" and "save size" options for toplevels. This broke projects with Iwidgets childsites. o Saving balloon help code with conditional statement so it does not get reloaded into vTcl. o A bit of cleanup. o Added "ClassOption" command to define special options on a class basis. For example, labels can have tooltips, tabbed notebooks will have a combobox to select a page, toplevels will have a "module" option, and so on. o Added a few more images for BWidgets. o Removed support for Entry, Label and Button in BWidget until we find a way to distinguish these widgets from Tk widgets. Otherwise, this will break existing projects when they are resaved, by replacing their command from "entry" to "Entry" for example. o Added a bunch of options in the preferences to make Luke happy :-) - entry background color - entry active color - listbox background color o Background color in preferences uses BWidget color selection. o Default font for Windows now {MS Sans Serif} 8. Default font for Unix is Helvetica 12. o Tooltip option still hardcoded now but custom options will eventually be programmable. Added special registration proc to register options not available with configure. o Fix to allow saving projects using the ::blt::busy command (not the most elegant one but the easiest one that required the less retesting) o Using the BWidget font selector o Support for dump/copy/paste of Iwidget optionmenu o Added patch from Don Porter to support Tk8.4. This is a short term solution until we stop using internal Tk variables and commands. o Added "Do not show news on startup" checkbox o Support for copy/paste in itcl toolbar, buttonbox, checkbox, radiobox o Trying to compute approximate height of preferences dialog based on dialog font and a hidden radio button. Seems a good compromise. o Set font for notebook widget to vtcl dialog font so it looks uniform. o Added tooltip text property in attributes window. o Done a bit of compacting in some library routines. o Preparing support for balloon help in projects by making all balloon help code self contained in a binding tag. This way, to set the balloon for a widget, the _vTclBalloon tag should be added, and for the widget, the <> event should be defined with the following code: "set ::vTcl::balloon::%w {balloon help text}". Will add support for property manager soon. o Goal to have balloon code in a binding tag: support for copy/paste, very few changes to code generation, backward compatible with 1.5.2 o Made code to dump procedures/functions more uniform. o Added "foreach" body support to stack trace window. o Repaired problem with new project generating error on save. o Saving geometry with or without position and size, depending on "set origin" and "set size" properties. o Added "set origin" and "set size" option to toplevels. To be saved in the project soon. o Fixed what Damon broke in the toplevel list :-) o Added vTcl(pr,entryactivecolor) preference to set the bgcolor when the mouse pointer is over entry fields. o Renamed vTcl(propmgr,relief) to vTcl(pr,proprelief) so it gets saved in .vtclrc, and the user can change it to his liking o Operation cleanup: insert commands for widgets no longer return a string to execute. Instead, the insert proc is run with the target as a parameter. o Moved all insert cmds to their individual widget files where they belong. o Added default scrollbar size of 14 for Linux/Unix users. For some reason when using pack/grid, nice scrollbars with a width of 10 having a border width of 2 have a total width of 14. But, using the place manager (which BWidget seems to be using with the scrollbars), the width option encompasses both the width of the draggable bar plus the width of the border. To summarize, scrollbars with of width of 10 that are packed or gridded look exactly the same as scrollbars with a width of 14 that are placed (ok, you get it now?). o Removed extraneous option database entries that we define already. o Fixed a bug in the system inspector where some windows would not have a widget procedure and would not respond to the standard configure command. This happens for some special temporary windows created by BWidgets. o Removed the container thing for toplevels. The idea was to create one toplevel for each page of a tabnotebook and then call the toplevel creation proc with a special parameter to put the widgets inside the tabnotebook's pages. Since we now allow direct editing of tabnotebook pages this feature becomes no longer necessary. o Removed a bunch of borderwidth options in the property manager to use standard values. If we want different values we should use the option database instead of hardcoding them for each single widget. o Added a "New Project Wizard" that appears when a new project is created. Still in the fledgling stages, but it's there. o Better way of exiting a user app. When toplevels are created, a count is maintained. When count goes back to zero, application exits. Defined a special binding tag for this. o Removed vTcl:WindowsCleanup no more needed because of above mechanism. o Readded call to vTcl:raise in tkCon initialization o Bound the entries in the attribute editor to change color with focus o Removed call to raise in console.tcl to speed painting of tk_con in KDE2 o Removed vTcl:show_console in KDE2 o Modified vTcl:attrbar:toggle_console to run ::vTcl::InitTkcon only one time and to do the work of vTcl:show_console o Made a fix that I hope will fix the cursor problem. o System inspector shows window class in left pane o Widget tree now uses "dialog font" from the preferences. o Cleaned up alias definitions in bindings editor too. o Toplevel now links the WM_DELETE_WINDOW protocol event to the <> virtual event. o Option for dialog font now works using the option database, allowing to change the font for the entire application o Option for fixed font also works using only option database o More cleanup for alias definitions. o Added basic support for more BWidgets. o Fixed bug where handles would sometimes appear on the toplevel window. o Added propagate patch from Simon for pack/grid geometry managers. o Added call to tk_setPalette to set color scheme according to preferences. o Fix for correctly dumping labeledframe with contained widgets. o Added wheel mouse support to the property manager. o Cleaned up some of the BWidget support. o Added Escape and Return key bindings to preferences window. o Added more tests to automated test script. o Restored vTcl:exit stuff like it was in 1.5.2 because vTcl wouldn't exit if the command console was open. Need to figure out how to make the exit command work inside the command console. o Set highlight color to what the preference is. o Cleaned up the tk_strictMotif code. Added a ::vTcl::MessageBox proc. o Replaced all instances of Ok buttons with the ::vTcl::OkButton command. o Replaced all instances of Cancel buttons with the ::vTcl::CancelButton command. o If a toolbar button, label or menubutton is disabled, it will not raise when the mouse passes over it. o Using transparent GIF images. o Added background color tab in preferences. o Message boxes don't use tk_strictMotif 1.51 -> 1.52 o Fixed startup bug 1.51b4 -> 1.51 o Filter dynamically created proc for progress bar widgets o Used uplevel instead of eval for evaluation of scrollbar command in multicolumn listbox o Replaced vTcl:dialog by tk_messageBox everywhere. o Modified demo app Visual Text to support tag names with spaces. o Fixed problem when Tcl/Tk 8.3.3 from ActiveState passes a {} parameter to the command line causing Visual Tcl to fail on startup o Added code to dump a toolbar with its components. o Don't allow inserting into widgets that are not part of the widget tree o Fixed bug where combobox/mclistbox/progressbar code wouldn't be saved with project in some situations o File Open/Save remembers last directory o Added "-listvariable" option for listbox o Added "Reload" button to image manager, to reload images modified by other programs like image editors. o Added <> event for toplevels o Added <>, <> and <> virtual events for toplevels. o Updated demo app with these virtual events. o Removed (pre) and (post) mechanism for toplevels. o Added GPL copyright for Tk widgets description files. o Fixed find/replace bug with dollar sign in text to find. o Find/Replace highlights text when a match is found. o Fixed bug when copy/paste widgets with non-standard binding tags o When a toplevel is destroyed, refresh the bindings editor o Added bitmapbutton compound and test app in demo folder o Added toolbar buttons to visual text application o Added horizontal scrollbars to command and proc editors o No need to remove duplicates from the MRU list, because when a file is added to this list, the code checks if the file already exists in the list and removes it if needed, then adds it at the top of the list. o Fixed bug where Tclets with pack or grid manager wouldn't run because of wrong window path o Simplified a bit demo app by removing alias for main window o Fixed bug with %top substitution for menu items o Automatically assigns a default variable for entry and scale widgets o Added same %widget and %top mechanism for menu commands; this allows a menu to know in which toplevel it is located, or to reconfigure itself if needed o Fixed bug where binding tags would all of a sudden disappear from a project after bindings editor is being displayed. o Added Ctrl + N, Ctrl + O, Ctrl + S, Ctrl + Q and F1 keyboard shortcuts to demo application VisualText o listbox and text widget on creation take default values for -font option o new text widgets have a white background o replaced %W by %widget for command options, to avoid conflicts with %W from the bind command o -command options can have substitution strings: %W will be replaced by the widget path %top will be replaced by the toplevel path o Now checks for Tcl/Tk 8.3 version or higher o Saves -variable with namespace as $base\::variable instead of .top22::variable o Sets default -variable for checkbutton and radiobutton o Added 'Insert image...' menu item to VisualText o Replaced 'wm withdraw .top22' by 'wm withdraw $base' in saved project o Added Shift + Click functionality to scrollbar to link to table widget o Namespace'ized demo application VisualText o Added 'About' box in Visual Text o Now dumps procedures with a header including procedure name o Added - to characters for commands in syntax colouring o Fixing _ problem in toplevel names when saving projects with scrollbars o Toplevels are now automatically assigned a namespace with the window path, allowing the user to save his data inside. For example, a window named .top22 will be assigned a ::.top22 namespace while a window named my_own_window will have a ::my_own_window namespace. It is recommended to use this namespace to store variables like check box variable, radio box variable, etc. o Fixed a few tix bugs: tixFileEntry, tixScrollHList o Added -fillcolor option to tixMeter o Fix cursor bug on insert if clicking too fast o Fixed bug where closing menu editor wouldn't save changes o Fixed aliases bugs in menu editor o Removed a few unused variables in menu editor o Made toplevel menus flat o Added to simple bindings menu o Removed <> bindings from binding editor o Added demo application 'visual-text.tcl' using Bryan Oakley's code to dump an entire text widget contents into a file o Prevent the same alias from being defined in two toplevels o Center alias dialog and command dialog if no widget has been selected using the mouse (it is possible to select a widget in the widget tree) o Use as many default values as possible for new menu widgets o Fixed bug where Visual Tcl would switch the manager for a menu from 'wm' to 'place' o When moving menu items up and down, selects item at new position o Adopted Interned Explorer-like toolbar buttons for a much nicer look (well, that's my opinion at least) o Fixed lremove bug in bindings editor o Added more default values to scale and message widget, to avoid saving them in the project when not needed. o Updated tix panedwindow and notebook to save childsites using relative paths (eg. asking the megawidget the path to its childsites instead of hardcoding it in the project) o Found how to dump scrollbars with childsites to avoid absolute widget paths. o Made sure not-to-be-saved options won't be saved again after a project is reloaded. o Fixed bug for right-click context menu "Hide" doing nothing for toplevels. o Do not use the raise command on Linux, because it is too slow (2 second delay waiting for faulty X-Windows implementation to respond to message) o Fixed balloon help already existing window bug. o Cleaned up dumping megawidgets and their childsites. There are no more absolute paths, instead the code asks for each childsite in turn and stores its path into a variable. Still need to figure out how to save scrollbars with this new mechanism. o Fixed default options problem for megawidgets childsites. o Added code to select pages in tabnotebook and notebook widgets when selecting a frame in the widget tree o Made sure Visual Tcl doesn't change the manager for childsites! This was the "manager switches from pack to place" mysterious bug, which is actually not a Tk bug at all. What happened is when a widget is selected, if it is hidden, Visual Tcl tried to re- manage it using the default manager. o Unregister widgets (delete their namespace) when destroyed o Cleaned up the keyboard scrolling in the property manager. o Fixed a bug where options would get changed while scrolling in the property manager. o Fixed delete toplevel bug o Added support for deleting childsites in notebook/panedwindow (Tix) o Added support for deleting childsites in tabnotebook/notebook [Iwidgets] o Added notebook widget for Itcl. Supports copy/paste. o Common options like -background take their default values on project load unless, of course, the option is saved in the project o Support copy/paste for megawidgets tixPanedWindow and tixNoteBook o Megawidgets don't save their internal grid geometry o Added necessary compound code to allow copy/paste of megawidgets with childsites. Enabled tabnotebook and panedwindow [Iwidgets] with this functionality. o Fixed copy/paste bug where megawidgets would lose their options after saving. o Added code to prevent special IWidgets binding tags from beeing saved in the project. 1.51b3 -> 1.51b4 o Now prevents the user from trying to assign the same alias to 2 or more widgets inside the same toplevel. o Added command in the toolbar to auto-place widgets o Added column and row stretch options to tkTable library o When a toplevel compound is inserted, do not require the user to click anywhere, because this does not make sense. Instead, insert the compound directly. o Fixed copy/paste problem for toplevels. o Fixed "ask for widget name on insert" problem for toplevels. o When inserting a compound, widgets are registered one at a time as the compound is created, instead of after the compound creation. This allows default values for the widget to be known and applied when possible (see below). o When inserting a compound, widgets for which options aren't specified take their default values for the most common options like -background, -highlightbackground, etc. This reduces the size of saved projects. o Made the "-width" option for scrollbar widgets not saved by default (the user can still override the option by clicking on the checkbox next to the "-width" option) o Have the most common options like -background, -activebackground etc. take their default value when a widget is created, instead of using the value from the options database. This saves space when saving projects, and makes it easier to port them to other platforms. o Fixed "Set command" bug where it would prevent from saving the project o Made sure -label, -anchor and other options are saved o Fixed error when inserting compound for the first time after starting vTcl o The behavior for aliases in compounds is modified as such: - if there are aliases in the compound, define them when compound is inserted (so the alias will point to the pasted widget, not the original one, but because vTcl allows same aliases to exist in several toplevels, this is not a problem) - if there are no aliases for subwidgets in the compound, and the "Auto Aliasing for New Widgets" option is turned on, then new automatic aliases are created - if a compound is pasted into a toplevel with an alias that already exists in the same toplevel, then a new automatic alias is created o Added right-click menu in attributes editor to allow setting an option for a range of widgets at once, as well as to save/not save options and restore the default value for an option 1.51b2 -> 1.51b3 o Usability improvements: - added "Set Variable" for checkbutton and radiobutton - added "Set Value" for radiobutton - added "Edit Menu" for toplevel o Cosmectic improvements: - regrouped toolbar buttons and close button in the same line in both the menu and the bindings editor o Tried to fix the not-totally-fixed cursor bug. Seems the ButtonRelease-1 gets processed before ButtonPress-1 returns, so if ButtonRelease-1 comes too soon, it is posted as an "after" job. This prevents the cursor from changing to "fleur" in some situations. o Widget tree keeps highlighting the selection after refresh o TkCon restores position on vTcl startup o Set string input dialog entry field to white background and changed OK / Cancel buttons to icons (checkmark and red cross) o Activating a widget now automatically scrolls widget tree into view o Fixed message text input dialog Escape bug o Added "Set Text Variable" context menu item to entry widget o Fixed problem where vTcl was saving duplicate fonts. o Fixed some bug where problems could occur from defining namespaces with a space in the name. o Deleting a menu in the widget tree refreshes an open menu editor o Deleting a toplevel menu closes a possibly open menu editor o Editing a submenu brings menu editor for root menu and selects submenu o Raised the labels on the property manager. As each individual option is selected, the label becomes sunken. This is a cosmetic change that is in place for a future enhancement. o Added scrolling through the property manager using direction keys. o Added Jeffrey Hobbs' TkCon as the default console on all platforms. o If you quit, it no longer asks you twice if you want to quit. o Cleaned up the import header code. o Cleaned up all the library import headers. o Tclets now save images as inline as well as font definitions o Added menu keyboard shortcuts in main window o Added keyboard accelerators where missing, eg. in bindings editor, menu editor, system inspector, image manager, font manager, you can use any of the standard Accelerators like Ctrl + Q, Ctrl + N, etc o Added code so that Ctrl + C, Ctrl + V, Ctrl + X, Delete do act differently if invoked from entry or text widget in a visual tcl window (eg. if you press Delete in an entry field inside the menu editor, it shouldn't delete the currently selected widget) o A few fixes to import vTcl 1.20-1.22 projects: - hidden toplevels are shown/hidden when importing a project, then they show up in the widget tree and get saved properly, including their aliases - when saving ignore aliases to non-existing widgets - when a hidden toplevel is shown for the first time, it gets registered o Fixed font saving bug not totally fixed in 1.51b2; adding and deleting fonts now works properly o Images are now saved with platform independent filenames o A few fixes for Macintosh compatibility: - made sure [file join] is used when loading widgets - made sure titlebars appear properly - changed button with pulldown menu to label in menu editor - "Save As..." dialog box doesn't use -filetypes on Mac - main window now resizes automatically, positions itself just below the Macintosh menu bar o Fixed menu dump bug (manager switches to place and project cannot be reloaded) o Added menus to bindings editor o Added menus to menu editor (sic) o Fixed "Delete" bug in menu editor o Adding a cascade in menu editor refreshes widget tree and activates widget o Fixed cursor bug (when user selected a widget with a different cursor then selected a toplevel, the toplevel was getting the cursor from the widget) o Added more credits in About box for combobox, multicolumn listbox and progress bar o Added support for labeledframe in Iwidgets 1.51b1 -> 1.51b2 o Defined a Tktable widget. o Support for childsites in the following Iwidgets: tabnotebook, panedwinodw o Support for childsites in the following tix widgets: tixNotebook, tixPanedWindow o Eliminates aliases to non-existing widgets on saving o Widget tree displays widgets in childsites o Widget tree right-click menu o Fixed font saving bug introduced in 1.51b1 o Added "Cancel" button for image/font selection pull-down menu o Now disables menu editors/binding editor when in TEST mode o Added Find/Replace in procedure editor 1.22 -> 1.51b1 o Added a configure script to locate the best WISH shell. o Changed the way libs are loaded o Support for mclistbox and combobox from Bryan Oakley. This time, no additional packages are needed, and when projects are saved, the necessary mclistbox or combobox code is included o Support for Iwidgets and BLT with new widget description mechanism o Megawidgets such as Iwidgets can now be selected/dragged as a whole o Added checkboxes to save only the options the user wants to. o Redone menu editor. o Added MRU to command console. Up/down arrows navigate through previously issued commands. o Added system inspector to view variables, procedures, windows, bindings, namespaces, packages o Completely redone the binding editor. Should be easier to use and less error prone (forgot to click on "update" ?) o Removed "type" as a means of identifying widgets. Widgets are all identified by class. o If you iconify/deiconify vTcl, it takes the toplevels with it. o Changed the default color for all vTcl windows to #d9d9d9. o Completely re-wrote the way widgets are defined. o Added widget command aliasing. o Added widget auto-aliasing o Added a pointer icon to the toolbar and continuous widget placement. o Added more options to the right-click menu. o Fixed a bug where clicking a Toplevel window in the widget tree would cause its manager to change, thereby breaking the project the next time it was sourced. o When a project is saved, we save the hidden toplevel windows too, we just don't show them again. But, the next time we load the project, they're properly included in the project and on the widget tree. o Cleaned up the order in which widget selection occurs when a widget is deleted or cut. o Added a menu option to Restore a project from backup. o revamped Preferences... dialog (cool no?) o added an option in the Preferences... dialog to save all images as inline using Base64. Allows for self contained projects without any dependencies on external images. However, while editing the project, external files are used as usual. When saving the project, external image files are then converted to Base64 and included inside the main file. o if a widget is of an unknown class, just ignore it, instead of generating an exception o changed the way widget placement is handled. It is now more like a traditional GUI builder. This can be turned off in the preferences menu. o added support for recent projects in the File menu. o fixed a bug concerning the placement of toplevel windows. o fixed a bug that caused a problem if the console window was killed through the OS window manager. o added a lot more functions to the right-click menu. o added tutorial.html to doc folder (html version of the tutorial.txt file) o added multiple file support o added option in Preferences dialog for "Single file project" or "Multiple files project" o replaced header path to wish from "wish8.0" to "wish" to accomodate any possible version of Tk (in the ideal world, it should do some version checking, because vTcl is not compatible with versions prior to 8.0) o syntax coloring is done when user moves the cursor inside the current line or types a few typical keys (eg. [] {}, etc.) o fixed "Save Compound..." bug o dump widget aliases inside window procedure in preparation for multiple file support 1.22b1 -> 1.22 (released August 20, 2000) o Fixed root window placer bug o Added "Clear" pulldown menu in command console under Linux o Added modifier pulldown menu in bindings editor o Added right-click popup menu in bindings editor to insert a percent substitution o Scrollbar borderwidth uses default option value (makes the app more consistent looking) o Menus are now dumped relative to their top-level window o Don't display in widget tree temporary menu windows with "#" in their name o Added new menu in attributes bar to edit a submenu o Display menu item titles in widget tree window o Widget tree remembers scrolling position when new widget added or existing widget deleted o If an image is not found while loading a project, then the image is searched for in the project directory o Fixed problem when loading a 1.21 project in 1.22b1 and stock images were not found 1.21 -> 1.22b1 (released August 5, 2000) o When saving -xscrollcommand, -yscrollcommand, and -command options, if options are about scrolling then window path is replaced by $base... id. the path is now relative to the parent window instead of beeing absolute o Centered preferences dialog o Support for combobox package (combobox by Bryan Oakley) o Font manager/Image manager now use default background/foreground colors o Preferences dialog now uses default font o Support for mclistbox (multicolumn listbox) package mclistbox by Bryan Oakley o Added dialog box to list Visual Tcl libraries and display their status (e.g. Itcl/Tk not detected, BLT detected, etc.) o Added Scrolledtext Itcl/Tk Megawidget o in TEST mode users are prevented from selecting widgets in the widget tree o Font manager and image manager keep their scrolling position when changing/deleting a font/image o Fixed problem when user tries to resize a packed label or entryfield using the handles o Filter out Itcl generated procedures on open/save o Added button in toolbar to show/hide the command console o Fixed bug when loading 1.2 project, saving it and reloading it generates error for -font option o Added safeguard in "Preferences" dialog to prevent the user from activating the "Autoload compounds" option without having specified a filename o Added initial syntax coloring for binding editor (thanks Nelson) o Added more descriptive labels in the widget tree window (thanks Eric Taylor) o Added Iwidgets tabnotebook and panedwindow o Added parameters to generated window procedures so that if the 'container' argument is set to 1, the toplevel window is not created; this allows to fill in childsites for Iwidgets such as tabnotebook or panedwindow o Fixed bug when adding new procedure with empty name 1.20 -> 1.21 (May 2000) o Added image manager to maintain a database of images and use them for widgets o Added font manager to maintain a database of fonts and use them for widgets o Widget tree automatically refreshes whenever needed o Property manager sets a property automatically when user clicks outside an entry field o Command console now shows standard output, error messages, and return value resulting from commands; output, error and return have different colors o Added syntax coloring to procedure/command editor o Added support for Freewrap to generate stand-alone executables on Linux and Windows platforms o Support for more Iwidgets, including scrolledhtml, calendar, dateentry, feedback, optionmenu, buttonbox, checkbox, radiobox o Saved projects when run as stand alone automatically detect the following packages: BLT, Itcl, Itk, Iwidgets and load them o File Open... checks that it is reading a vTcl generated project 1.20 -> 1.2x (November 23, 1999) * version not released * o Root window placer fix (long-standing bug) from Alex Goodyear o Added more comments into the code (ok, still needs work :) o Added sorting to font list o Added font A-Z sub-menus when too many fonts exist o Changed all editable fields to a white background o Widget tree automatically updates when it's open 1.11 -> 1.20 (November 14, 1998) o Evaluation optimizations for Tcl/Tk8.0 o Fix to major toplevel naming bug (Thanks Rick) o Additional blt widget support (Thanks Victor) 1.10 -> 1.11 (February 1, 1998) o Changed child windows back to "transient" since tk80 bug fixed in latest release. Removed "intelligent" deiconification. o Root menu now uses Tk8 System menus when available o Many fixes for Macintosh (including startup instructions) o Removed variable inspector o Fixed dialog race condition o vtcl Now accepts spaces (and meta chars) in procedure names o Replaced lib_blt.tcl and lib_itcl.tcl files o vtcl Now saves children of Canvases o Fixed saving of root (tk8) menus o Thanks to Fabien Coutant, Kenn Persinger and Jim Kramer for numerous patches. o Fixed compound menu 1.09 -> 1.10 (May 31, 1997) o Added "No clobbering" safeties on functions, vars and menus o Fixed unset "option" var in dump_tops o Added automatic Toplevel names for new windows o Added new compound widgets o fixed file open/save dialogs - start dir and file name o Added toplevel window focus preference o Added checkbutton menu control for funcs, procs, toplevels o Fixed window hide/show bug in edit mode (vi Rick) o Combined "Widget Info" into Attribute Editor o Put safety check around cursor reset in dragsize o Adding abstraction code for geometry managers o Removed Geometry Information and moved into attrib. editor o Fixed missing "-in" geometry manager parameter o Added better toplevel support including auto raise/lower of all Visual Tcl associated windows to follow vtcl parent o Added preference to turn off balloon help o Added better save support for unmanaged widgets o Removed custom color picker and file dialog for tk4.1 o Added preferences for dialog and text edit fonts o Applied tix and other patches from Ken Cox: * var.tcl: Changed proc vTcl:valid_varname to return 0 * proc.tcl: Removed puts's. * lib_tix.tcl: Latest version. Fixed to properly save widgets * globals.tcl: Define default value of vTcl(bind,ignore) * globals.tcl: Correctey value of vTcl(var,ignore) * Makefile: Makefile that builds an emacs TAGS file for tcl code * misc.tcl: sort names of user-defined procs * dump.tcl: sort names of global variables and bindings * dump.tcl: Fixed logic in proc vTcl:dump_widget_bind which prevented bindings from being saved. * dump.tcl: Fixed logic in proc vTcl:dump_top which prevented toplevels which had never been created from being saved. 1.08 -> 1.09 (April 8, 1997) o Fixed procedure editing to allow more than one at a time o Fixed double-click bug in procedure list window o Added preference to save/not-save global values o Fixed menu-item update bug o Added Widget Encapsulation Option in Preferences ([], {}, "") o Fixed File:Save bug (returns no file "") o Fixed Command Console bug under Tk4.2 o Added first-try at Tix library (lib_tix) - very alpha o Many general core changes necessary for Tix o Added ability to instantiate multiple toplevels of same type using $base in widget naming o pre and post commands for toplevels are now useful (w/ $base) o Saving over old files now creates .bak backup o Fixed alias naming/renaming and allows resetting o "source" and "proc" now wrapped to allow better filtering o Fixed spurious Courier font hard-coded in help source o Fixed cut/copy/save toplevel bug: vTcl(tops) out of sync o Now saves command/procedure editor box sizes o Added ability to re-arrange menu items with arrow keys o Added yes/no/cancel dialog if procedure edit buffer has changed and cancel is pressed o Toplevel information is now saved as part of compounds 1.07 -> 1.08 (February 11, 1997) o Added workaround for grid bug in Tk8.0a o Added support for dynmically loadable Tk o Fixed toplevel save error for hidden toplevels thanks to Glen Walker for the bug report o Disabled destroying widget toolbar thanks to Robin Becker for the bug report o Added small widget info to list of window position saves o Enabled editing of toplevel menus (Tk8.0 only for native menubars) o Fixed toplevel disappearance when deiconfying thanks to Richard Breuer for the report o Set toplevels to become default insertion point on selection o Changed toolbar to transient and fixed geometry o Added all new icons and options to toolbar o Fixed toplevel selection bug introduced in 1.07 o Added #!/ to saved apps when in unix thanks to Rudi Nunlist o Renamed "vt" to "vtcl" since it conflicts with HP-UX vt command thanks to Trond Solli o Changed label editing (no popups) and allow multi-line labels o Toplevel titles can now be changed from the attribute bar o Small optimization to dumping of widget options o Fixed widget rename alias bug and duplicate widget alias in globals o Added font support on the attribute bar (tk8.0 only) o Fixed toplevel paste to update toplevel window list 1.06 -> 1.07 (January 9, 1997) o Moved toolbar outside of main application window. Simplified lib_core. o Fixed "close" to update status of application -> vTcl(change) o Cleaned up console code - less platform specific o Added native file and color browsers for Tk4.2 o Added common attributes on main application bar o Save location of all application windows and only open last opened o Fixed custom color browser label update o Goemetry error workaround for differences in tk4.x and tk8.x o Fixed menu bug: losing commands when updating the label name o Changed dump routines to two discrete steps: widgets and geometry o Fixed window update to update widget handles o Added grid col/row configure to widget conf, save and compounds o Fixed scrollbar shift-click bind bug o Remade some system compounds using grid instead of pack o Enabled editing of pre/post commands for window pre/post setup o Added support for embedded functions in compounds o Added preliminary support for exporting tclets o Changed globals to support only explicitly added vars o Cleaned up several buggy occurances of "source" o Radically improved speed and accuracy of toplevel and global management o Added File:source o Added mode switch when clicking mode label thanks to "Visser, Martin MC" o Enabled loading of project files from command-line o Added message widget support to lib_core thanks to "Chester, Tony, CHESTEAP" o Added rounding to row/col weights to handle tk4.x/8.x incompatabilities o Added preference for default geometry manager 1.05 -> 1.06 (January 1, 1997) o Fixed Attribute Editor "command" button error and double "init" error thanks to Frank Scholz o Fixed bug when running without attribute editor o Added widget binding for moving without re-selecting. This is the same as on unix for folks without three buttons. It's primary use is moving compounds whose parent container are mostly obscured. o Many changes inspired by a patch from Robin Becker Closing unsaved application now has: "Yes No Cancel" Widget bindings for those without a middle button Enabled dormant code for direct manipulation of toplevel geometry o Added ability to edit multiple commands simultaneously o Fixed widget geometry size bug introduced in 1.04 o Completely rewrote menu editor and moved into lib_core o Renamed procedures from vTcl:: to vTcl: since it broke [incr tcl] o Fixed "cut" bug with widget trees and menus 1.04 -> 1.05 (December 22, 1996) o Another clever patch from Robin Becker to handle more flexible startups (if you aren't playing by the rules :) o Fixed widget children ordering bug (affected pack) o Added alias line to Widget Info window o File types in file dialog now work o Insertion of compounds now recovers bundled aliases o Fixed bind editor bug introduced in 1.04 o Added "folder" distinction in file browser and float folders to top o Further optimized dumping of widget manager attributes o Fixed color browser bug w/ Cancel thanks to Scott Hicks o Added "Toplevels" window for controlling viewing/hiding o Improved performance in add/update/delete of functions and variables o Added support for toplevels in compound widgets o Renamed "func" procedures to more consistent "proc" o Fixed goemtry manager update bug w/ null window path and widget label cancel bug. thanks to Heiko Nardmann o Added File:New o Added 8.0 native support: color browser, file browser, filter tk internal widgets (.__tk) for save. o Fixed "tab bug" with 8.0 showing \t o Fixed cursor/selection bug thanks to Laurent Pasquer o Made preliminary widget-library modularization changes o Fixed do/undo bug with new compound cut/paste o Added meaningful dialog for close/quit and errors o Fixed func/var/top/mgr/attred window blink on startup 1.03 -> 1.04 (December 16, 1996) o Fixes grid/sticky bug introduced in 1.03 o Visual Tcl Application title changes w/ project file name - thanks to Robin Becker o Modularized color browser and file dialog. Now they can be used by user applications. o Added caching attribute editor that only shows the options valid to the currently selected widget. o Added compound widget code o Change cut/copy/paste to use compound widget code. o Fixed some other cut/copy/paste bugs. Now supports trees. o Fixed some minor binding omissions o Replaced Grid sticky management buttons (neat!) o Added "pack before" and "pack after" buttons to pack manager o Fixed bug with widget options not dumping appropriate nulls o Added default actions for double-click entry and labels o Added widget aliases. Stored in global $widget(). o Fixed widget update handles when update in attribute editor o Fixed hidden handles problems o Fixed pack resize error for certain widget classes o Fixed cut/copy/paste bind "forgetfullness" o Added compound loadable/saveable widget libraries. Compounds shipping w/ system: Scrollable text, canvas, and listbox, text w/ label, and menu bar o Middle-button now moves currently selected widget. Useful for moving widget heirarchies when parent is obscured (i.e. for moving compounds) 1.02 -> 1.03 (December 12, 1996) o Fixed bug with cd to last working directory in .vtclrc file o Bug fixes from Robin Becker o option not to dump all widget information (eliminates defaults) o allow dynamic globals - not included in static dump o fixed deleting variables - did nothing before o put catch around dumping globals o fixed gui bug in Geometry Information o Added "Tk too old" message for those that don't read instructions :) o Macintosh support complete for MacTk4.2p1 and later. o fixed startup directory dependancy o Changed balloon help to go away on button-presses o Prevent descending into canvases on tree dumps o Added Widget tree browser (still needs some features lk rt. clk) o Changed editor behavior for consistent cut/copy/paste o Fixed another bug in dumping globals section o Fixed some 'save' code related to deleted widgets o Compacted the GUI code for some library components o Shortened common variable names for performance o Fixed dumping of toplevels with custom classes o Fixed bugs that I created while fixing bugs :) 1.01 -> 1.02 (December 10, 1996) o Replaced "Geometry Info" window with new improved version o Created dummy procedure for "Properties" to prevent errors o Fixed "Save As" bug which gave annoying error o Changed the way windows were invoked. New "Window" command. o Fixed bug with Bindings when no widget was selected o Now saves window positions for Function and Variable browsers o Commented out some things which were not yet implemented o Seperated some procedures from misc.tcl into new libraries o Fixed height/width button on toplevel panel. now update on select. o Fixed problem with widget hiding and handles o Added Init function which comes after globals and before all else o Bug fixes and enhancements: widget output, dummy exit, and more. Thanks to Robin Becker o Fixed Mac file path coding errors and other platform problems. Thanks to Ray Johnson o Grid sticky settings in "Geometry Info" now works o Fixed grid unbounded movement problem o Added native console support for Macs o File:Close now works o Cleaned up demos o Didn't add a lick of documentation o And much, much more :) 1.01 released (December 5, 1996)