Commit d010e085 authored by Teodor Gelu Chiciudean's avatar Teodor Gelu Chiciudean
Browse files

Merge remote-tracking branch 'upstream/master'



Conflicts:
	documentation/unified-doc/gdl-documentation.log
	documentation/unified-doc/yadd/geom-base/angular-dimension.texi
	documentation/unified-doc/yadd/geom-base/arc.texi
	documentation/unified-doc/yadd/geom-base/base-drawing.texi
	documentation/unified-doc/yadd/geom-base/base-object.texi
	documentation/unified-doc/yadd/geom-base/base-view.texi
	documentation/unified-doc/yadd/geom-base/bezier-curve.texi
	documentation/unified-doc/yadd/geom-base/box.texi
	documentation/unified-doc/yadd/geom-base/c-cylinder.texi
	documentation/unified-doc/yadd/geom-base/center-line.texi
	documentation/unified-doc/yadd/geom-base/circle.texi
	documentation/unified-doc/yadd/geom-base/cone.texi
	documentation/unified-doc/yadd/geom-base/cylinder.texi
	documentation/unified-doc/yadd/geom-base/ellipse.texi
	documentation/unified-doc/yadd/geom-base/general-note.texi
	documentation/unified-doc/yadd/geom-base/global-filleted-polygon-projection.texi
	documentation/unified-doc/yadd/geom-base/global-filleted-polyline.texi
	documentation/unified-doc/yadd/geom-base/global-polygon-projection.texi
	documentation/unified-doc/yadd/geom-base/global-polyline.texi
	documentation/unified-doc/yadd/geom-base/horizontal-dimension.texi
	documentation/unified-doc/yadd/geom-base/label.texi
	documentation/unified-doc/yadd/geom-base/line.texi
	documentation/unified-doc/yadd/geom-base/parallel-dimension.texi
	documentation/unified-doc/yadd/geom-base/pie-chart.texi
	documentation/unified-doc/yadd/geom-base/point.texi
	documentation/unified-doc/yadd/geom-base/route-pipe.texi
	documentation/unified-doc/yadd/geom-base/sphere.texi
	documentation/unified-doc/yadd/geom-base/spherical-cap.texi
	documentation/unified-doc/yadd/geom-base/torus.texi
	documentation/unified-doc/yadd/geom-base/vertical-dimension.texi
	documentation/unified-doc/yadd/gwl/base-ajax-graphics-sheet.texi
	documentation/unified-doc/yadd/gwl/base-ajax-sheet.texi
	documentation/unified-doc/yadd/gwl/base-form-control.texi
	documentation/unified-doc/yadd/gwl/base-html-sheet.texi
	documentation/unified-doc/yadd/gwl/menu-form-control.texi
	documentation/unified-doc/yadd/gwl/sheet-section.texi
	documentation/unified-doc/yadd/gwl/skeleton-ui-element.texi
	documentation/unified-doc/yadd/gwl/web-drawing.texi
	documentation/unified-doc/yadd/surf/approximated-curve.texi
	documentation/unified-doc/yadd/surf/arc-curve.texi
	documentation/unified-doc/yadd/surf/b-spline-curve.texi
	documentation/unified-doc/yadd/surf/b-spline-surface.texi
	documentation/unified-doc/yadd/surf/basic-surface.texi
	documentation/unified-doc/yadd/surf/blended-solid.texi
	documentation/unified-doc/yadd/surf/box-solid.texi
	documentation/unified-doc/yadd/surf/boxed-curve.texi
	documentation/unified-doc/yadd/surf/boxed-surface.texi
	documentation/unified-doc/yadd/surf/compatible-surfaces.texi
	documentation/unified-doc/yadd/surf/composed-curve.texi
	documentation/unified-doc/yadd/surf/cone-solid.texi
	documentation/unified-doc/yadd/surf/curve.texi
	documentation/unified-doc/yadd/surf/cylinder-solid.texi
	documentation/unified-doc/yadd/surf/decomposed-curves.texi
	documentation/unified-doc/yadd/surf/dropped-curve.texi
	documentation/unified-doc/yadd/surf/edge-blend-surface.texi
	documentation/unified-doc/yadd/surf/elliptical-curve.texi
	documentation/unified-doc/yadd/surf/extended-curve.texi
	documentation/unified-doc/yadd/surf/extended-surface.texi
	documentation/unified-doc/yadd/surf/fitted-curve.texi
	documentation/unified-doc/yadd/surf/fitted-surface.texi
	documentation/unified-doc/yadd/surf/global-filleted-polyline-curves.texi
	documentation/unified-doc/yadd/surf/iso-curve.texi
	documentation/unified-doc/yadd/surf/joined-surfaces.texi
	documentation/unified-doc/yadd/surf/linear-curve.texi
	documentation/unified-doc/yadd/surf/lofted-surface.texi
	documentation/unified-doc/yadd/surf/planar-offset-curve.texi
	documentation/unified-doc/yadd/surf/planar-section-curve.texi
	documentation/unified-doc/yadd/surf/planar-section-curves.texi
	documentation/unified-doc/yadd/surf/planar-surface.texi
	documentation/unified-doc/yadd/surf/projected-curve.texi
	documentation/unified-doc/yadd/surf/rectangular-surface.texi
	documentation/unified-doc/yadd/surf/revolved-surface.texi
	documentation/unified-doc/yadd/surf/revolved-surfaces.texi
	documentation/unified-doc/yadd/surf/ruled-surface.texi
	documentation/unified-doc/yadd/surf/spherical-surface.texi
	documentation/unified-doc/yadd/surf/split-surface.texi
	documentation/unified-doc/yadd/surf/surface-knot-reduction.texi
	documentation/unified-doc/yadd/surf/swept-solid.texi
	documentation/unified-doc/yadd/surf/trimmed-curve.texi
	documentation/unified-doc/yadd/surf/trimmed-surface.texi
Signed-off-by: default avatarTeodor Gelu Chiciudean <t.g.chiciudean@ke-works.ro>
parents c0d5e7fa f6a39309
......@@ -47,12 +47,11 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(overwrite? t)
(load-core-gdl-form `(progn (load ,(merge-pathnames "../../common/build"
(load-core-gdl-form `(progn (load ,(merge-pathnames "../build"
glisp:*genworks-source-home*))
(setf (symbol-value (read-from-string
"glisp:*genworks-source-home*")) nil)
(setf (symbol-value (read-from-string
"asdf:*central-registry*")) nil)))
(setf (symbol-value (read-from-string
"asdf:*central-registry*")) nil)))
(pre-load-form (the load-core-gdl-form))
......@@ -101,7 +100,8 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(defun gdl ()
(let ((destination-directory
(let ((implementation-identifier (glisp:implementation-identifier))
(prefix (merge-pathnames "../../staging/" glisp:*genworks-source-home*)))
;;(prefix (merge-pathnames "../../staging/" glisp:*genworks-source-home*))
(prefix (merge-pathnames #+mswindows "e:/staging/" #-mswindows "~/share/staging/")))
(merge-pathnames
(make-pathname :directory
(list :relative
......@@ -110,6 +110,7 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(app :application-name "gdl"
:application-class :development
:destination-directory destination-directory
:modules (list :agraph :ide)
:restart-init-function '(lambda()
(setq glisp:*gdl-home* (glisp:current-directory))
(setq glisp:*genworks-source-home* (merge-pathnames "src/" glisp:*gdl-home*))
......@@ -128,8 +129,10 @@ temporary directory, returned by <tt>(glisp:temporary-folder)</tt>."
(require :ftp)
(load (merge-pathnames "demos/gdl-demos.asd" glisp:*genworks-source-home*))
(asdf:load-system :gdl-demos)
(load (merge-pathnames "../downloads/gdl-downloads.asd"))
(asdf:load-system :gdl-downloads))
(load (merge-pathnames "../downloads/gdl-downloads.asd" glisp:*genworks-source-home*))
(asdf:load-system :gdl-downloads)
(setf (symbol-value (read-from-string
"glisp:*genworks-source-home*")) nil))
:destination-directory
(merge-pathnames "../../staging/site/" glisp:*genworks-source-home*)
:overwrite? t
......
......@@ -26,9 +26,9 @@
:input-slots
((overwrite? nil)
(staging-directory (merge-pathnames "../../staging/" glisp:*genworks-source-home*))
(staging-directory #+mswindows "e:/staging/" #-mswindows "~/share/staging/")
(release-directory (merge-pathnames "../../release/" glisp:*genworks-source-home*))
(release-directory #+mswindows "e:/release/" #-mswindows "~/share/staging/")
(release-name-mapping '(("acl-8.2m-linux-x86" . "gdl1581-linux")
("acl-8.2m-win-x86" . "gdl1581-windows")))
......@@ -129,12 +129,12 @@
;;
(ensure-directories-exist (merge-pathnames "SMLib8.18/" (the target-parent)))
(ensure-directories-exist (merge-pathnames "SMLib8.40/" (the target-parent)))
(let ((smlib-name (if (find-package :smlib) (funcall (read-from-string "glisp:smlib-name"))
(error "smlib-name not known (smlib module probably not loaded)."))))
(glisp:copy-file (merge-pathnames (format nil "../../common/SMLib8.18/~a" smlib-name)
(glisp:copy-file (merge-pathnames (format nil "../../common/SMLib8.40/~a" smlib-name)
glisp:*genworks-source-home*)
(merge-pathnames (format nil "SMLib8.18/~a" smlib-name)
(merge-pathnames (format nil "SMLib8.40/~a" smlib-name)
(the target-parent))))
;;
......
......@@ -81,7 +81,7 @@
#+allegro
(let ((app-name (getf args :application-name))
(target (getf args :destination-directory))
(modules (append (list :asdf :compftype :aserve :phtml)
(modules (append (list :asdf :compftype :aserve :phtml #+mswindows :winapi)
(getf args :modules)))
(args (normalize-generate-application-args args)))
(apply #'excl:generate-application app-name target modules args))
......
This diff is collapsed.
bug
1. base-ajax-sheet
(<a href=’http://layout.jquery-dev.net/documentation.html’ target=’new’>
http://layout.jquery-dev.net/documentation.html</a>)
1. (load "~/yadd-auto-doc.lisp")
2. (setq self (make-object 'yadd::document-yadd))
3. (the generate-documentation)
4. at shell level:
texi2pdf gdl-documentation.texi
\ No newline at end of file
......@@ -37,7 +37,7 @@
:image? t
:package :geom-base)))
(define-object yadd2pdf (base-object)
(define-object yadd2pdf (base-object)
:input-slots ((image? nil)
(package :surf ))
:computed-slots
......@@ -79,15 +79,32 @@
(the-object doc-messages message-names))
(list
(mapcar #'(lambda (doc)
(the-object doc remark-string))
(the-object doc ;;;remark-string
section-plist))
(list-elements
(the-object doc-messages messages))))
(list(the-object doc-messages message-and-remarks))
(list (the-object doc-messages message-and-remarks))
))
(list-elements
(the-object doc-sections sections))))
(the documented-package-index)))
(doc-messages-s
(mapcar #'(lambda (doc-sections)
(mapcar #'(lambda (doc-messages)
(append
(list (the-object doc-messages category)
(the-object doc-messages message-names))
(list
(mapcar #'(lambda (doc)
(the-object doc remark-string
))
(list-elements
(the-object doc-messages messages))))
(list (the-object doc-messages message-and-remarks))
))
(list-elements
(the-object doc-sections sections))))
(the documented-package-index)))
(doc-sections
(mapcar #'(lambda (doc-sections)
......@@ -200,90 +217,168 @@
;;italic it has to be replaced too.
"!!! Not applicable for this object !!!"))
(mapcar #'(lambda (documentation)
(if (fourth documentation)
(progn (format out "@noindent @b{~@(~a~)}~%~%"
(first documentation))
(let ((index (length (second documentation))))
(dotimes (n index)
(when (nth n (third documentation))
(format out "@b{:~a}~%~%"
(nth n (second documentation)))
(format out "@itemize {}~%~% @item ~a~%~%@end itemize~%~%"
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(mapcar #'(lambda (documentation documentation-s)
(if (fourth documentation)
(if (eql :functions (first documentation))
(progn
(format out "@noindent @b{~@(~a~)}~%~%" (first documentation))
(let ((index (length (second documentation))))
(dotimes (n index)
(when (nth n (third documentation))
;; Flag!!!
;; condition used to remove the undocumented slots
;;
(if (getf (nth n (third documentation)) :type);; condition used to remove the undocumented slots
(format out "~%~%@noindent @b{~a} @i{~a}~%~%"
(nth n (second documentation)) (getf (nth n (third documentation)) :type))
(format out "~%~%"))
(format out "~a~%~%" (html2texi-string (getf (nth n (third documentation)) :intro)))
(if (getf (nth n (third documentation)) :&key)
(format out "~%~%@i{Keyword Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(mapcar #'(lambda (arg-1 arg-2)
(format nil "@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(if (listp arg-1) (first arg-1) arg-1)
(first (split arg-2 #\.))
(if (listp arg-1) (second arg-1) "@code{nil}")
(cdr (split arg-2 #\.))))
(plist-keys (getf (nth n (third documentation)) :&key))
(plist-values (getf (nth n (third documentation)) :&key))))
(format out "~%~%"))
(if (getf (nth n (third documentation)) :&optional)
(format out "~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(mapcar #'(lambda (arg-1 arg-2)
(format nil "@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(if (listp arg-1) (first arg-1) arg-1)
(first (split arg-2 #\.))
(if (listp arg-1) (second arg-1) "@code{nil}")
(cdr (split arg-2 #\.))))
(plist-keys (getf (nth n (third documentation)) :&optional))
(plist-values (getf (nth n (third documentation)) :&optional))))
(format out "~%~%"))
(if (getf (nth n (third documentation)) :&rest)
(format out "~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(mapcar #'(lambda (arg-1 arg-2)
(format nil "@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(if (listp arg-1) (first arg-1) arg-1)
(first (split arg-2 #\.))
(if (listp arg-1) (second arg-1) "@code{nil}")
(cdr (split arg-2 #\.))))
(plist-keys (getf (nth n (third documentation)) :&rest))
(plist-values (getf (nth n (third documentation)) :&rest))))
(format out "~%~%"))
(if (getf (nth n (third documentation)) :&body)
(format out "~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(mapcar #'(lambda (arg-1 arg-2)
(format nil "@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(if (listp arg-1) (first arg-1) arg-1)
(first (split arg-2 #\.))
(if (listp arg-1) (second arg-1) "@code{nil}")
(cdr (split arg-2 #\.))))
(plist-keys (getf (nth n (third documentation)) :&body))
(plist-values (getf (nth n (third documentation)) :&body))))
(format out "~%~%"))
))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;#+nil
(progn
(format out "@noindent @b{~@(~a~)}~%~%" (first documentation-s))
(let ((index (length (second documentation-s))))
(dotimes (n index)
(when (nth n (third documentation-s))
(format out "@noindent @b{~a}~%~%"
(nth n (second documentation-s)))
(format out "~%~% @itemize {}~%~% ~%~% @item ~%~% ~a~%~%@end itemize~%~%"
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(nth n (third documentation))
"<p>" "" )
"</p>" "" )
"<ol>" " @enumerate ")
"</ol>" "
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
(nth n (third documentation-s))
;;" " "")
"<p>" "" )
"</p>" "" )
"<ol>" " @enumerate ")
"</ol>" "
@end enumerate
")
"<pre>" "@smallexample ")
"</pre>" "@end smallexample
")
"<i>" "@i{" )
"</i>" "} ")
"<b>" "@b{" )
"</b>" "} ")
"<tt>" "" )
"</tt>" "")
" " "")
"<ul>" " @itemize ")
"</ul>" "
@end itemize
;; "<pre>" " @smallexample ")
;; "</pre>" " @end smallexample ")
"<i>" "@i{" )
"</i>" "} ")
"<b>" "@b{" )
"</b>" "} ")
"<tt>" "" )
"</tt>" "")
"
" "")
"<ul>" " @itemize ")
"</ul>" "
@end itemize
")
"<li>" " @item " )
"</li>" "" )
"<dl>" " @itemize {} " )
"</dl>" "
@end itemize
"<li>" " @item " )
"</li>" "" )
"<dl>" " @itemize {} " )
"</dl>" "
@end itemize
")
"<dt>" " @item " )
"</dt>" "" )
"<strong>" " @b{")
"</strong>" "} ")
"<dd>" " @itemize @minus ")
"</dd>" "
@end itemize
"<dt>" " @item " )
"</dt>" "" )
"<strong>" " @b{")
"</strong>" "} ")
"<dd>" " @itemize @minus ")
"</dd>" "
@end itemize
"))))))
(format out "~%~%")))
(nth n (the doc-messages )))
")))))))
;;;;;;;;;;
(format out "~%~%")))
(nth n (the doc-messages )) (nth n (the doc-messages-s )))
(if (getf (nth n (the part-documentation-plist)) :examples)
(format out "@noindent @b{Examples}~%~%" )
(format out "~%~%"))
......@@ -321,3 +416,71 @@
:hidden-objects
((general-description :type 'base-object)))
(defun html2texi-string (my-string)
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
(excl:replace-re
; (excl:replace-re
; (excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
my-string
"<p>" "" )
"</p>" "" )
;; "<ol>" " @enumerate ")
;; "</ol>" "
;@end enumerate
;")
"<i>" "@i{" )
"</i>" "} ")
"<b>" "@b{" )
"</b>" "} ")
"<tt>" "@code{" )
"</tt>" "}")
"
" "")
"<ul>" " @itemize ")
"</ul>" "
@end itemize
")
;; "<li>" " @item " )
;;"</li>" "" )
"<dl>" " @itemize {} " )
"</dl>" "
@end itemize
")
"<dt>" " @item " )
"</dt>" "" )
"<strong>" " @b{")
"</strong>" "} ")
"<dd>" " @itemize @minus ")
"</dd>" "
@end itemize
"))
......
@subsection Gdl
@include yadd/gdl/base-rule-object.texi
@include yadd/gdl/null-object.texi
@include yadd/gdl/quantification.texi
@include yadd/gdl/vanilla-mixin.texi
@subsubsection Base-rule-object
@b{Description}
Encapsulates a basic computation, usually to be displayed to the user.
Typically this would be used as a mixin into a more sophisticated rule-object, but the type can be
used to detect objects which should be processed as "rules."
@noindent @b{Optional-input-slots}
@b{:rule-description}
@itemize {}
@item String. Short description of the rule (generally one line). Defaults to NIL.
@end itemize
@b{:rule-description-help}
@itemize {}
@item String. Verbose description of the purpose of the rule.
@end itemize
@b{:rule-result}
@itemize {}
@item String. The basic return-value, or result, of evaluating the rule.
@end itemize
@b{:rule-result-help}
@itemize {}
@item String. Verbose description of how the rule result is computed.
@end itemize
@b{:rule-title}
@itemize {}
@item String. Title to be used with the rule object. Defaults to NIL.
@end itemize
@b{:strings-for-display}
@itemize {}
@item String. Determines the rule's default name in various internal GDL contexts. Defaults to
the rule-title, or "Unnamed Rule" if rule-title is NIL.
@end itemize
@b{:suppress-display?}
@itemize {}
@item Boolean. Determines whether the rule is displayed by default in reports etc.
@end itemize
@b{:violated?}
@itemize {}
@item Boolean. Indicates whether this rule violates a standard condition.
@end itemize
@b{Example image is not generated!}
@subsubsection Make-gdl-app
@b{Description}
This object serves as the driver for the build process for GDL runtime applications.
There is a function of the same name
which can be called with keyword arguments of the same names as the input-slots for this object. This function will create an instance with the
given keyword symbols, then invoke @i{(the make)} on it.
Note that for very large applications, including all the application fasls in @i{(the application-fasls)} list can cause the Lisp
heap to blow up fatally during the build. This is because Allegro CL turns off global garbage collecting during the load of the standard
list of application fasls. For these cases, the suggested workaround is to include explicit "load" statements for your
application fasls in the @i{:post-load-form} argument in the @i{generate-application-args} list, as in the second example below.
@noindent @b{Optional-input-slots}
@b{:application-class}
@itemize {}
@item Keyword symbol. Should be one of :runtime, :development, or :enterprise.
Indicates which level of application should be made. for :development, you must
be licensed with Partners level of GDL Enterprise Edition. With :enterprise, you can use
this function to create custom development images of your own Enterprise seat of GDL, with built-in
fasls of your choice. Defaults to :runtime.
@end itemize
@b{:application-fasls}
@itemize {}
@item List of pathnames. This list should contain the pre-compiled fasls for your GDL application,
in correct load order. These can be produced, for example, by calling genworks:cl-lite
with the :create-fasl? keyword argument set to t.
@end itemize
@b{:application-name}
@itemize {}
@item String. The name which will be used for your application's executable and dxl file. Defaults to nil, must be specified.
@end itemize
@b{:built-in-fasls}