Since I was having trouble with the layouts looking right I decided to try to make the program with out a layout mangier. If you run this and maximize the dialog you will see that it all lies up now. Now I am having a different problem though it seems with out the layout mangier I lose the default buttons. I have the btn-add set to be the default button but when I hit enter on the edit box it gives me a warning and does nothing. Did I do the default button correctly? The following is the running code:
(defclass fruit-events (gfw:event-dispatcher) ())
(defmethod gfw:event-close ((disp fruit-events) (dlg gfw:dialog)) (call-next-method) (let ((ownerp (gfw:owner dlg))) (gfs:dispose dlg) (unless ownerp (gfw:shutdown 0)))) (defun fruit-basket-nl () (gfw:startup "Fruit basket" (lambda () (let* ((dlg (make-instance 'gfw:dialog :owner nil :dispatcher (make-instance 'fruit-events) :style :modeless :text "Fruit basket LISP demonstration")) (fruit-list (make-instance 'gfw:list-box ;:callback (fruit-list-callback) :parent dlg)) (fruit-label (make-instance 'gfw:label :text "Enter fruit:" :parent dlg)) (fruit-edit (make-instance 'gfw:edit :text "" :parent dlg)) (btn-add (make-instance 'gfw:button :style '(:default-button) :callback (lambda (disp btn ) (declare (ignore disp btn)) (gfw:append-item fruit-list (gfw:text fruit-edit ) nil nil) (setf (gfw:text fruit-edit) "") (gfw:give-focus fruit-edit)) :style '(:default-button) :text "Add" :parent dlg)) (btn-remove (make-instance 'gfw:button :callback (lambda (disp btn) (declare (ignore disp btn)) (gfw:delete-selection fruit-list) (gfw:give-focus fruit-edit)) :style '(:default-button) :text "Remove" :parent dlg)) (btn-exit (make-instance 'gfw:button :callback (lambda (disp btn) (declare (ignore disp btn)) (let ((ownerp (gfw:owner dlg))) (gfs:dispose dlg) (unless ownerp (gfw:shutdown 0)))) :style '(:cancel-button) :text "Exit" :parent dlg)))
(declare (ignore fruit-label btn-add btn-remove btn-exit)) (setf (gfw:minimum-size dlg) (gfs:make-size :width 186 :height 141 )) (setf (gfw:location fruit-label) (gfs:make-point :x 6 :y 6 )) (setf (gfw:size fruit-label) (gfs:make-size :width 50 :height 23 )) (setf (gfw:location fruit-edit) (gfs:make-point :x 60 :y 6 )) (setf (gfw:size fruit-edit) (gfs:make-size :width 120 :height 23 )) (setf (gfw:location fruit-list) (gfs:make-point :x 33 :y 33 )) (setf (gfw:size fruit-list) (gfs:make-size :width 120 :height 77 )) (setf (gfw:location btn-add) (gfs:make-point :x 6 :y 114 )) (setf (gfw:size btn-add) (gfs:make-size :width 55 :height 23 )) (setf (gfw:location btn-remove) (gfs:make-point :x 65 :y 114 )) (setf (gfw:size btn-remove) (gfs:make-size :width 56 :height 23 )) (setf (gfw:location btn-exit) (gfs:make-point :x 125 :y 114 )) (setf (gfw:size btn-exit) (gfs:make-size :width 55 :height 23 )) (setf (gfw:default-widget dlg) btn-add)
(gfw:show dlg t) dlg))))
On 9/10/07, Ken Perry whistler@blinksoft.com wrote:
Since I was having trouble with the layouts looking right I decided to try to make the program with out a layout mangier. If you run this and maximize the dialog you will see that it all lies up now. Now I am having a different problem though it seems with out the layout mangier I lose the default buttons. I have the btn-add set to be the default button but when I hit enter on the edit box it gives me a warning and does nothing. Did I do the default button correctly? The following is the running code:
Other than the fact that you have the :default-button style set on two buttons (see my other email), I'm not sure what's happening. In my revised version of your other code with the layout managers, hitting enter results in no warning and no default action, either. I will investigate further.
graphic-forms-devel@common-lisp.net