diff options
author | dgp <dgp@users.sourceforge.net> | 2017-12-19 14:37:06 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2017-12-19 14:37:06 (GMT) |
commit | bf11442369387050d791b37ddb93f2fa58cf2ab9 (patch) | |
tree | f7d5a868ba10692cf0270394cab1b36881ff16cf | |
parent | 22afa66225132851eaa491002fb1d5a2b35160c7 (diff) | |
parent | d2b827c75b62eceb222727ff1f22f0c04bf95e1a (diff) | |
download | tk-bf11442369387050d791b37ddb93f2fa58cf2ab9.zip tk-bf11442369387050d791b37ddb93f2fa58cf2ab9.tar.gz tk-bf11442369387050d791b37ddb93f2fa58cf2ab9.tar.bz2 |
Merge 8.6; update changes
-rw-r--r-- | changes | 6 | ||||
-rw-r--r-- | doc/busy.n | 32 | ||||
-rw-r--r-- | generic/tkBusy.c | 6 | ||||
-rw-r--r-- | unix/Makefile.in | 3 |
4 files changed, 28 insertions, 19 deletions
@@ -7490,4 +7490,8 @@ Tk Cocoa 2.0: More drawing internals refinements (culler,walzer) 2017-12-05 (bug)[3382424] Suppress noisy messages on macOS (culler) ---- Released 8.6.8, December XX, 2017 --- http://core.tcl.tk/tk/ for details +2017-12-08 (new)[TIP 477] nmake build system reform (nadkarni) + +2017-12-18 (bug)[b77626] Make [tk busy -cursor] silent no-op on macOS (vogel) + +--- Released 8.6.8, December 22, 2017 --- http://core.tcl.tk/tk/ for details @@ -28,7 +28,7 @@ .BS '\" Note: do not modify the .SH NAME line immediately below! .SH NAME -busy \- confine pointer and keyboard events to a window sub-tree +busy \- confine pointer events to a window sub-tree .SH SYNOPSIS \fBtk busy\fR \fIwindow \fR?\fIoptions\fR? .sp @@ -44,9 +44,10 @@ busy \- confine pointer and keyboard events to a window sub-tree .BE .SH DESCRIPTION .PP -The \fBtk busy\fR command provides a simple means to block keyboard, button, -and pointer events from Tk widgets, while overriding the widget's cursor with -a configurable busy cursor. +The \fBtk busy\fR command provides a simple means to block pointer events from +Tk widgets, while overriding the widget's cursor with a configurable busy +cursor. Note this command does not prevent keyboard events from being sent to +the widgets made busy. .SH INTRODUCTION .PP There are many times in applications where you want to temporarily restrict @@ -68,8 +69,8 @@ that overrides the widget's normal cursor, providing feedback that the application (widget) is temporarily busy. .PP When a widget is made busy, the widget and all of its descendants will ignore -events. It's easy to make an entire panel of widgets busy. You can simply make -the toplevel widget (such as +pointer events. It's easy to make an entire panel of widgets busy. You can +simply make the toplevel widget (such as .QW . ) busy. This is easier and far much more efficient than recursively traversing the widget hierarchy, disabling each widget and re-configuring its cursor. @@ -240,20 +241,27 @@ widgets. .SS "KEYBOARD EVENTS" .PP When a widget is made busy, the widget is prevented from gaining the keyboard -focus by the busy window. But if the widget already had focus, it still may -received keyboard events. To prevent this, you must move focus to another -window. +focus by a user clicking on it by the busy window. But if the widget already had +focus, it still may receive keyboard events. The widget can also still receive +focus through keyboard traversal. To prevent this, you must move +focus to another window and make sure the focus can not go back to the widgets +made busy (e.g. but restricting focus to a cancel button). .PP .CS +pack [frame .frame] +pack [text .frame.text] \fBtk busy\fR hold .frame -label .dummy -focus .dummy +pack [button .cancel -text "Cancel" -command exit] +focus .cancel +bind .cancel <Tab> {break} +bind .cancel <Shift-Tab> {break} update .CE .PP The above example moves the focus from .frame immediately after invoking the \fBhold\fR so that no keyboard events will be sent to \fB.frame\fR or any of -its descendants. +its descendants. It also makes sure it's not possible to leave button +\fB.cancel\fR using the keyboard. .SH PORTABILITY .PP Note that the \fBtk busy\fR command does not currently have any effect on OSX diff --git a/generic/tkBusy.c b/generic/tkBusy.c index b36d453..514465a 100644 --- a/generic/tkBusy.c +++ b/generic/tkBusy.c @@ -17,16 +17,14 @@ #include "default.h" /* - * Things about the busy system that may be configured. Note that currently on - * OSX/Aqua, that's nothing at all. + * Things about the busy system that may be configured. Note that on some + * platforms this may or may not have an effect. */ static const Tk_OptionSpec busyOptionSpecs[] = { -#ifndef MAC_OSX_TK {TK_OPTION_CURSOR, "-cursor", "cursor", "Cursor", DEF_BUSY_CURSOR, -1, Tk_Offset(Busy, cursor), TK_OPTION_NULL_OK, 0, 0}, -#endif {TK_OPTION_END, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0} }; diff --git a/unix/Makefile.in b/unix/Makefile.in index 54f947e..dc5e0e8 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -1578,8 +1578,7 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(UNIX_DIR)/tk.pc.in $(M $(TOP_DIR)/win/aclocal.m4 $(TOP_DIR)/win/tcl.m4 \ $(DISTDIR)/win cp -p $(TOP_DIR)/win/*.[ch] $(TOP_DIR)/win/*.bat $(DISTDIR)/win - cp -p $(TOP_DIR)/win/makefile.* $(DISTDIR)/win - cp -p $(TOP_DIR)/win/rules.vc $(DISTDIR)/win + cp -p $(TOP_DIR)/win/*.vc $(DISTDIR)/win cp -p $(TOP_DIR)/win/README $(DISTDIR)/win cp -p $(TOP_DIR)/license.terms $(DISTDIR)/win mkdir $(DISTDIR)/win/rc |