From ee79a5f1df1962cf0106af22c8cf3a30bf126454 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Mon, 16 Jun 2008 23:11:14 +0100 Subject: [PATCH 1/1] Initial revision. Coincidentally, this was also the first release. --- Makefile | 73 +++++++ Rolling.xls | Bin 0 -> 8704 bytes Startup.java | 27 +++ build.lisp | 7 + dep-ui.lisp | 237 ++++++++++++++++++++++ dep-ui.nsis | 71 +++++++ dep.lisp | 213 ++++++++++++++++++++ jj.lisp | 640 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ queue.lisp | 88 ++++++++ rolling.lisp | 61 ++++++ rolling.rexx | 64 ++++++ run.lisp | 13 ++ swing.lisp | 149 ++++++++++++++ 13 files changed, 1643 insertions(+) create mode 100644 Makefile create mode 100644 Rolling.xls create mode 100644 Startup.java create mode 100644 build.lisp create mode 100644 dep-ui.lisp create mode 100644 dep-ui.nsis create mode 100644 dep.lisp create mode 100644 jj.lisp create mode 100644 queue.lisp create mode 100644 rolling.lisp create mode 100644 rolling.rexx create mode 100644 run.lisp create mode 100644 swing.lisp diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2832b88 --- /dev/null +++ b/Makefile @@ -0,0 +1,73 @@ +ABCL_JAR = /usr/local/src/abcl-0.0.10/abcl.jar +JAVAC = javac +JAR = jar +GPL = /usr/share/common-licenses/GPL-2 +INSTALLER = setup-dep-ui.exe + +VERSION = 1.0.0 + +all: dep-ui.jar + +abcl.jar: $(ABCL_JAR) + cp $(ABCL_JAR) $@ + +SUBSTUFF = \ + *.abcl \ + *.cls + +TOPSTUFF = \ + *.class + +SUBFILES = \ + run.lisp + +%.class: %.java abcl.jar + $(JAVAC) -cp abcl.jar $< + +SUBDIR = tmp/org/armedbear/lisp +dep-ui.jar: abcl.jar dep-ui.abcl $(SUBFILES) Startup.class + rm -rf tmp.jar tmp + mkdir -p $(SUBDIR) + cp abcl.jar tmp.jar + cp $(SUBFILES) $(SUBSTUFF) $(SUBDIR)/ + cp $(TOPSTUFF) tmp/ + cd tmp; $(JAR) uf ../tmp.jar * + mv tmp.jar $@ + rm -rf tmp.jar tmp + +jj.abcl swing.abcl queue.abcl dep.abcl:: dep-ui.abcl +dep-ui.abcl: build.lisp \ + jj.lisp swing.lisp queue.lisp dep.lisp dep-ui.lisp + abcl --load build.lisp + +GPL.dostxt: + cp $(GPL) $@.new + todos $@.new + mv $@.new $@ + +installer: $(INSTALLER) +$(INSTALLER): dep-ui.nsis GPL.dostxt dep-ui.jar rolling.lisp + makensis dep-ui.nsis + +clean: + rm -f $(TOPSTUFF) $(SUBSTUFF) GPL.dostxt *.jar + +DISTDIR = dep-ui-$(VERSION) +distdir: + rm -rf $(DISTDIR) + mkdir $(DISTDIR) + ln \ + jj.lisp swing.lisp queue.lisp dep.lisp dep-ui.lisp \ + run.lisp Startup.java rolling.lisp \ + dep-ui.nsis \ + $(DISTDIR) + +zip: distdir + zip -r $(DISTDIR).zip $(DISTDIR) + rm -rf $(DISTDIR) + +tar: distdir + tar cvfz $(DISTDIR).tar.gz $(DISTDIR) + rm -rf $(DISTDIR) + +### \ No newline at end of file diff --git a/Rolling.xls b/Rolling.xls new file mode 100644 index 0000000000000000000000000000000000000000..f9ddaec9d619a84745f1815ff66e9b940b0d2d31 GIT binary patch literal 8704 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 XlV (0, 0, 0, 0) + + * (make-insets N) -> (N, N, N, N) + + * (make-insets &key :left :right :top :bottom) -> obvious thing" + (apply #'make :java.awt.*insets + (cond ((null arguments) '(0 0 0 0)) + ((and (endp (cdr arguments)) + (integerp (car arguments))) + (make-list 4 :initial-element (car arguments))) + (t (destructuring-bind (&key (left 0) (right 0) (top 0) + (bottom 0)) arguments + (list top left bottom right)))))) + +(defun make-grid-bag-constraints + (&key grid-x grid-y grid-width grid-height weight-x weight-y + anchor fill insets internal-pad-x internal-pad-y) + "Return a java.awt.*grind-bag-constraints object. Arguments may be as + follows. + + * GRID-X, GRID-Y -- an integer or :relative [default :relative] + + * GRID-WIDTH, GRID-HEIGHT -- an integer, :relative or :remainder + [default 1] + + * WEIGHT-X, WEIGHT-Y -- a float in [0, 1] [default 0.0] + + * ANCHOR -- one of :center, :north, :northeast :northwest, :west, :east, + :south, :southwest, :southeast, :page-start, :line-start, :line-end, + :page-end, :last-line-start, :last-line-end, :first-line-start, + :first-line-end [default :center] + + * FILL -- one of :none, :horizontal, :vertical, :both [default :none] + + * INSETS -- something acceptable to make-insets (q.v.) [default 0] + + * INTERNAL-PAD-X, INTERNAL-PAD-Y -- integers [default 0]" + + (flet ((magic (x) + (if (keywordp x) + (magic-constant-case (x :java.awt.*grid-bag-constraints) + :first-line-start :first-line-end + :page-start :line-start :line-end :page-end + :last-line-start :last-line-end + :none :both :horizontal :vertical + :relative :remainder + :northwest :north :northeast + :west :center :east + :southwest :south :southeast) + x))) + (make :java.awt.*grid-bag-constraints + (magic (or grid-x :relative)) (magic (or grid-y :relative)) + (magic (or grid-width 1)) (magic (or grid-height 1)) + (or weight-x 0.0) (or weight-y 0.0) + (magic (or anchor :center)) (magic (or fill :none)) + (apply #'make-insets (listify insets)) + (or internal-pad-x 0) (or internal-pad-y 0)))) + +(let ((builtin-colours (make-hash-table))) + (dolist (colour '(:black :blue :cyan :dark-gray :gray :green :light-gray + :magenta :orange :pink :red :white :yellow)) + (setf (gethash colour builtin-colours) + (class-field :java.awt.*color + (substitute #\_ #\- (string-upcase colour))))) + (defun make-colour (&rest arguments) + (let ((indicator (car arguments))) + (etypecase indicator + (null java-null) + (java-object indicator) + (keyword + (or (gethash indicator builtin-colours) + (error "Colour ~S not found." indicator))) + (string + (send-class :java.awt.*color :get-color indicator)) + (number + (multiple-value-bind (red green blue alpha) + (if (and (integerp indicator) (not (numberp (cadr arguments)))) + (destructuring-bind (rgb &key alpha) arguments + (values (ldb (byte 8 16) rgb) + (ldb (byte 8 8) rgb) + (ldb (byte 8 0) rgb) + (case alpha + ((t) (ldb (byte 8 24) rgb)) + ((nil) 255) + (t alpha)))) + (destructuring-bind (r g b &optional (a 1.0)) arguments + (values r g b a))) + (flet ((fixup (n) + (if (integerp n) n (round (* n 255))))) + (make :java.awt.*color + (fixup red) + (fixup green) + (fixup blue) + (fixup alpha))))))))) + +(defun make-group-box (title) + (let ((frame (make :javax.swing.*j-panel))) + (send frame :set-border + (make :javax.swing.border.*titled-border + (make :javax.swing.border.*etched-border + (class-field :javax.swing.border.*etched-border + :*lowered*)) + title)) + frame)) + +;;;----- That's all, folks -------------------------------------------------- -- 2.11.0