[Clg-devel] dynamically adding & removing widgets
Brought to you by:
espen
From: Hazen B. <hba...@ma...> - 2007-07-05 03:18:18
|
Hello, I'd like to add/remove widgets from a dialog dynamically. I was hoping something like this would work but it does not, i.e "button2" is never displayed. (defun dynamic-test () (let* ((dialog (make-instance 'dialog :title "Dynamic Test" :show-children t)) (button1 (make-instance 'button :label "Button1")) (button2 (make-instance 'button :label "Button2")) (v-box (make-instance 'v-box :parent dialog :show-children t :border-width 5 :spacing 5 :child button1))) (signal-connect button1 'clicked #'(lambda () (format t "Adding~%") (container-add v-box button2))) (signal-connect button2 'clicked #'(lambda () (format t "Removing~%") (container-remove v-box button2))) (dialog-add-button dialog "gtk-close" #'widget-destroy :object t) (dialog-run dialog))) Suggestions? Do I need to force a redraw? I think this is possible with gtk, but maybe not? thanks, -Hazen |