arcadia 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +39 -38
- data/bin/arc +3 -0
- data/bin/arcadia +0 -1
- data/conf/arcadia.conf +54 -35
- data/conf/arcadia.init.rb +26 -3
- data/conf/arcadia.res.rb +56 -4
- data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
- data/ext/ae-dir-projects/ae-dir-projects.rb +113 -45
- data/ext/ae-editor/ae-editor.conf +6 -2
- data/ext/ae-editor/ae-editor.rb +1009 -616
- data/ext/ae-editor/langs/coderay.tokens +40 -0
- data/ext/ae-editor/langs/conf.lang +12 -10
- data/ext/ae-editor/langs/erb.lang.bind +1 -0
- data/ext/ae-editor/langs/java.lang +4 -0
- data/ext/ae-editor/langs/rb.lang +25 -55
- data/ext/ae-editor/langs/rhtml.lang +4 -0
- data/ext/ae-editor/langs/tokens.lang.bind +1 -0
- data/ext/ae-editor/langs/xml.lang +4 -0
- data/ext/ae-file-history/ae-file-history.rb +140 -32
- data/ext/ae-output/ae-output.rb +267 -262
- data/ext/ae-rad/ae-rad-inspector.rb +1 -1
- data/ext/ae-rad/ae-rad-libs.rb +15 -7
- data/ext/ae-rad/ae-rad.conf +4 -4
- data/ext/ae-rad/lib/tk/al-tk.rb +4 -3
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +4 -2
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +40 -15
- data/ext/ae-search-in-files/ae-search-in-files.rb +70 -14
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +15 -0
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.rb +80 -0
- data/ext/ae-shell/ae-shell.conf +4 -1
- data/ext/ae-shell/ae-shell.rb +78 -43
- data/ext/test-shutdown-after-startup/test-shutdown-after-startup.conf +4 -0
- data/ext/test-shutdown-after-startup/test-shutdown-after-startup.rb +20 -0
- data/lib/a-commons.rb +118 -22
- data/lib/a-contracts.rb +46 -2
- data/lib/a-core.rb +970 -284
- data/lib/a-tkcommons.rb +16 -8
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ArrowButton.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/BWidget.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Button.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ButtonBox.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ComboBox.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Dialog.html +20 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DragSite.html +6 -4
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DropSite.html +15 -3
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/DynamicHelp.html +8 -5
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Entry.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Label.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/LabelEntry.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/LabelFrame.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ListBox.html +1 -1
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/MainFrame.html +8 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/MessageDlg.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/NoteBook.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PagesManager.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PanedWindow.html +21 -5
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PanelFrame.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/PasswdDlg.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ProgressBar.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ProgressDlg.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrollView.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrollableFrame.html +5 -2
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/ScrolledWindow.html +36 -4
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SelectColor.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SelectFont.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Separator.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/SpinBox.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/StatusBar.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/TitleFrame.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Tree.html +21 -31
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/Widget.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/contents.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/index.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/navtree.html +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/BWman/options.htm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/CHANGES.txt +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/ChangeLog +289 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/LICENSE.txt +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/README.txt +2 -2
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/arrow.tcl +1 -1
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/bitmap.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/button.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/buttonbox.tcl +23 -12
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/color.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/combobox.tcl +101 -25
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/basic.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/bwidget.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/demo.tcl +1 -1
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/dnd.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/manager.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/select.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/tmpldlg.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/tree.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/demo/x1.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dialog.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dragsite.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dropsite.tcl +2 -1
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/dynhelp.tcl +194 -33
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/entry.tcl +8 -5
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/font.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/bold.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/copy.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/cut.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/dragfile.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/dragicon.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/error.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/file.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/folder.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/hourglass.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/info.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/italic.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/minus.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/new.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/opcopy.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/open.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/openfold.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/oplink.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/opmove.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/overstrike.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/palette.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/passwd.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/paste.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/plus.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/print.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/question.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/redo.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/save.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/target.xbm +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/underline.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/undo.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/images/warning.gif +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/init.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/label.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/labelentry.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/labelframe.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/da.rc +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/de.rc +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/en.rc +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/es.rc +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/lang/fr.rc +0 -0
- data/tcl/BWidget-1.9.0/lang/hu.rc +52 -0
- data/tcl/BWidget-1.9.0/lang/nl.rc +52 -0
- data/tcl/BWidget-1.9.0/lang/no.rc +52 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/listbox.tcl +89 -34
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/mainframe.tcl +14 -13
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/messagedlg.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/notebook.tcl +3 -1
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/pagesmgr.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/panedw.tcl +22 -18
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/panelframe.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/passwddlg.tcl +7 -3
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/pkgIndex.tcl +2 -2
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/progressbar.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/progressdlg.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollframe.tcl +60 -24
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollview.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/scrollw.tcl +13 -11
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/separator.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/spinbox.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/statusbar.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/tests/entry.test +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/titleframe.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/tree.tcl +51 -41
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/utils.tcl +26 -11
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/widget.tcl +53 -19
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/wizard.tcl +0 -0
- data/tcl/{BWidget-1.8.0 → BWidget-1.9.0}/xpm2image.tcl +0 -0
- metadata +170 -145
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,292 @@
|
|
|
1
|
+
2009-07-24 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
2
|
+
|
|
3
|
+
**** BWidget 1.9.0 tagged ****
|
|
4
|
+
|
|
5
|
+
* pkgIndex.tcl, README.txt: updated to BWidget 1.9
|
|
6
|
+
|
|
7
|
+
2009-07-23 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
8
|
+
|
|
9
|
+
* tree.tcl (Tree::_set_help), Tree.html DynamicHelp -helpcmd added to
|
|
10
|
+
tree node help
|
|
11
|
+
* tree.tcl (Tree::_draw_subnodes) a vertical line to a virtual root node
|
|
12
|
+
above the widget is only drawn when there are multiple child nodes.
|
|
13
|
+
This reverts the modification dated 2004-04-21 for this case.
|
|
14
|
+
[Patch 2825354] by Koen Danckaert
|
|
15
|
+
|
|
16
|
+
2009-07-17 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
17
|
+
|
|
18
|
+
* scrollframe.tcl (ScrollableFrame::create et al) ScrollableFrame.html
|
|
19
|
+
Background color of canvas takes the color of the scrolled frame.
|
|
20
|
+
If themed, canvas takes the themed color of the scrolled themed frame.
|
|
21
|
+
If themed, parameters -background and -bg are not available(doc + code).
|
|
22
|
+
[Patch 2822970] by Koen Danckaert
|
|
23
|
+
|
|
24
|
+
2009-07-15 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
25
|
+
|
|
26
|
+
* dynhelp.tcl (DynamicHelp) Typo from yesterday corrected
|
|
27
|
+
[Patch 2820851] by Koen Danckaert
|
|
28
|
+
|
|
29
|
+
2009-07-14 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
30
|
+
|
|
31
|
+
* dynhelp.tcl (DynamicHelp::_leave_info et al) issues:
|
|
32
|
+
- menu help sometimes not cleared when clicking off-window (unix)
|
|
33
|
+
- "-helpcmd" available also when dynamichelp is included in another
|
|
34
|
+
widget.
|
|
35
|
+
- given "-helpcmd" always called at global scope.
|
|
36
|
+
- Protect against multiple calls of <Leave> event.
|
|
37
|
+
[Patch 2820851] by Koen Danckaert
|
|
38
|
+
|
|
39
|
+
2009-07-07 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
40
|
+
|
|
41
|
+
* combobox.tcl (ComboBox::_select) Do not export selection if
|
|
42
|
+
-exportselection 0 [Patch 981545] by Jeffrey Hobbs
|
|
43
|
+
|
|
44
|
+
2009-07-02 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
45
|
+
|
|
46
|
+
* widget.tcl (Widget::configure) Bug: ProgressDlg option -geometry
|
|
47
|
+
not setable. The former patch was improved.
|
|
48
|
+
Koen Danckaert and myself argued, that we modify symptoms without
|
|
49
|
+
basic understandings. Anyway, better now than before.
|
|
50
|
+
|
|
51
|
+
2009-07-01 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
52
|
+
|
|
53
|
+
* mainframe.tcl, MainFrame.html (MainFrame::getmenustate)
|
|
54
|
+
Added method getmenustate to return menu tag state
|
|
55
|
+
[Bug 948063] reported by Rolf Ade
|
|
56
|
+
|
|
57
|
+
* combobox.tcl (ComboBox::configure) Bug fixed: Widget did not take
|
|
58
|
+
focus, when -editable false and "configure -state normal" called.
|
|
59
|
+
[Bug 756334] reported by Rolf Ade
|
|
60
|
+
|
|
61
|
+
* widget.tcl (Widget::configure) Bug: ProgressDlg option -bg not
|
|
62
|
+
setable. The special handling of subwidgets with special class or
|
|
63
|
+
path ":cmd" was improved. [Bug 611477]
|
|
64
|
+
|
|
65
|
+
* notebook.tcl (NoteBook::_itemconfigure) Not honored option:
|
|
66
|
+
itemconfigure ... -helptext [Patch 2814050] by Koen Danckaert
|
|
67
|
+
|
|
68
|
+
2009-06-30 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
69
|
+
|
|
70
|
+
* buttonbox.tcl (ButtonBox::_redraw) Bug corrected:
|
|
71
|
+
-uniform gridding option is used if tcl version >= 8.4 (not 8.3).
|
|
72
|
+
[Patch 2807147] by Koen Danckaert
|
|
73
|
+
|
|
74
|
+
* tree.tcl (Tree::_drop_cmd) If there is no node, drop didn't work.
|
|
75
|
+
[Bug 1042613] reported by Rolf Ade
|
|
76
|
+
|
|
77
|
+
* Tree.html Bind commands: removed promise that %W would work in future.
|
|
78
|
+
The underlying widgets should only be manipulated using the node id.
|
|
79
|
+
[Bug 1224203] by Jasper Taylor, remarks by J. Tang
|
|
80
|
+
|
|
81
|
+
* Tree.html Bind commands: with -selectfill, the given command is
|
|
82
|
+
overwritten for the background box. [Bug 1003962] by Torsten Berg
|
|
83
|
+
|
|
84
|
+
* dropsite.tcl (DropSite::register) Bug fixed: fails on multiple drop
|
|
85
|
+
targets [Bug 1213123] by T.Neil
|
|
86
|
+
|
|
87
|
+
* combobox.tcl (ComboBox::_create_popup) Bug fixed: Return key in drop
|
|
88
|
+
down list when -bwlistbox true [Bug 1205536] patch by Steve Landers
|
|
89
|
+
|
|
90
|
+
* combobox.tcl (ComboBox::_create_popup, ComboBox::_unmapliste)
|
|
91
|
+
Mac aqua and x11 fixes, multi screen issue still open.
|
|
92
|
+
[Bug 1451784] report by Jasper Taylor, fix by Kevin Walzer
|
|
93
|
+
|
|
94
|
+
* listbox.tcl (ListBox::_multiple_select) Selected item not deselected
|
|
95
|
+
on control-click [Bug 1029144] reported by Konrad Rosenbaum
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
2009-06-29 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
99
|
+
|
|
100
|
+
* ScrolledWindow.html ScrolledWindow documentation changed:
|
|
101
|
+
Documented options: -ipad, -sides, -size, -managed
|
|
102
|
+
[Patch 2807160] Text by Koen Danckaert
|
|
103
|
+
Removed (read only) remark of option -scrollbar.
|
|
104
|
+
|
|
105
|
+
* scrollframe.tcl (ScrollableFrame::create) changed bindings
|
|
106
|
+
[Patch 2807227] by Koen Danckaert (comment)
|
|
107
|
+
|
|
108
|
+
* scrollw.tcl (ScrolledWindow::_set_hscroll, ScrolledWindow::_set_vscroll)
|
|
109
|
+
Bug corrected: enless loop when both scrollbars where automatically
|
|
110
|
+
mapped and the window size was changed by this action (on linux).
|
|
111
|
+
Scrollbar unmapping and mapping secured by a locked update [Bug 2783019]
|
|
112
|
+
|
|
113
|
+
* widget.tcl (Widget::tkinclude) : option data base entry name keeps the
|
|
114
|
+
original name and not the renamed name.
|
|
115
|
+
The only resulting modification is to rename the option key for
|
|
116
|
+
"MessageDlg -text" from "*MessageDlg.frame.msg.message" to
|
|
117
|
+
"*MessageDlg.frame.msg.text". [Bug 1266792]
|
|
118
|
+
|
|
119
|
+
* widget.tcl (Widget::init) : fixed a memory leak on wrong option value.
|
|
120
|
+
[Bug 1230737]
|
|
121
|
+
|
|
122
|
+
2009-06-26 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
123
|
+
|
|
124
|
+
* listbox.tcl (ListBox::create et al) new feature: listbox option
|
|
125
|
+
-listbox now read/write [Bug 1501874] reported by Stephen Huntley
|
|
126
|
+
|
|
127
|
+
* dynhelp.tcl (DynamicHelp::_show_help) fixed issue (as far as possible):
|
|
128
|
+
Dynamic help baloon was on the main screen, if it touched the border on
|
|
129
|
+
a windows multi screen configuration.
|
|
130
|
+
The fix assumes, that all screens have same dimensions and no gaps in-
|
|
131
|
+
between. This is necessary, because multi-screen configuration paramters
|
|
132
|
+
may not be interrogated by tk (despite of coordinates out of the screen)
|
|
133
|
+
[Bug 1499135] reported by Gregor
|
|
134
|
+
|
|
135
|
+
* notebook.tcl (NoteBook::delete) Deleted also state variables
|
|
136
|
+
[Bug 1445219] reported by Eric Kemp-Benedict
|
|
137
|
+
|
|
138
|
+
2009-06-25 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
139
|
+
|
|
140
|
+
* combobox.tcl (ComboBox::getvalue et al) fixed bug: getvalue returned
|
|
141
|
+
first apearence of current data instead of clicked index, which may not
|
|
142
|
+
be the same if values is not unique. Additional variable _index(path)
|
|
143
|
+
added to hold click index [Bug 1610965] reported by Martin Lemburg
|
|
144
|
+
|
|
145
|
+
2009-06-24 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
146
|
+
|
|
147
|
+
* scrollframe.tcl (ScrollableFrame::create, ScrollableFrame::_resize,
|
|
148
|
+
ScrollableFrame::_frameConfigure) fixed two issues:
|
|
149
|
+
- Scrollbar activated even if not necessary
|
|
150
|
+
Fix: update scrolling reagion on configure event of the frame
|
|
151
|
+
- Disfunction if the frame got to small to be on the current view
|
|
152
|
+
Fix: update scrolling reagion on map or unmap events
|
|
153
|
+
[Patch 2807227] by Koen Danckaert
|
|
154
|
+
|
|
155
|
+
* buttonbox.tcl (ButtonBox::_redraw) Bug: homogeneous button width
|
|
156
|
+
not honored if button size changes after creation.
|
|
157
|
+
-uniform gridding option is used if tcl version >= 8.3.
|
|
158
|
+
[Patch 2807147] by Koen Danckaert
|
|
159
|
+
|
|
160
|
+
2009-06-16 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
161
|
+
|
|
162
|
+
* combobox.tcl (ComboBox::_create_popup) In dropdown list,
|
|
163
|
+
a vertical scrollbar was always shown if horizantal is used.
|
|
164
|
+
ScrolledWindow is now called with "-managed 1".
|
|
165
|
+
[Patch 2807160] by Koen Danckaert
|
|
166
|
+
|
|
167
|
+
2009-06-11 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
168
|
+
|
|
169
|
+
* combobox.tcl removed \ before empty line (potential
|
|
170
|
+
trap) [Bug 2804961] Andreas Kupries
|
|
171
|
+
|
|
172
|
+
* dialog.html Documented -geometry option.
|
|
173
|
+
[Bug 1634416] Erik Leunissen
|
|
174
|
+
|
|
175
|
+
2009-06-10 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
176
|
+
|
|
177
|
+
* no.rc added norwegian translation file
|
|
178
|
+
[Feature Request 2797153] provided by Lars Martin Hambro
|
|
179
|
+
|
|
180
|
+
* passwddlg.tcl (PasswdDlg::_verifonpasswd) check for
|
|
181
|
+
disabled password field and confirm directly.
|
|
182
|
+
[Bug 1642050] (Calvin Bascom) Enter key did not confirm
|
|
183
|
+
dialog when -passwdstate disabled.
|
|
184
|
+
|
|
185
|
+
* combobox.tcl (ComboBox::_select) included [Patch 981545],
|
|
186
|
+
but commented out - it works for me without it.
|
|
187
|
+
|
|
188
|
+
2009-06-10 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
189
|
+
|
|
190
|
+
* dialog.html Added documentation for option -buttonwidth
|
|
191
|
+
of Dialog
|
|
192
|
+
[Bug 1668587] (Eric Leunissen)
|
|
193
|
+
|
|
194
|
+
2009-06-10 Harald Oehlmann <oehhar@users.sourceforge.net>
|
|
195
|
+
|
|
196
|
+
* arrow.tcl initialised set _grab(oldstate) to "normal" to avoid
|
|
197
|
+
error when there is a ArrowButton::_leave without corresponding
|
|
198
|
+
ArrowButton::_enter [Bug 2762361]
|
|
199
|
+
|
|
200
|
+
* entry.tcl (Entry::_path_command) Add "invoke" to the list of
|
|
201
|
+
internally handled commands
|
|
202
|
+
[Bug 2340320] (patch by relaxmike@users.sourceforge.net)
|
|
203
|
+
|
|
204
|
+
* uitils.tcl (BWidget::place) BWidget::place used screen width
|
|
205
|
+
instead window width.
|
|
206
|
+
[Bug 1842346] (patch by Niels Gollesch ngoelles@users.sourceforge.net)
|
|
207
|
+
|
|
208
|
+
* listbox.tcl (ListBox::_redraw_selection) Added check if redrawn
|
|
209
|
+
item is on the to-delete list and thus does not exist any more as
|
|
210
|
+
BWidget. [Bug 1752755] (legolas_a20@users.sourceforge.net]
|
|
211
|
+
|
|
212
|
+
2008-10-30 Jeff Hobbs <jeffh@ActiveState.com>
|
|
213
|
+
|
|
214
|
+
* tree.tcl (Tree::_node_name_rev): Return node names as they are
|
|
215
|
+
input, and properly handle :: in node names. This changes
|
|
216
|
+
internal node name reps, but should be transparent to the user,
|
|
217
|
+
except for the result of [insert].
|
|
218
|
+
|
|
219
|
+
2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
|
|
220
|
+
|
|
221
|
+
* tree.tcl (Tree::_redraw_selection): do not allow empty
|
|
222
|
+
* listbox.tcl (ListBox::_redraw_selection): fill color as that
|
|
223
|
+
creates a transparent item that doesn't return a bbox. This
|
|
224
|
+
showed up on OS X/Aqua, where the listbox selectforeground
|
|
225
|
+
defaults to empty. [AS Bug 77186 74923]
|
|
226
|
+
|
|
227
|
+
2007-10-31 Jeff Hobbs <jeffh@ActiveState.com>
|
|
228
|
+
|
|
229
|
+
* lang/nl.rc (new): Dutch translation [Bug 1804469]
|
|
230
|
+
|
|
231
|
+
* lang/hu.rc (new): Hungarian translation [Bug 1821842]
|
|
232
|
+
|
|
233
|
+
* tree.tcl (Tree::insert): do node_name on parent arg [Bug 1046955]
|
|
234
|
+
|
|
235
|
+
* listbox.tcl: speed up ListBox insertion significantly. [Bug 1472443]
|
|
236
|
+
|
|
237
|
+
2007-05-11 Jeff Hobbs <jeffh@ActiveState.com>
|
|
238
|
+
|
|
239
|
+
* widget.tcl (Widget::theme): make sure Tk 8.5a6 is recognized as
|
|
240
|
+
having the themed widgets
|
|
241
|
+
|
|
242
|
+
2006-12-20 J. Tang <tang@jtang.org>
|
|
243
|
+
|
|
244
|
+
* util.tcl: fixed BWidget::write for widgets that require
|
|
245
|
+
DynamicHelp. [bug 1518803]
|
|
246
|
+
|
|
247
|
+
2006-12-05 Andreas Kupries <andreask@activestate.com>
|
|
248
|
+
|
|
249
|
+
* demo/demo.tcl (Demo::main): Removed the 'inscope' qualifier from
|
|
250
|
+
the 'package require Bwidget'. The package system already forces
|
|
251
|
+
loading and sourcing of package code in the global namespace, so
|
|
252
|
+
this is bogus.
|
|
253
|
+
|
|
254
|
+
2006-11-13 J. Tang <tang@jtang.org>
|
|
255
|
+
|
|
256
|
+
* panedw.tcl: if activator is set to line then its width is set to
|
|
257
|
+
3. --activator was an undocumented option; updated man page to
|
|
258
|
+
make it documented. Thanks to Jos Decoster for pointing this out.
|
|
259
|
+
|
|
260
|
+
2006-11-10 J. Tang <tang@jtang.org>
|
|
261
|
+
|
|
262
|
+
* widget.tcl: remove relative namespace resolution of variables,
|
|
263
|
+
in anticipation of TIP 278. Widget should have been doing this
|
|
264
|
+
anyways. [bug 1579744]
|
|
265
|
+
|
|
266
|
+
* DragSite.html: noted that -draginitcmd can return an empty
|
|
267
|
+
string to prevent a drag [bug 740499]
|
|
268
|
+
|
|
269
|
+
* DropSite.html: fixed documentation with DropSite::register
|
|
270
|
+
command [bug 740474]
|
|
271
|
+
|
|
272
|
+
* combobox.tcl: allow autocomplete and autopost be
|
|
273
|
+
enabled/disabled after the widget was created [bug 1588808]; fixed
|
|
274
|
+
keysym in autopost binding [bug 1589111]
|
|
275
|
+
|
|
276
|
+
* tree.tcl: fixed error with drag & drop's autoscroll [bug
|
|
277
|
+
1408494]
|
|
278
|
+
|
|
279
|
+
* listbox.tcl: fixed error with drag & drop's autoscroll; fixed
|
|
280
|
+
error when dropping at the end of the list
|
|
281
|
+
|
|
282
|
+
* Added dynamic help to text tags (man page updated); fixed resize
|
|
283
|
+
bug with scrollframes. Thanks to Jos Decoster for these patches.
|
|
284
|
+
|
|
285
|
+
2006-10-20 Jeff Hobbs <jeffh@ActiveState.com>
|
|
286
|
+
|
|
287
|
+
* utils.tcl (BWidget::bindMouseWheel): do not make special
|
|
288
|
+
mousewheel bindings if global ones exist (like from style::as)
|
|
289
|
+
|
|
1
290
|
2006-09-28 J. Tang <tang@jtang.org>
|
|
2
291
|
|
|
3
292
|
**** BWIDGET 1.8.0 TAGGED ****
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
BWidget ToolKit 1.
|
|
1
|
+
BWidget ToolKit 1.9.0 July 2009
|
|
2
2
|
Copyright (c) 1998-1999 UNIFIX.
|
|
3
3
|
Copyright (c) 2001-2002 ActiveState Corp.
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ community developers. See the ChangeLog file for details.
|
|
|
24
24
|
|
|
25
25
|
--------------------------------------------------------------------------
|
|
26
26
|
|
|
27
|
-
WIDGET LIST (1.
|
|
27
|
+
WIDGET LIST (1.9)
|
|
28
28
|
|
|
29
29
|
Simple Widgets
|
|
30
30
|
Label Extended Label widget
|
|
File without changes
|
|
File without changes
|
|
@@ -335,6 +335,11 @@ proc ButtonBox::_redraw { path } {
|
|
|
335
335
|
upvar 0 $path data
|
|
336
336
|
Widget::getVariable $path buttons
|
|
337
337
|
|
|
338
|
+
# For tk >= 8.4, -uniform gridding option is used.
|
|
339
|
+
# Otherwise, there is the constraint, that button size may not change after
|
|
340
|
+
# creation.
|
|
341
|
+
set uniformAvailable [expr {0 <= [package vcompare [info patchlevel] 8.4.0]}]
|
|
342
|
+
|
|
338
343
|
## We re-grid the buttons from left-to-right. As we go through
|
|
339
344
|
## each button, we check its spacing and which direction the
|
|
340
345
|
## spacing applies to. Once spacing has been applied to an index,
|
|
@@ -350,12 +355,16 @@ proc ButtonBox::_redraw { path } {
|
|
|
350
355
|
if {[string equal [Widget::getoption $path -orient] "horizontal"]} {
|
|
351
356
|
grid $but -column $idx -row 0 -sticky nsew
|
|
352
357
|
if { [Widget::getoption $path -homogeneous] } {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
set
|
|
358
|
+
if {$uniformAvailable} {
|
|
359
|
+
grid columnconfigure $path $idx -uniform koen -weight 1
|
|
360
|
+
} else {
|
|
361
|
+
set req [winfo reqwidth $but]
|
|
362
|
+
if { $req > $data(max) } {
|
|
363
|
+
grid columnconfigure $path [expr {2*$i}] -minsize $req
|
|
364
|
+
set data(max) $req
|
|
365
|
+
}
|
|
366
|
+
grid columnconfigure $path $idx -weight 1
|
|
357
367
|
}
|
|
358
|
-
grid columnconfigure $path $idx -weight 1
|
|
359
368
|
} else {
|
|
360
369
|
grid columnconfigure $path $idx -weight 0
|
|
361
370
|
}
|
|
@@ -380,13 +389,15 @@ proc ButtonBox::_redraw { path } {
|
|
|
380
389
|
incr idx 2
|
|
381
390
|
}
|
|
382
391
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
392
|
+
if {!$uniformAvailable} {
|
|
393
|
+
# Now that the maximum size has been calculated, go back through
|
|
394
|
+
# and correctly set the size for homogeneous horizontal buttons.
|
|
395
|
+
if { [string equal [Widget::getoption $path -orient] "horizontal"] && [Widget::getoption $path -homogeneous] } {
|
|
396
|
+
set idx 0
|
|
397
|
+
foreach i $data(buttons) {
|
|
398
|
+
grid columnconfigure $path $idx -minsize $data(max)
|
|
399
|
+
incr idx 2
|
|
400
|
+
}
|
|
390
401
|
}
|
|
391
402
|
}
|
|
392
403
|
}
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ----------------------------------------------------------------------------
|
|
2
2
|
# combobox.tcl
|
|
3
3
|
# This file is part of Unifix BWidget Toolkit
|
|
4
|
-
# $Id: combobox.tcl,v 1.
|
|
4
|
+
# $Id: combobox.tcl,v 1.42 2009/07/07 17:28:14 oehhar Exp $
|
|
5
5
|
# ----------------------------------------------------------------------------
|
|
6
6
|
# Index of commands:
|
|
7
7
|
# - ComboBox::create
|
|
@@ -25,7 +25,7 @@ namespace eval ComboBox {
|
|
|
25
25
|
|
|
26
26
|
Widget::tkinclude ComboBox frame :cmd \
|
|
27
27
|
include {-relief -borderwidth -bd -background} \
|
|
28
|
-
initialize {-relief sunken -borderwidth 2}
|
|
28
|
+
initialize {-relief sunken -borderwidth 2}
|
|
29
29
|
|
|
30
30
|
Widget::bwinclude ComboBox Entry .e \
|
|
31
31
|
remove {-relief -bd -borderwidth -bg} \
|
|
@@ -53,13 +53,15 @@ namespace eval ComboBox {
|
|
|
53
53
|
Widget::syncoptions ComboBox Entry .e {-text {}}
|
|
54
54
|
|
|
55
55
|
::bind BwComboBox <FocusIn> [list after idle {BWidget::refocus %W %W.e}]
|
|
56
|
-
::bind BwComboBox <Destroy> [list
|
|
56
|
+
::bind BwComboBox <Destroy> [list ComboBox::_destroy %W]
|
|
57
57
|
|
|
58
58
|
::bind ListBoxHotTrack <Motion> {
|
|
59
59
|
%W selection clear 0 end
|
|
60
60
|
%W activate @%x,%y
|
|
61
61
|
%W selection set @%x,%y
|
|
62
62
|
}
|
|
63
|
+
|
|
64
|
+
variable _index
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
|
|
@@ -101,7 +103,7 @@ proc ComboBox::create { path args } {
|
|
|
101
103
|
::bind $entry <Key-Down> [list ComboBox::_mapliste $path]
|
|
102
104
|
}
|
|
103
105
|
|
|
104
|
-
if {[string equal
|
|
106
|
+
if {[string equal [tk windowingsystem] "x11"]} {
|
|
105
107
|
set ipadx 0
|
|
106
108
|
set width 11
|
|
107
109
|
} else {
|
|
@@ -155,6 +157,8 @@ proc ComboBox::create { path args } {
|
|
|
155
157
|
Widget::configure $path [list -bwlistbox $bw]
|
|
156
158
|
}
|
|
157
159
|
|
|
160
|
+
set ComboBox::_index($path) -1
|
|
161
|
+
|
|
158
162
|
return [Widget::create ComboBox $path]
|
|
159
163
|
}
|
|
160
164
|
|
|
@@ -181,8 +185,8 @@ proc ComboBox::configure { path args } {
|
|
|
181
185
|
set entry $path.e
|
|
182
186
|
|
|
183
187
|
|
|
184
|
-
set list [list -images -values -bwlistbox -hottrack]
|
|
185
|
-
foreach {ci cv cb ch} [eval [linsert $list 0 Widget::hasChangedX $path]] { break }
|
|
188
|
+
set list [list -images -values -bwlistbox -hottrack -autocomplete -autopost]
|
|
189
|
+
foreach {ci cv cb ch cac cap} [eval [linsert $list 0 Widget::hasChangedX $path]] { break }
|
|
186
190
|
|
|
187
191
|
if { $ci } {
|
|
188
192
|
set images [Widget::cget $path -images]
|
|
@@ -193,6 +197,40 @@ proc ComboBox::configure { path args } {
|
|
|
193
197
|
}
|
|
194
198
|
}
|
|
195
199
|
|
|
200
|
+
## If autocomplete toggled, turn bindings on/off
|
|
201
|
+
if { $cac } {
|
|
202
|
+
if {[Widget::cget $path -autocomplete]} {
|
|
203
|
+
::bind $entry <KeyRelease> +[list $path _auto_complete %K]
|
|
204
|
+
} else {
|
|
205
|
+
set bindings [split [::bind $entry <KeyRelease>] \n]
|
|
206
|
+
if {[set idx [lsearch $bindings [list $path _auto_complete %K]]] != -1} {
|
|
207
|
+
::bind $entry <KeyRelease> [join [lreplace $bindings $idx $idx] \n]
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
## If autopost toggled, turn bindings on/off
|
|
213
|
+
if { $cap } {
|
|
214
|
+
if {[Widget::cget $path -autopost]} {
|
|
215
|
+
::bind $entry <KeyRelease> +[list $path _auto_post %K]
|
|
216
|
+
set bindings [split [::bind $entry <Key-Up>] \n]
|
|
217
|
+
if {[set idx [lsearch $bindings [list ComboBox::_unmapliste $path]]] != -1} {
|
|
218
|
+
::bind $entry <Key-Up> [join [lreplace $bindings $idx $idx] \n]
|
|
219
|
+
}
|
|
220
|
+
set bindings [split [::bind $entry <Key-Down>] \n]
|
|
221
|
+
if {[set idx [lsearch $bindings [list ComboBox::_mapliste $path]]] != -1} {
|
|
222
|
+
::bind $entry <Key-Down> [join [lreplace $bindings $idx $idx] \n]
|
|
223
|
+
}
|
|
224
|
+
} else {
|
|
225
|
+
set bindings [split [::bind $entry <KeyRelease>] \n]
|
|
226
|
+
if {[set idx [lsearch $bindings [list $path _auto_post %K]]] != -1} {
|
|
227
|
+
::bind $entry <KeyRelease> [join [lreplace $bindings $idx $idx] \n]
|
|
228
|
+
}
|
|
229
|
+
::bind $entry <Key-Up> +[list ComboBox::_unmapliste $path]
|
|
230
|
+
::bind $entry <Key-Down> +[list ComboBox::_mapliste $path]
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
196
234
|
set bw [Widget::cget $path -bwlistbox]
|
|
197
235
|
|
|
198
236
|
## If the images, bwlistbox, hottrack or values have changed,
|
|
@@ -234,6 +272,13 @@ proc ComboBox::configure { path args } {
|
|
|
234
272
|
}
|
|
235
273
|
}
|
|
236
274
|
|
|
275
|
+
# if state changed to normal and -editable false, the edit must take focus
|
|
276
|
+
if { [Widget::hasChangedX $path -state] \
|
|
277
|
+
&& ![string equal [Widget::cget $path -state] "disabled"] \
|
|
278
|
+
&& ![Widget::cget $path -editable] } {
|
|
279
|
+
Entry::configure $entry -takefocus 1
|
|
280
|
+
}
|
|
281
|
+
|
|
237
282
|
# if the dropdown listbox is shown, simply force the actual entry
|
|
238
283
|
# colors into it. If it is not shown, the next time the dropdown
|
|
239
284
|
# is shown it'll get the actual colors anyway
|
|
@@ -261,6 +306,8 @@ proc ComboBox::cget { path option } {
|
|
|
261
306
|
# Command ComboBox::setvalue
|
|
262
307
|
# ----------------------------------------------------------------------------
|
|
263
308
|
proc ComboBox::setvalue { path index } {
|
|
309
|
+
variable _index
|
|
310
|
+
|
|
264
311
|
set values [Widget::getMegawidgetOption $path -values]
|
|
265
312
|
set value [Entry::cget $path.e -text]
|
|
266
313
|
switch -- $index {
|
|
@@ -297,6 +344,7 @@ proc ComboBox::setvalue { path index } {
|
|
|
297
344
|
}
|
|
298
345
|
if { $idx >= 0 && $idx < [llength $values] } {
|
|
299
346
|
set newval [lindex $values $idx]
|
|
347
|
+
set _index($path) $idx
|
|
300
348
|
Entry::configure $path.e -text $newval
|
|
301
349
|
return 1
|
|
302
350
|
}
|
|
@@ -318,8 +366,17 @@ proc ComboBox::get { path } {
|
|
|
318
366
|
# Command ComboBox::getvalue
|
|
319
367
|
# ----------------------------------------------------------------------------
|
|
320
368
|
proc ComboBox::getvalue { path } {
|
|
369
|
+
variable _index
|
|
321
370
|
set values [Widget::getMegawidgetOption $path -values]
|
|
322
371
|
set value [Entry::cget $path.e -text]
|
|
372
|
+
# Check if an index was saved by the last setvalue operation
|
|
373
|
+
# If this index still matches it is returned
|
|
374
|
+
# This is necessary for the case when values is not unique
|
|
375
|
+
if { $_index($path) >= 0 \
|
|
376
|
+
&& $_index($path) < [llength $values] \
|
|
377
|
+
&& $value eq [lindex $values $_index($path)]} {
|
|
378
|
+
return $_index($path)
|
|
379
|
+
}
|
|
323
380
|
|
|
324
381
|
return [lsearch -exact $values $value]
|
|
325
382
|
}
|
|
@@ -401,7 +458,7 @@ proc ComboBox::_create_popup { path } {
|
|
|
401
458
|
}
|
|
402
459
|
}
|
|
403
460
|
|
|
404
|
-
if {
|
|
461
|
+
if {[string equal [tk windowingsystem] "x11"]} {
|
|
405
462
|
set sbwidth 11
|
|
406
463
|
} else {
|
|
407
464
|
set sbwidth 15
|
|
@@ -409,12 +466,15 @@ proc ComboBox::_create_popup { path } {
|
|
|
409
466
|
|
|
410
467
|
toplevel $shell -relief solid -bd 1
|
|
411
468
|
wm withdraw $shell
|
|
412
|
-
update idle
|
|
413
469
|
wm overrideredirect $shell 1
|
|
414
|
-
|
|
415
|
-
|
|
470
|
+
# these commands cause the combobox to behave strangely on OS X
|
|
471
|
+
if {![string equal [tk windowingsystem] "aqua"]} {
|
|
472
|
+
update idle
|
|
473
|
+
wm transient $shell [winfo toplevel $path]
|
|
474
|
+
catch { wm attributes $shell -topmost 1 }
|
|
475
|
+
}
|
|
416
476
|
|
|
417
|
-
set sw [ScrolledWindow $shell.sw -managed
|
|
477
|
+
set sw [ScrolledWindow $shell.sw -managed 1 -size $sbwidth -ipad 0]
|
|
418
478
|
|
|
419
479
|
if {$bw} {
|
|
420
480
|
set listb [ListBox $shell.listb \
|
|
@@ -457,7 +517,7 @@ proc ComboBox::_create_popup { path } {
|
|
|
457
517
|
pack $sw -fill both -expand yes
|
|
458
518
|
$sw setwidget $listb
|
|
459
519
|
|
|
460
|
-
::bind $listb <Return> "ComboBox::_select [list $path] \[
|
|
520
|
+
::bind $listb <Return> "ComboBox::_select [list $path] \[$listb curselection\]"
|
|
461
521
|
::bind $listb <Escape> [list ComboBox::_unmapliste $path]
|
|
462
522
|
::bind $listb <FocusOut> [list ComboBox::_focus_out $path]
|
|
463
523
|
}
|
|
@@ -483,7 +543,7 @@ proc ComboBox::_recreate_popup { path } {
|
|
|
483
543
|
}
|
|
484
544
|
}
|
|
485
545
|
|
|
486
|
-
if {
|
|
546
|
+
if { [string equal [tk windowingsystem] "x11"] } {
|
|
487
547
|
set sbwidth 11
|
|
488
548
|
} else {
|
|
489
549
|
set sbwidth 15
|
|
@@ -502,7 +562,7 @@ proc ComboBox::_recreate_popup { path } {
|
|
|
502
562
|
|
|
503
563
|
set listb $shell.listb
|
|
504
564
|
destroy $shell.sw
|
|
505
|
-
set sw [ScrolledWindow $shell.sw -managed
|
|
565
|
+
set sw [ScrolledWindow $shell.sw -managed 1 -size $sbwidth -ipad 0]
|
|
506
566
|
$listb configure \
|
|
507
567
|
-height $h \
|
|
508
568
|
-font [Widget::cget $path -font] \
|
|
@@ -573,7 +633,9 @@ proc ComboBox::_mapliste { path } {
|
|
|
573
633
|
wm deiconify $path.shell
|
|
574
634
|
raise $path.shell
|
|
575
635
|
BWidget::focus set $listb
|
|
576
|
-
|
|
636
|
+
if { ! [string equal [tk windowingsystem] "aqua"] } {
|
|
637
|
+
BWidget::grab global $path
|
|
638
|
+
}
|
|
577
639
|
}
|
|
578
640
|
|
|
579
641
|
|
|
@@ -581,15 +643,19 @@ proc ComboBox::_mapliste { path } {
|
|
|
581
643
|
# Command ComboBox::_unmapliste
|
|
582
644
|
# ----------------------------------------------------------------------------
|
|
583
645
|
proc ComboBox::_unmapliste { path {refocus 1} } {
|
|
646
|
+
# On aqua, state is zoomed, otherwise normal
|
|
584
647
|
if {[winfo exists $path.shell] && \
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
648
|
+
( [string equal [wm state $path.shell] "normal"] ||
|
|
649
|
+
[string equal [wm state $path.shell] "zoomed"] ) } {
|
|
650
|
+
if {![string equal [tk windowingsystem] "aqua"]} {
|
|
651
|
+
BWidget::grab release $path
|
|
652
|
+
BWidget::focus release $path.shell.listb $refocus
|
|
653
|
+
# Update now because otherwise [focus -force...] makes the app hang!
|
|
654
|
+
if {$refocus} {
|
|
655
|
+
update
|
|
656
|
+
focus -force $path.e
|
|
657
|
+
}
|
|
658
|
+
}
|
|
593
659
|
wm withdraw $path.shell
|
|
594
660
|
ArrowButton::configure $path.a -relief raised
|
|
595
661
|
}
|
|
@@ -611,7 +677,9 @@ proc ComboBox::_select { path index } {
|
|
|
611
677
|
}
|
|
612
678
|
}
|
|
613
679
|
$path.e selection clear
|
|
614
|
-
$path.e
|
|
680
|
+
if {[$path.e cget -exportselection]} {
|
|
681
|
+
$path.e selection range 0 end
|
|
682
|
+
}
|
|
615
683
|
}
|
|
616
684
|
|
|
617
685
|
|
|
@@ -758,7 +826,7 @@ proc ComboBox::_auto_post { path key } {
|
|
|
758
826
|
set x -1
|
|
759
827
|
}
|
|
760
828
|
if {([string length $key] > 1 && [string tolower $key] != $key) && \
|
|
761
|
-
[string equal $key "
|
|
829
|
+
[string equal $key "BackSpace"] != 0 && \
|
|
762
830
|
[string equal $key "Up"] != 0 && \
|
|
763
831
|
[string equal $key "Down"] != 0} {
|
|
764
832
|
return
|
|
@@ -807,3 +875,11 @@ proc ComboBox::_auto_post { path key } {
|
|
|
807
875
|
$path.shell.listb see $x
|
|
808
876
|
}
|
|
809
877
|
}
|
|
878
|
+
# ------------------------------------------------------------------------------
|
|
879
|
+
# Command ComboBox::_destroy
|
|
880
|
+
# ------------------------------------------------------------------------------
|
|
881
|
+
proc ComboBox::_destroy { path } {
|
|
882
|
+
variable _index
|
|
883
|
+
Widget::destroy $path
|
|
884
|
+
unset _index($path)
|
|
885
|
+
}
|