Morton Goldberg
9/1/2006 2:13:00 AM
I don't know why you say you can't unpack your button -- it's
possible to both unpack and disable buttons, and then repack and re-
enable them. Consider the following code:
<code>
require 'tk'
DEBUG = []
begin
root = TkRoot.new {title 'Button Demo'}
unpack_button = TkButton.new(root) {
text 'Unpack Me'
command {unpack_button.unpack}
}
unpack_button.pack
disable_button = TkButton.new(root) {
text 'Disable Me'
command {disable_button.state = 'disable'}
}
disable_button.pack
reset_button = TkButton.new(root) {
text 'Reset'
command {
unpack_button.pack('before'=>disable_button)
disable_button.state = 'normal'
}
}
reset_button.pack
# Set initial window geometry; i.e., size and placement.
win_w, win_h = 200, 100
# root.minsize(win_w, win_h)
win_lf = (root.winfo_screenwidth - win_w) / 2
root.geometry("#{win_w}x#{win_h}+#{win_lf}+50")
# Make Cmnd+Q work as expected. This is for OS X.
root.bind('Command-q') {Tk.root.destroy}
Tk.mainloop
ensure
puts DEBUG unless DEBUG.empty?
end
</code>
Regards, Morton
On Aug 31, 2006, at 8:43 PM, Mohammad --- wrote:
> Okay so I set up a greeting AI for my sceince projet, (cool right?)
> but
> I got a problem: when he ask for a new key word I can't 'un-pack' the
> button so it's always there then if it happens again :), get ready for
> this, it does it again! My fault in the code, but I don't know what
> else
> to do, so here's the code that I think needs the editing:
> submit = TkButton.new(text) {
> image submitbutton
> command {
> aa = grem.how_are_you(text_awnser)
> ga.configure("text"=>aa)
> if aa.include?("I don't know what that means")
> submit_helpg = TkButton.new(text){text "New positive keyword";
> command {add_word(new_word,"yes")}}.pack("side"=>"bottom")
> submit_helpb = TkButton.new(text){text "New negative keyword";
> command {add_word(new_word,"no")}}.pack("side"=>"bottom")
> helpme = TkEntry.new(text){ textvariable new_word
> }.pack("side"=>"bottom")
> end
> }
> }.pack