BWidget ToolKit 1.9.7 September 2013
Copyright (c) 1998-1999 UNIFIX.
Copyright (c) 2001-2002 ActiveState Corp.
See the file LICENSE.txt for license info (uses Tcl's BSD-style license).
--------------------------------------------------------------------------
Preface:
Andreas Kupries transfered the issue tracker from sourceforge to fossil
and found a couple of patches which were not on my radar.
Most are integrated now.
Other solutions are in branches on the repository and may be in the next
release if finalized by someone.
Thanks to all reports, contributers and specially to Andreas !
Harald
--------------------------------------------------------------------------
Highlights:
Repository and issue tracker moved to fossil:
http://core.tcl.tk/bwidget
New features:
- Allow new modifiers Shift, Cmd and ShiftCmd for menu accelerators,
which is specially useful for the MAC.
- xpm-to-image accepts a wider range of xpm dialects
- Make loadable in save interpreter.
- Add method getentry to combobox to facilitate bindings on widget
Fixed bugs:
- noetbook creation error box on Win7
- On Aqua, do not change menu color when changing mainframes background.
- Entry widget in ttk mode raised error on keyboard tab traversal
--------------------------------------------------------------------------
WHAT IS BWIDGET ?
The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using
native Tcl/Tk 8.x namespaces.
The BWidgets have a professional look&feel as in other well known
Toolkits (Tix or Incr Widgets), but the concept is radically different
because everything is pure Tcl/Tk. No platform dependencies, and no
compiling required. The code is 100% Pure Tcl/Tk.
The BWidget library was originally developed by UNIFIX Online, and
released under both the GNU Public License and the Tcl license.
BWidget is now maintained as a community project, hosted by
Sourceforge. Scores of fixes and enhancements have been added by
community developers. See the ChangeLog file for details.
--------------------------------------------------------------------------
WIDGET LIST (1.9)
Simple Widgets
Label Extended Label widget
Entry Extended Entry widget
Button Extended Button widget
ArrowButton Button widget with an arrow shape.
ProgressBar Progress indicator widget
ScrollView Display the visible area of a scrolled window
Separator 3D separator widget
Manager Widgets
MainFrame Manage toplevel with menu, toolbar and statusbar
LabelFrame Frame with a Label
TitleFrame Frame with a title
ScrolledWindow Generic scrolled widget
ScrollableFrame Scrollable frame containing widget
PanedWindow Tiled layout manager widget
ButtonBox Set of buttons with horizontal or vertical layout
PagesManager Pages manager widget
NoteBook Notebook manager widget
Dialog Dialog abstraction with custom buttons
Composite Widgets
LabelEntry LabelFrame containing an Entry widget.
ComboBox ComboBox widget
SpinBox SpinBox widget
Tree Tree widget
ListBox ListBox widget
MessageDlg Message dialog box
ProgressDlg Progress indicator dialog box
PasswdDlg Login/Password dialog box (contributed by Stephane Lavirotte)
SelectFont Font selection widget
SelectColor Color selection widget
Commands Classes
Widget The Widget base class
DynamicHelp Provide help to Tk widget or BWidget
DragSite Commands set for Drag facilities
DropSite Commands set for Drop facilities
BWidget Utilities
--------------------------------------------------------------------------
INSTALLATION AND USE
- On Unix Platform:
Uncompress the file BWidget-<version>.tar.Z|gz
To use the BWidget:
- If you have uncompressed the archive file under the Tcl Library Path
directory, you only need to do:
% package require BWidget
- If not, you have to specify the BWidget installation path in auto_path
global variable:
% lappend auto_path <install_path>
% package require BWidget
To launch the demo, you need to cd into the demo subdirectory:
$ cd <install_path>/demo
$ wish demo.tcl
- On Windows and others Platforms:
Uncompress the file BWidget-<version>.zip
To use the BWidget:
- If you uncompressed the archive file under the Tcl Library Path
directory, you only need to do:
% package require BWidget
- If not, you have to specify the BWidget installation path in auto_path
global variable:
% lappend auto_path your_path
% package require BWidget
To launch the demo :
Double click on demo.tcl in the demo subdirectory
Distribution contains these directories:
BWidget-<version> Root directory and BWidget Tcl sources
BWman HTML manual pages
images images used by BWidget
lang Resources for language customization
demo Demo sources
tests BWidgets test suite
--------------------------------------------------------------------------
Ttk support
Johann Oberdorfer has written a tile-version of BWidget consisting in
theme-based parameter switching. No native windows are used on MAC or
Windows. IMHO we need native widgets.
It is IMHO not wise to use BWidget with Ttk due to different concepts.
For the migration of my programs to Ttk, limited Ttk support is integrated
in the following widgets:
- ScrolledWindow, Label, Button
- MainFrame (-sizegrip option)
- NoteBook (only user frame)
- LabelEntry, LabelFrame, PagesMgr (by Wojciech Kocjan, docs missing?)
The documentation pages list the parameter differences.
I do not recommend using this for new projects.
To activate Ttk support, use:
Widget::themed 1
--------------------------------------------------------------------------
DOCUMENTATION
HTML manual pages are available in the BWman subdirectory. Point to
index.html for frame version with tree navigation, or to contents.html
for no frame version.
--------------------------------------------------------------------------
CONTACTS
The BWidget toolkit is downloadable on Sourceforge, at
http://www.sourceforge.net/projects/tcllib/
The repository and issue tracker is on:
http://core.tcl.tk/bwidget/
--------------------------------------------------------------------------
Changes:
(Only showing changes since BWidget 1.9.6 release.)
2013-09-11
xpm2image.tcl: many issues fixed in xpm import
by Mattias Hembruch. Ticket [9a8b2ee42e]
2013-08-14
* notebook.tcl: cured error in _resize, that
data($p,width) is not (jet) present. Ticket [a4cbba655d].
2013-06-28
* mainframe.tcl: Included Patch [9f67a66609]
curing issues of Shift-Accellerators with Shift-Lock
on Mac. By Keith Nash, Ticket [83ce3e84e7].
2013-06-26
* mainframe.tcl: Reverted Patch [1977644]
(-casesensitive for accellerators). It has
issues with shift-lock.
2013-06-21
* labelentry.tcl: Bug fixed:
Methods from Tk entry widget restored [Bug 1002844].
* mainframe.tcl: Allow case sensitive accelerators
by new option -casesensitive.
Patch by cmard [Patch 1977644]
* mainframe.tcl: Allow new modifiers Shift, Cmd and ShiftCmd
for accelerators. Patch by K.J.Nash [Patch-83ce3e84e7]
* mainframe.tcl: When changing MainFrame -background, do
not change menu colors on Aqua.
Fix by Keith J.Nash [Bug-a81b7afc1e]
* init.tcl: Make loadable in save interpreter.
Fix by Keith J.Nash [Bug-4365a23bd3]
* combobox.tcl: Add method getentry to return entry
widget path for bind purposes.
Patch by Michael [Patch-2340355]
2013-01-09
* widget.tcl: Bug fixed:
Error 'invalid command name ".#BWidget.#ttk::entry"'
arises in themed mode when an Entry widget should get
focus by the tab key.
The temporary widget creation fails due to the "::" in
the command name of ttk widgets.
Any "::" is replaced by "__" [Bug 3599955].