From: Mo DeJong <supermo@bayarea.net>
To: sourcenav <sourcenav@sources.redhat.com>
Subject: [Patch] Fix -readonly option in combo.tcl
Date: Mon, 04 Feb 2002 13:32:00 -0000 [thread overview]
Message-ID: <20020204132417.63049782.supermo@bayarea.net> (raw)
Here is a small patch that fixes the combo class so that it works
with a stock Tk 8.3. The previous version depended on some local changes
that are not available in the stock Tk 8.3 and are not in the Tk
version on sources.
Since this is a small change I assume it will be covered by the
"Small changes can be accepted without a copyright
assignment form on file" text from the contrib webpage.
Mo
2002-02-04 Mo DeJong <supermo@bayarea.net>
* gui/combo.tcl (-state, -readonly): Implement a read
only entry widget with a binding that ignores all
key press events. The previous implementation depended
on a local modification that added a -state readonly
property to the entry widget. We can't depend on that
modification since it will not exist in a system
install of Tk 8.3.
* tests/gui/combo.test: Add test case for selecttext
member function.
--- gui/combo.tcl Mon Feb 26 09:15:15 2001
+++ gui/combo.tcl Mon Feb 4 00:20:51 2002
@@ -391,8 +391,9 @@
# as a keep option to the widgets since
# we need to configure the entry and
# keep track of the -readonly option.
- # We also only want to support to
- # -state options, normal and disabled.
+ # The -state readonly is also not available
+ # in Tk 8.3, it only supports normal
+ # and disabled.
itk_option define -state state State normal {
if {$itk_option(-state) != "normal" &&
@@ -406,22 +407,23 @@
if {$itk_option(-state) == "disabled"} {
$itk_component(entry) configure -state disabled
} else {
+ $itk_component(entry) configure -state normal
+
if {$itk_option(-readonly)} {
- $itk_component(entry) configure -state readonly
+ bind $itk_component(entry) <KeyPress> break
} else {
- $itk_component(entry) configure -state normal
+ bind $itk_component(entry) <KeyPress> {}
}
}
}
itk_option define -readonly readOnly ReadOnly 0 {
if {$itk_option(-readonly)} {
- if {$itk_option(-state) == "normal"} {
- $itk_component(entry) configure -state readonly
+ if {[string equal $itk_option(-state) "normal"]} {
+ bind $itk_component(entry) <KeyPress> break
}
} else {
- $itk_component(entry) configure -state \
- $itk_option(-state)
+ bind $itk_component(entry) <KeyPress> {}
}
}
next reply other threads:[~2002-02-04 21:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-04 13:32 Mo DeJong [this message]
2002-02-05 8:07 ` Syd Polk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020204132417.63049782.supermo@bayarea.net \
--to=supermo@bayarea.net \
--cc=sourcenav@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).