summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2017-12-19 14:37:06 (GMT)
committerdgp <dgp@users.sourceforge.net>2017-12-19 14:37:06 (GMT)
commitbf11442369387050d791b37ddb93f2fa58cf2ab9 (patch)
treef7d5a868ba10692cf0270394cab1b36881ff16cf
parent22afa66225132851eaa491002fb1d5a2b35160c7 (diff)
parentd2b827c75b62eceb222727ff1f22f0c04bf95e1a (diff)
downloadtk-bf11442369387050d791b37ddb93f2fa58cf2ab9.zip
tk-bf11442369387050d791b37ddb93f2fa58cf2ab9.tar.gz
tk-bf11442369387050d791b37ddb93f2fa58cf2ab9.tar.bz2
Merge 8.6; update changes
-rw-r--r--changes6
-rw-r--r--doc/busy.n32
-rw-r--r--generic/tkBusy.c6
-rw-r--r--unix/Makefile.in3
4 files changed, 28 insertions, 19 deletions
diff --git a/changes b/changes
index 47ef448..2532748 100644
--- a/changes
+++ b/changes
@@ -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
diff --git a/doc/busy.n b/doc/busy.n
index e588275..ab2fd8a 100644
--- a/doc/busy.n
+++ b/doc/busy.n
@@ -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