Skip to content

Commit 6e23314

Browse files
committed
Create new iup-threads system for running iup main loop in a new thread
1 parent 992be43 commit 6e23314

File tree

2 files changed

+11
-29
lines changed

2 files changed

+11
-29
lines changed

iup-threads.asd

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
(defsystem #:iup-threads
2+
:serial t
3+
:pathname "threads/"
4+
:components ((:file "threads"))
5+
:depends-on (#:iup
6+
#:bordeaux-threads
7+
#:lparallel))

examples/incomplete/threads.lisp renamed to threads/threads.lisp

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
(eval-when (:compile-toplevel :load-toplevel :execute)
2-
(ql:quickload '("iup" "bordeaux-threads" "lparallel" "log4cl")))
3-
41
(in-package #:iup)
52

3+
(export '(start
4+
stop
5+
call-with-main-loop))
6+
67
(defvar *post-message-handler* nil)
78

89
(defvar *post-message-queue* nil)
@@ -47,29 +48,3 @@
4748
(when *post-message-queue*
4849
(call-with-main-loop #'iup:exit-loop))
4950
(setf *post-message-queue* nil))
50-
51-
#+nil
52-
(call-with-main-loop
53-
(lambda ()
54-
(let* ((text (iup:text :expand :yes :multiline :yes))
55-
(vbox (iup:vbox (list text)))
56-
(dialog (iup:dialog vbox :size "QUARTERxQUARTER")))
57-
(iup:show dialog))))
58-
59-
#+nil
60-
(progn
61-
(trace post-message-callback)
62-
(stop)
63-
(sleep 0.2)
64-
(start)
65-
(sleep 0.2)
66-
(let* ((text (iup:text :multiline :yes :expand :yes))
67-
(vbox (iup:vbox (cl:list text)))
68-
(dialog (iup:dialog vbox :size "600x200")))
69-
(call-with-main-loop (lambda () (show dialog)))
70-
(sleep 2)
71-
(call-with-main-loop
72-
(lambda ()
73-
(loop for i from 0 below 10
74-
do (setf (iup:attribute text :append) (format nil "Some text ~a" i)))))))
75-

0 commit comments

Comments
 (0)