Vom warmen Sommerabend-Stammtisch gibt es zwei Dinge zu berichten.
1. Ort des August Stammtisch mit Capi Workshop
Ulli hatte die FH Wedel angeboten, Stefan seine Firma freiheit. Beide waren nicht anwesend, so dass wir noch nichts festgezurrt haben und nur ein Meinungsbild erstellt haben. Dies zeigt eine leichte Präferenz für freiheit wegen der zentraleren Lage.
Weitere Infos folgen.
2. Für den CAPI Workshop haben wir etwas vorgearbeitet. Hier das Ergebnis (braucht LispWorks):
(defpackage :taschenrechner (:use :cl :capi))
(in-package :taschenrechner)
(defun press-button (data interface) (with-slots (x y) interface (cond ((numberp data) (setf x (+ (* 10 x) data))) ((eq data '+) (setf y x) (setf x 0)) ((eq data '=) (setf x (+ x y)) (setf y 0))) (display-tip x interface)))
(defun display-tip (data interface) (with-slots (tip) interface (setf (text-input-pane-text tip) (format nil "~a" data))))
(define-interface taschi () ((x :initform 0 :documentation "x-Register: Wert im Display") (y :initform 0 :documentation "y-Register: Zwischenspeicher fuer 1. Summand")) (:panes (tip text-input-pane :enabled nil :text "0") (but push-button-panel :items '(1 2 3 4 5 6 7 8 9 0 + =) :layout-class 'capi:grid-layout :layout-args '(:columns 3) :selection-callback 'press-button)) (:default-initargs :title "Taschi"))
(display (make-instance 'taschi))
Gruss Jens
PS ich habe auf der Rückfahrt noch ein kleines wenig nachgearbeitet, aber nur ein klitzekleines bischen.
PS2 offen ist die Frage von Lutz, wie das text-input-pane rechtsbündig ausgerichtet werden kann.