Re: validation with JCombobox
"John" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.tk |
|---|---|
| Message-ID | <003501c4da1b$8aebfc30$747882c3@jonsof> |
----- Original Message ----- From: "Rob Seegel" <[email protected]> Newsgroups: comp.lang.perl.tk Cc: "PerlTk List" <[email protected]> Sent: Saturday, December 04, 2004 1:09 AM Subject: Re: validation with JCombobox > [email protected] wrote: > > > I have a problem recreating a standard Windows behaviour for drop-down > > lists: User can type in an entry, as long as those letters match the > > beginning of a list entry, the list entry is highlighted. When a letter is > > entered that doesn't match anymore, nothing in the list is selected, i.e. it > > is a "free entry". > > Ok, I've been working on a new release, and decided to thoroughly scrub > the entire module, fixing whatever problems I can find and addressing > any problems that have been sent to the mailing list/c.l.p.tk over the > past year or so. I think I have a solution to your problem. I've never > been completely happy with the -validate option. It seemed like I was > mixing two different pieces of functionality together (finding existing > entries in the Listbox, and validating what can be set in the > Entry widget (or Label in RO mode). So in the new version, I've > separated these two. There is still a validate mode called match/csmatch > in addition to the other modes that can be set for an Entry widget. > These modes are for validation purposes only and do not cause the > Listbox to be displayed. What's more, the validate option has no effect > at all when the JComboBox is in readonly mode. > > There is a new option called -autofind that takes a reference to a hash > containing one or more options that define the autofind behavior. The > autofind options include: > > -enabled => boolean (defaults to true/1) > whether or not autofind feature is activated or not > > -casesensitive => boolean (defaults to false/0) > whether or not the case of the entry matters in finding a match > > -completion => boolean (defaults to false/0) > whether or not to use autocompletion within the Entry similar to > what web browsers do within their location bar. > > -showpopup => boolean (defaults to true/1) > whether or not to display the listbox while using autofind > functionality. > > The effect the options have will depend on what mode the JComboBox is > in. In readonly mode, the only options that will have a noticeable > affect will be: -enabled and -showpopup, -casesensitive and the default > behavior will be like what is found on windows machines. The initial > letter will be able to be used to jump through the selections beginning > with that letter. I believe this default behavior is what you are > looking for. > > In editable mode, all of the above options will be able to be used, and > the default behavior will be similar to the older version of JComboBox > when the -validate option was set to match. The main difference is that > now the Combo Box will not prevent entries from being entered that are > not contained within the Listbox so long as -validate is not set to > match or cs-match. > > This, along with a few other tweaks should bring JComboBox in line with > the majority of the features offered by any of the other Combo Box > widgets. The new version is about 2/3 complete, but I won't be releasing > it until it has test cases, revised documentation, including a POD > version of it. Except for bug-fixes, this may be the last release of > JComboBox as a stand-alone module. Future releases will likely have > dependancies on other Tk modules I'm working on, so it will just be > easier to bundle them together. Easier for me to manage, and easier for > folks to download so that they do not have to track down invidual > dependancies. > > Rob > > > -++**==--++**==--++**==--++**==--++**==--++**==--++**== > This message was posted through the Stanford campus mailing list > server. If you wish to unsubscribe from this mailing list, send the > message body of "unsubscribe ptk" to [email protected] Well, my Tk version is Tk [800.024] How could i upgrade that Tk version without affecting the other Tk::* modules ? -++**==--++**==--++**==--++**==--++**==--++**==--++**== This message was posted through the Stanford campus mailing list server. If you wish to unsubscribe from this mailing list, send the message body of "unsubscribe ptk" to [email protected]