projects
/
clnl
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
81d51af
)
Parse widgets v1 - switch
author
Frank Duncan <frank@kank.net>
Wed, 20 Apr 2016 05:37:11 +0000
(
00:37
-0500)
committer
Frank Duncan <frank@kank.net>
Wed, 20 Apr 2016 05:37:11 +0000
(
00:37
-0500)
src/main/model.lisp
patch
|
blob
|
history
diff --git
a/src/main/model.lisp
b/src/main/model.lisp
index a919120b7d9fec6ac996486d34102cfd23bfa476..8aa37159b3e70ddec0cd4b228f264a0eec2f8af7 100644
(file)
--- a/
src/main/model.lisp
+++ b/
src/main/model.lisp
@@
-78,7
+78,8
@@
DESCRIPTION:
(defstruct ,type
,@(remove nil
(mapcar
(defstruct ,type
,@(remove nil
(mapcar
- (lambda (def) (when (find (car def) (list :int :double :boolean :choice :string :option)) (second def)))
+ (lambda (def)
+ (when (find (car def) (list :int :double :inverted-boolean :boolean :choice :string :option)) (second def)))
definitions)))
(push
(list
definitions)))
(push
(list
@@
-94,6
+95,7
@@
DESCRIPTION:
(:int `(parse-integer ,line :junk-allowed t))
(:double `(ignore-errors (coerce (read-from-string ,line) 'double-float)))
(:boolean `(or (string= "1" ,line) (string= "0" ,line)))
(:int `(parse-integer ,line :junk-allowed t))
(:double `(ignore-errors (coerce (read-from-string ,line) 'double-float)))
(:boolean `(or (string= "1" ,line) (string= "0" ,line)))
+ (:inverted-boolean `(or (string= "0" ,line) (string= "1" ,line)))
(:choice `(find ,line ',(mapcar #'car (third def)) :test #'string=)))))
definitions
(loop for i to (length definitions) collect i)))))
(:choice `(find ,line ',(mapcar #'car (third def)) :test #'string=)))))
definitions
(loop for i to (length definitions) collect i)))))
@@
-109,6
+111,7
@@
DESCRIPTION:
(:int `(parse-integer ,line))
(:double `(coerce (read-from-string ,line) 'double-float))
(:boolean `(string= "1" ,line))
(:int `(parse-integer ,line))
(:double `(coerce (read-from-string ,line) 'double-float))
(:boolean `(string= "1" ,line))
+ (:inverted-boolean `(string= "0" ,line))
(:choice `(cadr (find ,line ',(third def) :key #'car :test #'string=)))
(:option `(when (string/= ,line ,(third def)) ,line))
(:string line))))
(:choice `(cadr (find ,line ',(third def) :key #'car :test #'string=)))
(:option `(when (string/= ,line ,(third def)) ,line))
(:string line))))
@@
-161,6
+164,18
@@
DESCRIPTION:
(:option units "NIL")
(:choice direction (("HORIZONTAL" :horizontal) ("VERTICAL" :vertical))))
(:option units "NIL")
(:choice direction (("HORIZONTAL" :horizontal) ("VERTICAL" :vertical))))
+(defwidget-definition switch
+ (:specified "SWITCH")
+ (:int left)
+ (:int top)
+ (:int right)
+ (:int bottom)
+ (:string display)
+ (:string varname)
+ (:inverted-boolean on)
+ (:reserved)
+ (:reserved))
+
(defun parse-interface (interface-as-strings)
(let
((widgets-as-strings
(defun parse-interface (interface-as-strings)
(let
((widgets-as-strings