SKUI - Retrieve text from Textbox when clicking button
-
I'm trying SKUI and I have created a Window with a Textbox in this way:
w = SKUI;;Window.new txt_box = SKUI;;Textbox.new( "" ) txt_box.name = ;txt_name txt_box.position( 155, 27 ) txt_box.width = 200 w.add_control( txt_box ) label = SKUI;;Label.new( 'Label', txt_box ) label.position( 10, 30 ) w.add_control( label ) btn_cancel = SKUI;;Button.new( 'Cancel' ) { |control| return nil control.window.close } btn_cancel.position( -5, -5 ) w.add_control( btn_cancel ) btn_ok = SKUI;;Button.new( 'OK' ) { |control| control.window.close } btn_ok.position( -100, -5 ) w.add_control( btn_ok ) w.cancel_button = btn_cancel w.default_button = btn_ok w.showAfter that, I type something in the Textbox and I would like to retrieve the string when I click btn_ok. I know the string should be in txt_box.value, but I don't know how to update the value of the TextBox when clicking a button. It is always empty. Do you know how to do it?
-
Better ask ThomThom, he knows.
-
@sdmitch I've already fixed it. Thank you anyway.
-
Local references go out of scope and are garbage collected when a method ends.
You need to have some persistent references within your plugin's scope (module or class) to accept the values. This also means you need to use persistent reference for the dialog itself (ie,@wnotw.)btn_ok = SKUI;;Button.new( 'OK' ) {|control| @txt_box_value = txt_box.value control.window.close } -
Exactly Dan, that was one of my mistakes. Finally I got it by myself, and now I understand the basics. Thank you in any case.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better π
Register LoginAdvertisement