
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))))