Hi pygs users:

I'm trying to use a GnomeEntry, but I'am having trouble ereasing and
keeping the history.

For example if you run the attach gnomeentry.py and you write:
fd 1 <press return>
(delete fd 1)
fd 2 <press return>
(delete fd 2)
fd 3 <press return>

and press the little arrow you see the history and I works ok :-).

But, I want to erase the GtkEntry contents after y press return to be
ready for new input.

so I introduced  item.set_text("") in the call back.

But if you run the attach gnomeentry_delete.py and you write:
fd 1 <press return>
fd 2 <press return>
fd 3 <press return>

The history isn't logged any more :-(.

I tried to use a connect_after to bind the callback and the GnomeEntry but
I get weirdier: if you press space the contents of the GtkEntry are logged 
??? 

Check how gnomeentry_delete_after.py history saves "fd" for no "reason"
when you enter:

fd 1 <press return>
fd 2 <press return>
fd 3 <press return>

        I would be very greatfull for any help.

                                        Daniel Kornhauser.
#!/usr/bin/env python
from gtk import *
from gnome.ui import *

def cmd_entry_cb(item, event):
    if event.keyval == GDK.Return:
        print("cmd_entry_cb recived: ",item.get_text())
        
cmd_entry = GnomeEntry()
cmd_entry.gtk_entry().connect("key_press_event",
                              cmd_entry_cb)
cmd_entry.show()

app = GnomeApp('GnomeEntry', 'GnomeEntry')
app.set_contents(cmd_entry)
app.connect('delete_event', mainquit)
app.show()

mainloop()
#!/usr/bin/env python
from gtk import *
from gnome.ui import *

def cmd_entry_cb(item, event):
    if event.keyval == GDK.Return:
        print("cmd_entry_cb recived: ",item.get_text())
        item.set_text("")
cmd_entry = GnomeEntry()
cmd_entry.gtk_entry().connect("key_press_event",
                              cmd_entry_cb)
cmd_entry.show()

app = GnomeApp('GnomeEntry erase', 'GnomeEntry erase')
app.set_contents(cmd_entry)
app.connect('delete_event', mainquit)
app.show()

mainloop()
#!/usr/bin/env python
import GDK
from gtk import *
from gnome.ui import *

def cmd_entry_cb(item, event):
    if event.keyval == GDK.Return:
        print("cmd_entry_cb recived: ",item.get_text())
        item.set_text("")

cmd_entry = GnomeEntry()
cmd_entry.gtk_entry().set_events(GDK.KEY_PRESS_MASK)
cmd_entry.gtk_entry().connect_after("key_press_event",
                                    cmd_entry_cb)
cmd_entry.show()

app = GnomeApp('GnomeEntry erase after', 'GnomeEntry erase after')
app.set_contents(cmd_entry)
app.connect('delete_event', mainquit)
app.show()



mainloop()

Reply via email to