[359] in The GTK GIMP ToolKit mailing list archive
[gtk-list] "accept" signal for entry widget?
daemon@ATHENA.MIT.EDU (Santeri Paavolainen)
Sat Jun 14 13:47:52 1997
Date: Sat, 14 Jun 1997 20:47:33 +0300 (EET DST)
From: Santeri Paavolainen <sjpaavol@cc.helsinki.fi>
To: gtk-list@redhat.com
Resent-From: gtk-list@redhat.com
Reply-To: gtk-list@redhat.com
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
---559023410-758783491-866310453=:26384
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi,
I'm using the latest GTK snapshot (gtk+970606), and cannot find a way
to make the "entry" widget signal when user "accepts" the value,
eg. presses the enter key.
I looked into gtkentry.c and found that entry_signals defines only
three signals ("insert_text", "delete_text" and "changed"), also
control_keys[] doesn't define any action for ctrl-m or ctrl-j.
Also any signals are raised only after processing gtk_entry_key_press
meaning that the signal handlers won't get their hands on the keypress
before the ^M/^J is already lost..
I would need to verify the entry value after user has "finished" with
it (presses enter), now it seems impossible because the available
signals are called after every character with no way to tell when
enter has been pressed.
I could of course try something like fiddling with class
key_press_event field but dunno.. Also, I would need capability to
change the entry field into a password field, eg. with no character
echo (or replacement with "*"?), I think this needs fiddling with
gtk_entry_draw_text and a boolean value (maybe a flag value, with
options to display text normally, as empty regardless of contest or
replace characters with an asterisk).
Having said that, I figured out there's no help like own help and
patched gtkentry.[ch] to have an additional signal "accept" which is
invoked when the user hits GDK_Return key. Works For Me(tm) patch,
that is.
--
santtu@iki.fi I have become death, destroyer of the worlds.
---559023410-758783491-866310453=:26384
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="entryaccept.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.96.970614204733.26384D@kruuna.Helsinki.FI>
Content-Description:
KioqIGd0ays5NzA2MDYvZ3RrL2d0a2VudHJ5LmMJRnJpIEp1biAgNiAxMDow
MjowMCAxOTk3DQotLS0gZ3RrKzk3MDYwNi1tb2QvZ3RrL2d0a2VudHJ5LmMJ
U2F0IEp1biAxNCAyMDozMjo0MiAxOTk3DQoqKioqKioqKioqKioqKioNCioq
KiAzMiwzNyAqKioqDQotLS0gMzIsMzggLS0tLQ0KICAgIElOU0VSVF9URVhU
LA0KICAgIERFTEVURV9URVhULA0KICAgIENIQU5HRUQsDQorICAgQUNDRVBU
LA0KICAgIExBU1RfU0lHTkFMDQogIH07DQogIA0KKioqKioqKioqKioqKioq
DQoqKiogMTMxLDEzNyAqKioqDQogIHN0YXRpYyB2b2lkIGd0a19zZWxlY3Rf
cmVnaW9uICAgICAgICAgICAgIChHdGtFbnRyeSAgICAgICAgICAqZW50cnks
DQogIAkJCQkJICAgZ2ludCAgICAgICAgICAgICAgIHN0YXJ0LA0KICAJCQkJ
CSAgIGdpbnQgICAgICAgICAgICAgICBlbmQpOw0KISANCiAgDQogIHN0YXRp
YyBHdGtXaWRnZXRDbGFzcyAqcGFyZW50X2NsYXNzID0gTlVMTDsNCiAgc3Rh
dGljIGdpbnQgZW50cnlfc2lnbmFsc1tMQVNUX1NJR05BTF0gPSB7IDAgfTsN
Ci0tLSAxMzIsMTM4IC0tLS0NCiAgc3RhdGljIHZvaWQgZ3RrX3NlbGVjdF9y
ZWdpb24gICAgICAgICAgICAgKEd0a0VudHJ5ICAgICAgICAgICplbnRyeSwN
CiAgCQkJCQkgICBnaW50ICAgICAgICAgICAgICAgc3RhcnQsDQogIAkJCQkJ
ICAgZ2ludCAgICAgICAgICAgICAgIGVuZCk7DQohIHN0YXRpYyB2b2lkIGd0
a19hY2NlcHRfbGluZSAgICAgICAgICAgICAgIChHdGtFbnRyeSAgICAgICAg
ICAqZW50cnkpOw0KICANCiAgc3RhdGljIEd0a1dpZGdldENsYXNzICpwYXJl
bnRfY2xhc3MgPSBOVUxMOw0KICBzdGF0aWMgZ2ludCBlbnRyeV9zaWduYWxz
W0xBU1RfU0lHTkFMXSA9IHsgMCB9Ow0KKioqKioqKioqKioqKioqDQoqKiog
MTUwLDE1NiAqKioqDQogICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIGogKi8NCiAgICBndGtfZGVsZXRlX3RvX2xpbmVfZW5kLCAgICAg
ICAgLyogayAqLw0KICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAg
ICAvKiBsICovDQohICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIG0gKi8NCiAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogbiAqLw0KICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiBvICovDQogICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IHAgKi8NCi0tLSAxNTEsMTU3IC0tLS0NCiAgICBOVUxMLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogaiAqLw0KICAgIGd0a19kZWxldGVfdG9fbGlu
ZV9lbmQsICAgICAgICAvKiBrICovDQogICAgTlVMTCwgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8qIGwgKi8NCiEgICBndGtfYWNjZXB0X2xpbmUsICAg
ICAgICAgICAgICAgLyogbSAqLw0KICAgIE5VTEwsICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiBuICovDQogICAgTlVMTCwgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8qIG8gKi8NCiAgICBOVUxMLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgLyogcCAqLw0KKioqKioqKioqKioqKioqDQoqKiogMjQ4LDI1
MyAqKioqDQotLS0gMjQ5LDI1OSAtLS0tDQogIAkJCQkgICAgIG9iamVjdF9j
bGFzcy0+dHlwZSwNCiAgCQkJCSAgICAgR1RLX1NJR05BTF9PRkZTRVQgKEd0
a0VudHJ5Q2xhc3MsIGNoYW5nZWQpLA0KICAJCQkJICAgICBndGtfc2lnbmFs
X2RlZmF1bHRfbWFyc2hhbGxlciwgR1RLX0FSR19OT05FLCAwKTsNCisgICBl
bnRyeV9zaWduYWxzWzNdID0gZ3RrX3NpZ25hbF9uZXcgKCJhY2NlcHQiLA0K
KyAJCQkJICAgICBHVEtfUlVOX0xBU1QsDQorIAkJCQkgICAgIG9iamVjdF9j
bGFzcy0+dHlwZSwNCisgCQkJCSAgICAgR1RLX1NJR05BTF9PRkZTRVQgKEd0
a0VudHJ5Q2xhc3MsIGFjY2VwdCksDQorIAkJCQkgICAgIGd0a19zaWduYWxf
ZGVmYXVsdF9tYXJzaGFsbGVyLCBHVEtfQVJHX05PTkUsIDApOw0KICANCiAg
ICBndGtfb2JqZWN0X2NsYXNzX2FkZF9zaWduYWxzIChvYmplY3RfY2xhc3Ms
IGVudHJ5X3NpZ25hbHMsIExBU1RfU0lHTkFMKTsNCiAgDQoqKioqKioqKioq
KioqKioNCioqKiAyNzMsMjc4ICoqKioNCi0tLSAyNzksMjg1IC0tLS0NCiAg
ICBjbGFzcy0+aW5zZXJ0X3RleHQgPSBndGtfcmVhbF9lbnRyeV9pbnNlcnRf
dGV4dDsNCiAgICBjbGFzcy0+ZGVsZXRlX3RleHQgPSBndGtfcmVhbF9lbnRy
eV9kZWxldGVfdGV4dDsNCiAgICBjbGFzcy0+Y2hhbmdlZCA9IGd0a19lbnRy
eV9hZGp1c3Rfc2Nyb2xsOw0KKyAgIGNsYXNzLT5hY2NlcHQgPSBOVUxMOw0K
ICB9DQogIA0KICBzdGF0aWMgdm9pZA0KKioqKioqKioqKioqKioqDQoqKiog
ODAyLDgwNyAqKioqDQotLS0gODA5LDgxNyAtLS0tDQogICAgICAgIHJldHVy
bl92YWwgPSBUUlVFOw0KICAgICAgICBndGtfbW92ZV9mb3J3YXJkX2NoYXJh
Y3RlciAoZW50cnkpOw0KICAgICAgICBicmVhazsNCisgICAgIGNhc2UgR0RL
X1JldHVybjoNCisgCWd0a19hY2NlcHRfbGluZShlbnRyeSk7DQorIAlicmVh
azsNCiAgICAgIGRlZmF1bHQ6DQogICAgICAgIGlmICgoZXZlbnQtPmtleXZh
bCA+PSAweDIwKSAmJiAoZXZlbnQtPmtleXZhbCA8PSAweEZGKSkNCiAgCXsN
CioqKioqKioqKioqKioqKg0KKioqIDE1MTEsMTUxNCAqKioqDQotLS0gMTUy
MSwxNTMwIC0tLS0NCiAgICBlbnRyeS0+aGF2ZV9zZWxlY3Rpb24gPSBUUlVF
Ow0KICAgIGVudHJ5LT5zZWxlY3Rpb25fc3RhcnRfcG9zID0gc3RhcnQ7DQog
ICAgZW50cnktPnNlbGVjdGlvbl9lbmRfcG9zID0gZW5kOw0KKyB9DQorIA0K
KyBzdGF0aWMgdm9pZA0KKyBndGtfYWNjZXB0X2xpbmUgKEd0a0VudHJ5ICpl
bnRyeSkNCisgew0KKyAgICAgZ3RrX3NpZ25hbF9lbWl0KEdUS19PQkpFQ1Qo
ZW50cnkpLCBlbnRyeV9zaWduYWxzW0FDQ0VQVF0pOw0KICB9DQoqKiogZ3Rr
Kzk3MDYwNi9ndGsvZ3RrZW50cnkuaAlNb24gQXByIDI4IDAwOjE0OjMzIDE5
OTcNCi0tLSBndGsrOTcwNjA2LW1vZC9ndGsvZ3RrZW50cnkuaAlTYXQgSnVu
IDE0IDIwOjM1OjExIDE5OTcNCioqKioqKioqKioqKioqKg0KKioqIDY1LDcw
ICoqKioNCi0tLSA2NSw3MSAtLS0tDQogIAkJCSBnaW50ICAgICAgc3RhcnRf
cG9zLA0KICAJCQkgZ2ludCAgICAgIGVuZF9wb3MpOw0KICAgIHZvaWQgKCog
Y2hhbmdlZCkgICAgICAoR3RrRW50cnkgKmVudHJ5KTsNCisgICB2b2lkICgq
IGFjY2VwdCkgICAgICAgKEd0a0VudHJ5ICplbnRyeSk7DQogIH07DQogIA0K
ICANCg==
---559023410-758783491-866310453=:26384--
--
To unsubscribe: mail -s unsubscribe gtk-list-request@redhat.com < /dev/null