X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=clnl;a=blobdiff_plain;f=src%2Fmain%2Fmodel.lisp;h=a919120b7d9fec6ac996486d34102cfd23bfa476;hp=3812ac24cedd5bb9da35ab3d5d9eb4aae118a09f;hb=81d51af;hpb=75a961089cba4b6aa4a3e947616ee4026ec3b057 diff --git a/src/main/model.lisp b/src/main/model.lisp index 3812ac2..a919120 100644 --- a/src/main/model.lisp +++ b/src/main/model.lisp @@ -78,7 +78,7 @@ DESCRIPTION: (defstruct ,type ,@(remove nil (mapcar - (lambda (def) (when (find (car def) (list :int :double :boolean :choice :string)) (second def))) + (lambda (def) (when (find (car def) (list :int :double :boolean :choice :string :option)) (second def))) definitions))) (push (list @@ -110,6 +110,7 @@ DESCRIPTION: (:double `(coerce (read-from-string ,line) 'double-float)) (:boolean `(string= "1" ,line)) (:choice `(cadr (find ,line ',(third def) :key #'car :test #'string=))) + (:option `(when (string/= ,line ,(third def)) ,line)) (:string line)))) (when val-getter (list (intern (symbol-name (cadr def)) :keyword) val-getter)))) definitions @@ -144,6 +145,22 @@ DESCRIPTION: (:string tick-counter-label) (:double frame-rate 30)) +(defwidget-definition slider + (:specified "SLIDER") + (:int left) + (:int top) + (:int right) + (:int bottom) + (:string display) + (:string varname) + (:string min) + (:string max) + (:double default) + (:string step) + (:reserved) + (:option units "NIL") + (:choice direction (("HORIZONTAL" :horizontal) ("VERTICAL" :vertical)))) + (defun parse-interface (interface-as-strings) (let ((widgets-as-strings