public inbox for sourcenav@sourceware.org
 help / color / mirror / Atom feed
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> {}
         }
     }
 

             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).