Commit bc5ca79b authored by David O'Toole's avatar David O'Toole

pre-release 4.8

parent 5f12d949
;; Shell commands
;; Captions and labels
;; [[file:~/xelf/gui.org::*Shell%20commands][Shell commands:1]]
;; [[file:~/xelf/gui.org::*Captions%20and%20labels][Captions and labels:1]]
(in-package :xelf)
(defmethod set-caption-string ((self node) caption)
......@@ -35,9 +35,12 @@
(defmethod draw-caption ((self node) expression)
(draw-caption-string self (fancy-format-expression expression)))
;; Shell commands:1 ends here
;; Captions and labels:1 ends here
;; [[file:~/xelf/gui.org::*Shell%20commands][Shell commands:2]]
;; Shell operations
;; [[file:~/xelf/gui.org::*Shell%20operations][Shell operations:1]]
(defmethod drag ((self shell) x y)
(with-slots (target-x target-y) self
(setf target-x (- x (window-x)))
......@@ -157,7 +160,7 @@
(defun shell-insert-output (object) (insert-output (shell) object))
(defun shell-destroy-output () (destroy-output (shell)))
(defun shell-evaluate-output () (evaluate-output (shell)))
;; Shell commands:2 ends here
;; Shell operations:1 ends here
;; Automatic layout
......@@ -259,10 +262,10 @@
(exit-xelf))
;; System object:1 ends here
;; User Commands
;; User dialogs
;; [[file:~/xelf/gui.org::*User%20Commands][User Commands:1]]
;; [[file:~/xelf/gui.org::*User%20dialogs][User dialogs:1]]
(define-dialog rename-buffer-dialog
((new-name (slot-value (current-buffer) 'buffer-name)))
(rename (current-buffer) new-name))
......@@ -286,7 +289,7 @@
(switch-to-buffer (make-instance 'buffer :name buffer-name))
(paste (current-buffer))
(trim (current-buffer)))
;; User Commands:1 ends here
;; User dialogs:1 ends here
;; Menu bar structure
......
......@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-04-11 Tue 23:27 -->
<!-- 2017-04-12 Wed 06:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Xelf: The Graphical User Interface Toolkit</title>
......@@ -247,7 +247,7 @@ for the JavaScript code in this tag.
<li><a href="#orgeda495b">Data entry prompt</a></li>
<li><a href="#org897bacb">System terminal</a></li>
<li><a href="#org6c5a725">Rendering Smalltalk style controls</a></li>
<li><a href="#orga648964">Layout</a></li>
<li><a href="#org6d6cbc7">Layout</a></li>
<li><a href="#orgc8c5c02">Duplicating a node&#xa0;&#xa0;&#xa0;<span class="tag"><span class="ccl">ccl</span>&#xa0;<span class="sbcl">sbcl</span></span></a></li>
<li><a href="#org1dfda0a">Visual Lisp lists</a>
<ul>
......@@ -255,7 +255,7 @@ for the JavaScript code in this tag.
<li><a href="#org692626f">Manipulability</a></li>
<li><a href="#orgd511959">Orientation</a></li>
<li><a href="#org6b6c188">Inputs</a></li>
<li><a href="#org9d482be">Layout</a></li>
<li><a href="#orge610b34">Layout</a></li>
<li><a href="#org896c5ce">Phrase / S-expression correspondence</a></li>
</ul>
</li>
......@@ -1753,9 +1753,9 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
</div>
<div id="outline-container-orga648964" class="outline-2">
<h2 id="orga648964">Layout</h2>
<div class="outline-text-2" id="text-orga648964">
<div id="outline-container-org6d6cbc7" class="outline-2">
<h2 id="org6d6cbc7">Layout</h2>
<div class="outline-text-2" id="text-org6d6cbc7">
<div class="org-src-container">
<pre class="src src-lisp"> (<span style="color: #f47321;">defmethod</span> <span style="color: #9370db;">draw-ghost</span> ((self node))
(<span style="color: #f47321;">with-slots</span> (x y width height) self
......@@ -1923,12 +1923,12 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
(<span style="color: #f47321;">let*</span> ((class (class-of node))
(new-node (allocate-instance class)))
(<span style="color: #f47321;">flet</span> ((slot-definition-name (slot)
<span style="color: #ff00ff; font-style: italic;">#+ecl (clos::slot-definition-name slot)</span>
<span style="color: #ff00ff; font-style: italic;">#+ccl (ccl:slot-definition-name slot)</span>
#+ecl (clos::slot-definition-name slot)
#+ccl (ccl:slot-definition-name slot)
#+sbcl (sb-mop:slot-definition-name slot))
(class-slots (class)
<span style="color: #ff00ff; font-style: italic;">#+ecl (clos::class-slots class)</span>
<span style="color: #ff00ff; font-style: italic;">#+ccl (ccl:class-slots class)</span>
#+ecl (clos::class-slots class)
#+ccl (ccl:class-slots class)
#+sbcl (sb-mop:class-slots class)))
(<span style="color: #f47321;">let</span> ((slots (mapcar #'slot-definition-name (class-slots class))))
(<span style="color: #f47321;">dolist</span> (slot-name slots)
......@@ -2067,9 +2067,9 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
</div>
<div id="outline-container-org9d482be" class="outline-3">
<h3 id="org9d482be">Layout</h3>
<div class="outline-text-3" id="text-org9d482be">
<div id="outline-container-orge610b34" class="outline-3">
<h3 id="orge610b34">Layout</h3>
<div class="outline-text-3" id="text-orge610b34">
<div class="org-src-container">
<pre class="src src-lisp"> (<span style="color: #f47321;">defmethod</span> <span style="color: #9370db;">header-height</span> ((self phrase)) 0)
......@@ -4251,7 +4251,7 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
<div id="postamble" class="status">
<p class="author">Author: David O'Toole &lt;dto@xelf.me&gt;</p>
<p class="date">Created: 2017-04-11 Tue 23:27</p>
<p class="date">Created: 2017-04-12 Wed 06:32</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
......@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-04-11 Tue 23:28 -->
<!-- 2017-04-12 Wed 06:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Xelf: The Graphical User Interface Toolkit</title>
......@@ -319,7 +319,7 @@ for the JavaScript code in this tag.
<li><a href="#orgeda495b">Data entry prompt</a></li>
<li><a href="#org897bacb">System terminal</a></li>
<li><a href="#org6c5a725">Rendering Smalltalk style controls</a></li>
<li><a href="#org9d482be">Layout</a></li>
<li><a href="#orge610b34">Layout</a></li>
<li><a href="#orgc8c5c02">Duplicating a node&#xa0;&#xa0;&#xa0;<span class="tag"><span class="ccl">ccl</span>&#xa0;<span class="sbcl">sbcl</span></span></a></li>
<li><a href="#org1dfda0a">Visual Lisp lists</a>
<ul>
......@@ -327,7 +327,7 @@ for the JavaScript code in this tag.
<li><a href="#org692626f">Manipulability</a></li>
<li><a href="#orgd511959">Orientation</a></li>
<li><a href="#org6b6c188">Inputs</a></li>
<li><a href="#org6d6cbc7">Layout</a></li>
<li><a href="#org537276d">Layout</a></li>
<li><a href="#org896c5ce">Phrase / S-expression correspondence</a></li>
</ul>
</li>
......@@ -1825,9 +1825,9 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
</div>
<div id="outline-container-org9d482be" class="outline-2">
<h2 id="org9d482be">Layout</h2>
<div class="outline-text-2" id="text-org9d482be">
<div id="outline-container-orge610b34" class="outline-2">
<h2 id="orge610b34">Layout</h2>
<div class="outline-text-2" id="text-orge610b34">
<div class="org-src-container">
<pre class="src src-lisp"> (<span style="color: #f47321;">defmethod</span> <span style="color: #9370db;">draw-ghost</span> ((self node))
(<span style="color: #f47321;">with-slots</span> (x y width height) self
......@@ -1995,12 +1995,12 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
(<span style="color: #f47321;">let*</span> ((class (class-of node))
(new-node (allocate-instance class)))
(<span style="color: #f47321;">flet</span> ((slot-definition-name (slot)
<span style="color: #ff00ff; font-style: italic;">#+ecl (clos::slot-definition-name slot)</span>
<span style="color: #ff00ff; font-style: italic;">#+ccl (ccl:slot-definition-name slot)</span>
#+ecl (clos::slot-definition-name slot)
#+ccl (ccl:slot-definition-name slot)
#+sbcl (sb-mop:slot-definition-name slot))
(class-slots (class)
<span style="color: #ff00ff; font-style: italic;">#+ecl (clos::class-slots class)</span>
<span style="color: #ff00ff; font-style: italic;">#+ccl (ccl:class-slots class)</span>
#+ecl (clos::class-slots class)
#+ccl (ccl:class-slots class)
#+sbcl (sb-mop:class-slots class)))
(<span style="color: #f47321;">let</span> ((slots (mapcar #'slot-definition-name (class-slots class))))
(<span style="color: #f47321;">dolist</span> (slot-name slots)
......@@ -2139,9 +2139,9 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
</div>
<div id="outline-container-org6d6cbc7" class="outline-3">
<h3 id="org6d6cbc7">Layout</h3>
<div class="outline-text-3" id="text-org6d6cbc7">
<div id="outline-container-org537276d" class="outline-3">
<h3 id="org537276d">Layout</h3>
<div class="outline-text-3" id="text-org537276d">
<div class="org-src-container">
<pre class="src src-lisp"> (<span style="color: #f47321;">defmethod</span> <span style="color: #9370db;">header-height</span> ((self phrase)) 0)
......@@ -4323,7 +4323,7 @@ hybrid GUI inspired by MIT Scratch and its derivatives.
</div>
<div id="postamble" class="status">
<p class="author">Author: David O'Toole &lt;dto@xelf.me&gt;</p>
<p class="date">Created: 2017-04-11 Tue 23:28</p>
<p class="date">Created: 2017-04-12 Wed 06:34</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
This diff is collapsed.
......@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-04-10 Mon 06:03 -->
<!-- 2017-04-12 Wed 06:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Dave's guide to Common Lisp game development</title>
......@@ -1251,7 +1251,7 @@ check out the current <a href="https://gitlab.com/dto/xelf/blob/master/build/mac
</div>
<div id="postamble" class="status">
<p class="author">Author: David O'Toole</p>
<p class="date">Created: 2017-04-10 Mon 06:03</p>
<p class="date">Created: 2017-04-12 Wed 06:34</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
......@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-04-11 Tue 23:28 -->
<!-- 2017-04-12 Wed 06:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>The game of Squareball</title>
......@@ -285,7 +285,7 @@ for the JavaScript code in this tag.
</li>
<li><a href="#org5fbc7be">Player robots</a>
<ul>
<li><a href="#org46973ee">Properties</a></li>
<li><a href="#org704f3b8">Properties</a></li>
<li><a href="#orga78f7de">Utilities</a></li>
<li><a href="#orgc5faa6b">Kicking the Squareball</a></li>
<li><a href="#org29bc0ce">Friction modification</a></li>
......@@ -345,7 +345,7 @@ for the JavaScript code in this tag.
<li><a href="#org4bbae53">Building the Arena buffer</a>
<ul>
<li><a href="#orga0483d0">A border around the playfield</a></li>
<li><a href="#orgb89fbe4">Properties</a></li>
<li><a href="#org05d4117">Properties</a></li>
<li><a href="#org234d62d">Updating timers</a></li>
<li><a href="#org3d7bed4">Adding keybindings</a></li>
<li><a href="#org9e18cdd">Populating the board with objects</a></li>
......@@ -1518,9 +1518,9 @@ startup.
<div id="outline-container-org5fbc7be" class="outline-2">
<h2 id="org5fbc7be">Player robots</h2>
<div class="outline-text-2" id="text-org5fbc7be">
</div><div id="outline-container-org46973ee" class="outline-3">
<h3 id="org46973ee">Properties</h3>
<div class="outline-text-3" id="text-org46973ee">
</div><div id="outline-container-org704f3b8" class="outline-3">
<h3 id="org704f3b8">Properties</h3>
<div class="outline-text-3" id="text-org704f3b8">
<div class="org-src-container">
<pre class="src src-lisp">(<span style="color: #f47321;">defparameter</span> <span style="color: #da70d6;">*max-speed*</span> 2.4)
(<span style="color: #f47321;">defparameter</span> <span style="color: #da70d6;">*max-carry-speed*</span> 2.3)
......@@ -2578,9 +2578,9 @@ Pathfinding for Player 1 is turned off.
</div>
</div>
<div id="outline-container-orgb89fbe4" class="outline-3">
<h3 id="orgb89fbe4">Properties</h3>
<div class="outline-text-3" id="text-orgb89fbe4">
<div id="outline-container-org05d4117" class="outline-3">
<h3 id="org05d4117">Properties</h3>
<div class="outline-text-3" id="text-org05d4117">
<div class="org-src-container">
<pre class="src src-lisp">(<span style="color: #f47321;">defclass</span> <span style="color: #83a525;">arena</span> (xelf:buffer)
((resetting <span style="color: #db7093;">:initform</span> nil)
......@@ -3353,7 +3353,7 @@ These strings are segregated here for easier localization and editing.
</div>
<div id="postamble" class="status">
<p class="author">Author: David O'Toole</p>
<p class="date">Created: 2017-04-11 Tue 23:28</p>
<p class="date">Created: 2017-04-12 Wed 06:32</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
......@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-04-11 Tue 23:28 -->
<!-- 2017-04-12 Wed 06:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>The game of Squareball</title>
......@@ -357,7 +357,7 @@ for the JavaScript code in this tag.
</li>
<li><a href="#org5fbc7be">Player robots</a>
<ul>
<li><a href="#orgb89fbe4">Properties</a></li>
<li><a href="#org05d4117">Properties</a></li>
<li><a href="#orga78f7de">Utilities</a></li>
<li><a href="#orgc5faa6b">Kicking the Squareball</a></li>
<li><a href="#org29bc0ce">Friction modification</a></li>
......@@ -417,7 +417,7 @@ for the JavaScript code in this tag.
<li><a href="#org4bbae53">Building the Arena buffer</a>
<ul>
<li><a href="#orga0483d0">A border around the playfield</a></li>
<li><a href="#org704f3b8">Properties</a></li>
<li><a href="#org0654956">Properties</a></li>
<li><a href="#org234d62d">Updating timers</a></li>
<li><a href="#org3d7bed4">Adding keybindings</a></li>
<li><a href="#org9e18cdd">Populating the board with objects</a></li>
......@@ -1589,9 +1589,9 @@ startup.
<div id="outline-container-org5fbc7be" class="outline-2">
<h2 id="org5fbc7be">Player robots</h2>
<div class="outline-text-2" id="text-org5fbc7be">
</div><div id="outline-container-orgb89fbe4" class="outline-3">
<h3 id="orgb89fbe4">Properties</h3>
<div class="outline-text-3" id="text-orgb89fbe4">
</div><div id="outline-container-org05d4117" class="outline-3">
<h3 id="org05d4117">Properties</h3>
<div class="outline-text-3" id="text-org05d4117">
<div class="org-src-container">
<pre class="src src-lisp">(<span style="color: #f47321;">defparameter</span> <span style="color: #da70d6;">*max-speed*</span> 2.4)
(<span style="color: #f47321;">defparameter</span> <span style="color: #da70d6;">*max-carry-speed*</span> 2.3)
......@@ -2649,9 +2649,9 @@ Pathfinding for Player 1 is turned off.
</div>
</div>
<div id="outline-container-org704f3b8" class="outline-3">
<h3 id="org704f3b8">Properties</h3>
<div class="outline-text-3" id="text-org704f3b8">
<div id="outline-container-org0654956" class="outline-3">
<h3 id="org0654956">Properties</h3>
<div class="outline-text-3" id="text-org0654956">
<div class="org-src-container">
<pre class="src src-lisp">(<span style="color: #f47321;">defclass</span> <span style="color: #83a525;">arena</span> (xelf:buffer)
((resetting <span style="color: #db7093;">:initform</span> nil)
......@@ -3424,7 +3424,7 @@ These strings are segregated here for easier localization and editing.
</div>
<div id="postamble" class="status">
<p class="author">Author: David O'Toole</p>
<p class="date">Created: 2017-04-11 Tue 23:28</p>
<p class="date">Created: 2017-04-12 Wed 06:34</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
......
This diff is collapsed.
This diff is collapsed.
;; Command shell (shell.lisp)
;; Shell workspace (shell.lisp)
;; [[file:~/xelf/gui.org::*Command%20shell%20(shell.lisp)][Command shell (shell.lisp):1]]
;; [[file:~/xelf/gui.org::*Shell%20workspace%20(shell.lisp)][Shell workspace (shell.lisp):1]]
(in-package :xelf)
;; Command shell (shell.lisp):1 ends here
;; Shell workspace (shell.lisp):1 ends here
;; Messenger widget
......
;; System and package definitions
;; As usual we must write SQUAREBALL.ASD:
;; [[file:~/xelf/doc/squareball.org::*System%20and%20package%20definitions][System and package definitions:1]]
(asdf:defsystem #:squareball
:depends-on (:xelf)
:components ((:file "squareball")))
;; System and package definitions:1 ends here
This diff is collapsed.
......@@ -5243,19 +5243,6 @@ Returns a newly allocated list."
(image :initform nil :accessor image :initarg :image :documentation "Name of texture to be displayed, if any.")))
;; Node wrapper class:1 ends here
;; Z-order
;; [[file:~/xelf/xelf.org::*Z-order][Z-order:1]]
(defmethod bring-to-front ((self node))
(with-slots (z) self
(setf z (max (or z 1)
(+ 1 (maximum-z-value (current-buffer)))))))
(defmethod send-to-back ((self node))
(setf (slot-value self 'z) 1))
;; Z-order:1 ends here
;; Destruction
......@@ -5867,6 +5854,14 @@ Returns a newly allocated list."
(defmethod move-to-depth ((self node) depth)
(setf (slot-value self 'z) (cfloat depth)))
(defmethod bring-to-front ((self node))
(with-slots (z) self
(setf z (max (or z 1)
(+ 1 (maximum-z-value (current-buffer)))))))
(defmethod send-to-back ((self node))
(setf (slot-value self 'z) 1))
;; Raising and lowering in Z-order:1 ends here
;; TODO Task scheduler
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment