|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Textview keypress event problemHello all,
I would like to use the keypress event (C#) to decide whether the content of a textview widget has changed or not at the exit of an application. If it changed, I ask whether I should save the modification or not. My problem is that the keypress event captures only the Lshift, Rshift, Caps lock keys, but not the regular "letter" and "number" keys. (this is the function, autogenerated by monodevelop ) protected virtual void OnTxtwMegjegyzesKeyPressEvent (object o, Gtk.KeyPressEventArgs args) { valtozas="1"; } It should be fired up when any key pressed with the focus on the textview widget. Any help please? Thanks, Ati ________________________________________________________ AEG – ELECTROLUX háztartási gépek NAPI AKCIÓS ÁRON ITT! MOSÓGÉPEK – mosogatógépek – hűtők – sütő + főzőlap szettek ORSZÁGOS házhozszállítással! VIDEÓ termékbemutatóinkkal OTTHONODBA viszi a bolti vásárlás élményét az AEGshop.hu! _______________________________________________ Gtk-sharp-list maillist - Gtk-sharp-list@... http://lists.ximian.com/mailman/listinfo/gtk-sharp-list |
|
|
Re: Textview keypress event problemYou would need to annotate that method with [GLib.ConnectBefore] for
this to work. 2009/4/9 Atis <drake1@...>: > Hello all, > I would like to use the keypress event (C#) to decide whether the content > of a textview widget has changed or not at the exit of an application. If it > changed, I ask whether I should save the modification or not. My problem is > that the keypress event captures only the Lshift, Rshift, Caps lock keys, > but not the regular "letter" and "number" keys. > (this is the function, autogenerated by monodevelop ) > > protected virtual void OnTxtwMegjegyzesKeyPressEvent (object o, > Gtk.KeyPressEventArgs args) > { > valtozas="1"; > } > > It should be fired up when any key pressed with the focus on the textview > widget. > Any help please? Thanks, Ati > > ________________________________________________________ > AEG – ELECTROLUX háztartási gépek NAPI AKCIÓS ÁRON ITT! > MOSÓGÉPEK – mosogatógépek – hűtők – sütő + főzőlap szettek ORSZÁGOS > házhozszállítással! > VIDEÓ termékbemutatóinkkal OTTHONODBA viszi a bolti vásárlás élményét az > AEGshop.hu! > _______________________________________________ > Gtk-sharp-list maillist - Gtk-sharp-list@... > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list > > -- Chris Howie http://www.chrishowie.com http://en.wikipedia.org/wiki/User:Crazycomputers _______________________________________________ Gtk-sharp-list maillist - Gtk-sharp-list@... http://lists.ximian.com/mailman/listinfo/gtk-sharp-list |
|
|
Re: Textview keypress event problem2009/4/9 Atis <drake1@...>:
> > I would like to use the keypress event (C#) to decide whether the content > of a textview widget has changed or not at the exit of an application. If it > changed, I ask whether I should save the modification or not. My problem is > that the keypress event captures only the Lshift, Rshift, Caps lock keys, > but not the regular "letter" and "number" keys. Why not use the TextView's buffer's Modified flag? http://www.go-mono.com/docs/index.aspx?link=P:Gtk.TextBuffer.Modified (The reason you can't capture all the keystroke events is that the textview is subscribed to the key events itself in order to capture key input, and when it "consumes" keystrokes it prevents the event from propagating to other handlers. You can work around this, as Chris said, by putting the [GLib.ConnectBefore] on your handler, which causes GTK# to insert your handler *before* the widget's own handler). -- Michael Hutchinson http://mjhutchinson.com _______________________________________________ Gtk-sharp-list maillist - Gtk-sharp-list@... http://lists.ximian.com/mailman/listinfo/gtk-sharp-list |
|
|
Re: Textview keypress event problemUnless I've stumbled on some kind of bug or am doing something incorrectly, etc. it appears that you can in fact capture the TextView's keystroke event like the OP wanted (without use of [GLib.ConnectBefore]). Instead of using the KeyPressEvent you have to use the KeyReleaseEvent. That said, I agree that the TextView buffer's Modified flag is the way to go in the OP's case... |
| Free embeddable forum powered by Nabble | Forum Help |