+ // init method
+
+ var ed = (this.el.get_delegate() as Gtk.Editable);
+ if (ed != null) {
+ ed.insert_text.connect((text, length, ref position) => {
+ if (this.in_insert) {
+ return;
+ }
+ GLib.debug("got insert text %s", text);
+
+ var nt = "";
+ for(var i = 0;i < text.length; i++){
+ if (Posix.isupper(text[i]) ||Posix.islower(text[i]) ) {
+ nt += text[i].to_string();
+ }
+ }
+ if (nt.length < 1) {
+ GLib.Signal.stop_emission_by_name(ed, "insert_text");
+ return;
+ }
+
+ this.in_insert = true;
+
+ this.el.insert_text(nt,nt.length, ref position);
+ this.in_insert = false;
+ GLib.Signal.stop_emission_by_name(ed, "insert_text");
+ });
+
+ }
+