Commit f2f46a1f by Dave Cooper

updated and rebuilt manual

parent 1f9a6748
......@@ -147,15 +147,19 @@
(the :section-descriptor)
(the :title)))
(label (string-append
(ecase (the :section-style)
(:document "doc")
((:chapter :chapter*) "chap")
((:section :section*) "sec")
((:subsection :subsection*) "subsec")
((:subsubsection :subsubsection*) "subsubsec"))
":"
(or (getf (the :attributes) :label) (title-to-label (the :title)))))
(label (glisp:replace-regexp
(glisp:replace-regexp
(string-append
(ecase (the :section-style)
(:document "doc")
((:chapter :chapter*) "chap")
((:section :section*) "sec")
((:subsection :subsection*) "subsec")
((:subsubsection :subsubsection*) "subsubsec"))
":"
(or (getf (the :attributes) :label) (title-to-label (the :title))))
".%.%" "")
".$.$" ""))
(section-descriptor (case (the :level)
(0 "Doc")
......@@ -281,16 +285,20 @@
(object (getf (rest (first (the :data))) :object))))
(defun title-to-label (title)
(replace-substring
(replace-substring
(glisp:replace-regexp
(glisp:replace-regexp
(replace-substring
(replace-substring
(replace-substring
(replace-substring
(string-downcase title)
" " "")
"{" "")
"}" "")
"'" "")
"`" "")
"\\texttt" ""))
(replace-substring
(replace-substring
(replace-substring
(string-downcase title)
" " "")
"{" "")
"}" "")
"'" "")
"`" "")
"\\texttt" "")
".%.%" "")
".$.$" ""))
......@@ -304,7 +304,9 @@
(read-from-string (the object))))))
out))
(load (compile-file drawing-file)))
(when (probe-file image-file) (delete-file image-file))
(uiop:copy-file (merge-pathnames "example.pdf" (glisp:temporary-folder))
image-file)
......
......@@ -268,12 +268,23 @@ additional-header-js (with-cl-who-string ()
(remove nil
`(:item
(:index ,(format nil "~a" (the-object documentation symbol)))
(:label ,(format nil "prim:~(~a~)" (the-object documentation symbol)))
(:textbf ,(format nil "~a~a"
(the-object documentation symbol)
(if (the-object documentation :macro?)
" [Macro]" "")))
,@(the-object documentation dom-body))))
(:label ,(let ((label
(glisp:replace-regexp
(glisp:replace-regexp
(glisp:replace-regexp
(glisp:replace-regexp
(format nil "prim:~(~a~)" (the-object documentation symbol))
".%.%" "")
".$.$" "")
"\\$\\$" "dollardollar")
"%%" "percentpercent")))
label))
(:textbf ,(format nil "~a~a"
(the-object documentation symbol)
(if (the-object documentation :macro?)
" [Macro]" "")))
,@(the-object documentation dom-body))))
documentations))))))
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -61,8 +61,8 @@ written consent from Genworks International.")
,*tasty-environment*
,*gendl-geometry*
,*custom-user-interfaces*
,*advanced-common-lisp*
,*advanced-gendl*
;;,*advanced-common-lisp*
;;,*advanced-gendl*
,*upgrade-notes*
,(the-object (make-self 'yadd::assy) dom-chapter)
:backmatter
......
......@@ -97,7 +97,7 @@ Chrome, Safari, Opera, or Internet Explorer"))
(:emph "webserver")
", enabling you to access your application through a standard web browser.")
(:p "As described in Chapter "
(:ref "chap:installation")
(:ref "chap:installation[gdlandgendl]")
", the typical way to start a pre-packaged GDL environment is with the "
(:texttt "run-gdl.bat")
" (Windows), or "
......
......@@ -260,6 +260,14 @@ you started in CL --- for starters, we recommend "
"GDL is an acronym for
``General-purpose Declarative Language.''"
(:ul
(:li "In a nutshell, GDL is a system for creating custom,
targeted CAD systems and other applications. By ``targeted,''
we mean these end-user CAD systems and applications are
designed to complete a specific, rule-based set of design
tasks, as distinct from a general-purpose CAD system which
works as an electronic drafting board or interactive 3D
modeling system.")
(:li
"GDL is a superset of ANSI Common Lisp, and consists largely of
automatic code-expanding extensions to Common Lisp implemented in the
......@@ -341,7 +349,9 @@ surface, and solid geometric objects.")))
((:section :title "What GDL is not")
((:list :style :itemize)
(:item "A CAD system (although it may operate on and/or generate geometric entities);")
(:item "A CAD system (although it may operate on and/or generate geometric entities, and it can generate "
(:emph "applications")
" which can be considered as special-purpose CAD systems);")
(:item "A drawing program (although it may operate on and/or generate geometric entities);")
(:item "An Artificial Intelligence system (although it is an
excellent environment for developing capabilities which could qualify
......
......@@ -80,11 +80,11 @@ naming the type is not exported from the package). For example,
consider the simple "
(:texttt "tower1")
" definition in Figure "
(:ref "fig:tower1-code")
(:ref "fig:tower-source")
". This definition is in the "
(:texttt ":chapter-5")
(:texttt ":gdl-user")
" package. Consequently, the specification will be "
(:texttt "chapter-5:tower1"))
(:texttt "gdl-user:tower1"))
((:image-figure :image-file "tasty-start.png"
:caption "Tasty start-up"
......@@ -103,18 +103,12 @@ the intent of that other package's designer."))
(:p "After you specify the class package and the object type and
press the ``browse'' button, the browser will produce the Tasty
interface with an instance of the specified type (see figure "
(:ref "fig:tastytowerpre") "). The utility interface
by default is composed of three toolbars and three view frames (tree
frame, inspector frame and viewport frame ``graphical view port'').")
interface with an instance of the specified type. The utility
interface by default is composed of three toolbars and three view
frames (tree frame, inspector frame and viewport frame ``graphical
view port'').")
#+nil
((:image-figure :image-file "tasty-tower-pre.pdf"
:width "5in" :height "5in"
:caption "Tasty Interface"
:label "fig:tastytowerpre"))
((:subsection :title "The Toolbars")
......@@ -267,9 +261,7 @@ the graphics viewport."))
(:p "The " (:emph "tree frame")
" contains a hierarchical representation of your defined
object. For example for the tower assembly this will be as depicted in
figure "
(:ref "fig:tree-twisty-tower"))
object. ")
(:p "To draw the graphics (geometry) for the tower leaf-level
objects, you can select the ``Add Leaves (AL)'' item from the Tree
......@@ -291,9 +283,8 @@ some cases modify) the object instance being inspected.")
(:texttt "number-of-blocks")
" of the tower to be ``settable,'' by adding the keyword "
(:texttt ":settable")
" after its default expression (please look ahead to Chapter "
(:ref "chap:advancedgendl")
" if you are interested in more details on this GDL
" after its default expression (please stay tuned for a Chapter "
" on Advanced GDL if you are interested in more details on this GDL
syntax). We will also pass in the number-of-blocks as the :size of
the "
(:texttt "blocks")
......@@ -313,15 +304,11 @@ application, or from the Tasty environment.")
(:p "To modify the value in Tasty: select ``Inspect'' mode from the Tree
menu, then select the root of the "
(:texttt "assembly")
" tree to set the inspector on that object (see Figure "
(:ref "fig:tasty-inspector")
"). Once the inspector is displaying this object, it is
possible to expand its settable slots by clicking on the ``Show
Settables!'' link (use the ``X'' link to collapse the settable slots
view). When the settable slots area is open, the user may set the
values as desired by inputting the new value and pressing the OK
button (see Figure "
(:ref "fig:tasty-s-slots")
")."))))
" tree to set the inspector on that object. Once the
inspector is displaying this object, it is possible to expand its
settable slots by clicking on the ``Show Settables!'' link (use the
``X'' link to collapse the settable slots view). When the settable
slots area is open, the user may set the values as desired by
inputting the new value and pressing the OK button."))))
......@@ -236,9 +236,8 @@ substituted into the format-string at the point where it occurs.")
(:p "We will cover more details on "
(:texttt "format")
" in Section "
(:ref "sec:input-output")
" on Input/Output, but for now, a familiarity with the simple use of "
" in a section on "
" Input/Output, but for now, a familiarity with the simple use of "
(:texttt "(format nil ...)")
" will be helpful for Chapter "
(:ref "chap:understandinggdl---coregdlsyntax")
......
......@@ -25,11 +25,11 @@
`((:chapter* :title "Upgrade Notes")
"GDL 1580 marked the end of a major branch of GDL development,
and 1581 was an upgraded new version, which in turn has now been
supplanted by 1582.
and 1581 was an upgraded new version, which has now been supplanted by
1592.
This addendum lists the typical modifications you will want to
consider for upgrading from GDL 1580 to GDL 1582, or later versions."
consider for upgrading from versions of GDL prior to 1582."
((:list :style :itemize)
......@@ -103,14 +103,12 @@ from files containing raw Common Lisp code.")
": "
(:verbatim "... #+allegro-v8.1 main-view #-allegro-v8.1 inner-html ..."))
(:item "(update-gdl ..) is not yet available for 1582. Instead
(:item "(update-gdl ..) is not available for 1592. Instead
of updating incrementally with patches, the intention starting with
GDL 1582 is for full GDL releases to be made available approximately
GDL 1592 is for full GDL releases to be made available approximately
monthly. Less frequent Long Term Maintenance (``LTS'') releases will
also be made available along with a new simpler maintenance patch
system.")
)))
system."))))
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