[rdnzl-cvs] CVS RDNZL/examples
eweitz
eweitz at common-lisp.net
Wed Feb 1 01:00:58 UTC 2006
Update of /project/rdnzl/cvsroot/RDNZL/examples
In directory common-lisp:/tmp/cvs-serv4420/examples
Modified Files:
AproposGui.cs apropos.lisp apropos2.lisp deliver-acl.lisp
deliver-ccl.lisp deliver-lw.lisp messagebox.lisp url.lisp
Log Message:
0.9.0 release
--- /project/rdnzl/cvsroot/RDNZL/examples/AproposGui.cs 2005/01/03 00:55:44 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/AproposGui.cs 2006/02/01 01:00:57 1.2
@@ -1,108 +1,108 @@
-// $Header: /project/rdnzl/cvsroot/RDNZL/examples/AproposGui.cs,v 1.1.1.1 2005/01/03 00:55:44 eweitz Exp $
-
-// Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials
-// provided with the distribution.
-
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// compile this with:
-// csc.exe /target:library AproposGui.cs
-// and put the resulting DLL into your Lisp's application folder
-
-using System;
-using System.Collections;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Windows.Forms;
-
-namespace AproposGUI {
- public class AproposControl : System.Windows.Forms.UserControl {
- public System.Windows.Forms.TextBox textBox;
- public System.Windows.Forms.TextBox listBox;
- private System.Windows.Forms.Label label;
- public System.Windows.Forms.Label title;
- private delegate string callback(string input);
-
- private System.ComponentModel.Container components = null;
-
- public AproposControl() {
- InitializeComponent();
- }
-
- protected override void Dispose(bool disposing) {
- if (disposing) {
- if (components != null)
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- private void InitializeComponent() {
- this.textBox = new System.Windows.Forms.TextBox();
- this.listBox = new System.Windows.Forms.TextBox();
- this.label = new System.Windows.Forms.Label();
- this.title = new System.Windows.Forms.Label();
- this.SuspendLayout();
-
- this.textBox.Location = new System.Drawing.Point(16, 344);
- this.textBox.Name = "textBox";
- this.textBox.Size = new System.Drawing.Size(584, 20);
- this.textBox.TabIndex = 0;
- this.textBox.Text = "";
-
- this.listBox.Location = new System.Drawing.Point(16, 56);
- this.listBox.Multiline = true;
- this.listBox.Name = "listBox";
- this.listBox.ReadOnly = true;
- this.listBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.listBox.Size = new System.Drawing.Size(584, 248);
- this.listBox.TabIndex = 1;
- this.listBox.Text = "";
-
- this.label.Location = new System.Drawing.Point(24, 312);
- this.label.Name = "label";
- this.label.Size = new System.Drawing.Size(576, 23);
- this.label.TabIndex = 2;
- this.label.Text = "Enter text below and press RETURN";
- this.label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-
- this.title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
- this.title.Location = new System.Drawing.Point(24, 16);
- this.title.Name = "title";
- this.title.Size = new System.Drawing.Size(568, 24);
- this.title.TabIndex = 3;
- this.title.Text = "RDNZL Apropos Demo";
- this.title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-
- this.Controls.Add(this.title);
- this.Controls.Add(this.label);
- this.Controls.Add(this.listBox);
- this.Controls.Add(this.textBox);
- this.Name = "MainControl";
- this.Size = new System.Drawing.Size(616, 384);
- this.ResumeLayout(false);
- }
- }
-}
+// $Header: /project/rdnzl/cvsroot/RDNZL/examples/AproposGui.cs,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+// Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials
+// provided with the distribution.
+
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// compile this with:
+// csc.exe /target:library AproposGui.cs
+// and put the resulting DLL into your Lisp's application folder
+
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+
+namespace AproposGUI {
+ public class AproposControl : System.Windows.Forms.UserControl {
+ public System.Windows.Forms.TextBox textBox;
+ public System.Windows.Forms.TextBox listBox;
+ private System.Windows.Forms.Label label;
+ public System.Windows.Forms.Label title;
+ private delegate string callback(string input);
+
+ private System.ComponentModel.Container components = null;
+
+ public AproposControl() {
+ InitializeComponent();
+ }
+
+ protected override void Dispose(bool disposing) {
+ if (disposing) {
+ if (components != null)
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private void InitializeComponent() {
+ this.textBox = new System.Windows.Forms.TextBox();
+ this.listBox = new System.Windows.Forms.TextBox();
+ this.label = new System.Windows.Forms.Label();
+ this.title = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+
+ this.textBox.Location = new System.Drawing.Point(16, 344);
+ this.textBox.Name = "textBox";
+ this.textBox.Size = new System.Drawing.Size(584, 20);
+ this.textBox.TabIndex = 0;
+ this.textBox.Text = "";
+
+ this.listBox.Location = new System.Drawing.Point(16, 56);
+ this.listBox.Multiline = true;
+ this.listBox.Name = "listBox";
+ this.listBox.ReadOnly = true;
+ this.listBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.listBox.Size = new System.Drawing.Size(584, 248);
+ this.listBox.TabIndex = 1;
+ this.listBox.Text = "";
+
+ this.label.Location = new System.Drawing.Point(24, 312);
+ this.label.Name = "label";
+ this.label.Size = new System.Drawing.Size(576, 23);
+ this.label.TabIndex = 2;
+ this.label.Text = "Enter text below and press RETURN";
+ this.label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+
+ this.title.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.title.Location = new System.Drawing.Point(24, 16);
+ this.title.Name = "title";
+ this.title.Size = new System.Drawing.Size(568, 24);
+ this.title.TabIndex = 3;
+ this.title.Text = "RDNZL Apropos Demo";
+ this.title.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+
+ this.Controls.Add(this.title);
+ this.Controls.Add(this.label);
+ this.Controls.Add(this.listBox);
+ this.Controls.Add(this.textBox);
+ this.Name = "MainControl";
+ this.Size = new System.Drawing.Size(616, 384);
+ this.ResumeLayout(false);
+ }
+ }
+}
--- /project/rdnzl/cvsroot/RDNZL/examples/apropos.lisp 2005/01/03 00:55:43 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/apropos.lisp 2006/02/01 01:00:57 1.2
@@ -1,90 +1,88 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/apropos.lisp,v 1.1.1.1 2005/01/03 00:55:43 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-(in-package :cl-user)
-
-(use-package :rdnzl)
-
-(enable-rdnzl-syntax)
-
-(import-types "System.Windows.Forms"
- "Application" "DockStyle" "Form" "MessageBox" "KeyPressEventHandler" "TextBox")
-
-(import-types "AproposGUI"
- "AproposControl")
-
-(use-namespace "System.Windows.Forms")
-(use-namespace "AproposGUI")
-
-(defun copy-to-clipboard (text-box)
- (let ((selection-start [%SelectionStart text-box])
- (selection-length [%SelectionLength text-box])
- (text-length [%Length (box [%Text text-box])]))
- (setf [%SelectionStart text-box] 0
- [%SelectionLength text-box] text-length)
- [Copy text-box]
- (setf [%SelectionStart text-box] selection-start
- [%SelectionLength text-box] selection-length)))
-
-(let (message-shown)
- (defun fill-list-box (object event)
- (when (char= [%KeyChar event] #\Return)
- (cast object "TextBox")
- (let* ((input-string [%Text object])
- (input-length (length input-string)))
- (when (plusp input-length)
- (let ((apropos-text
- (with-output-to-string (*standard-output*)
- (apropos input-string)))
- (list-box [$listBox (cast [%Parent object] "AproposControl")]))
- #+:cormanlisp (setq apropos-text (lf-to-crlf apropos-text))
- (setf [%Text list-box] apropos-text)
- (copy-to-clipboard list-box)
- (unless message-shown
- [MessageBox.Show "The output of APROPOS has been copied to the clipboard."
- "RDNZL"]
- (setq message-shown t)))
- (setf [%SelectionStart object] 0
- [%SelectionLength object] input-length))))))
-
-(defun run-apropos-form ()
- (let* ((control (new "AproposControl"))
- (form (new "Form")))
- (setf [%Dock control] [$DockStyle.Fill]
- [%ClientSize form] [%ClientSize control]
- [%Text form] "RDNZL Apropos Demo"
- [%Text [$title control]]
- (format nil "RDNZL Apropos Demo (~A)"
- (lisp-implementation-type)))
- [+KeyPress [$textBox control]
- (new "KeyPressEventHandler" #'fill-list-box)]
- [Add [%Controls form] control]
- [Application.Run form]))
-
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/apropos.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :rdnzl-user)
+
+(enable-rdnzl-syntax)
+
+(import-types "System.Windows.Forms"
+ "Application" "DockStyle" "Form" "MessageBox" "KeyPressEventHandler" "TextBox")
+
+(import-types "AproposGUI"
+ "AproposControl")
+
+(use-namespace "System.Windows.Forms")
+(use-namespace "AproposGUI")
+
+(defun copy-to-clipboard (text-box)
+ (let ((selection-start [%SelectionStart text-box])
+ (selection-length [%SelectionLength text-box])
+ (text-length [%Length (box [%Text text-box])]))
+ (setf [%SelectionStart text-box] 0
+ [%SelectionLength text-box] text-length)
+ [Copy text-box]
+ (setf [%SelectionStart text-box] selection-start
+ [%SelectionLength text-box] selection-length)))
+
+(let (message-shown)
+ (defun fill-list-box (object event)
+ (when (char= [%KeyChar event] #\Return)
+ (cast object "TextBox")
+ (let* ((input-string [%Text object])
+ (input-length (length input-string)))
+ (when (plusp input-length)
+ (let ((apropos-text
+ (with-output-to-string (*standard-output*)
+ (apropos input-string)))
+ (list-box [$listBox (cast [%Parent object] "AproposControl")]))
+ #+:cormanlisp (setq apropos-text (lf-to-crlf apropos-text))
+ (setf [%Text list-box] apropos-text)
+ (copy-to-clipboard list-box)
+ (unless message-shown
+ [MessageBox.Show "The output of APROPOS has been copied to the clipboard."
+ "RDNZL"]
+ (setq message-shown t)))
+ (setf [%SelectionStart object] 0
+ [%SelectionLength object] input-length))))))
+
+(defun run-apropos-form ()
+ (let* ((control (new "AproposControl"))
+ (form (new "Form")))
+ (setf [%Dock control] [$DockStyle.Fill]
+ [%ClientSize form] [%ClientSize control]
+ [%Text form] "RDNZL Apropos Demo"
+ [%Text [$title control]]
+ (format nil "RDNZL Apropos Demo (~A)"
+ (lisp-implementation-type)))
+ [+KeyPress [$textBox control]
+ (new "KeyPressEventHandler" #'fill-list-box)]
+ [Add [%Controls form] control]
+ [Application.Run form]))
+
(disable-rdnzl-syntax)
\ No newline at end of file
--- /project/rdnzl/cvsroot/RDNZL/examples/apropos2.lisp 2005/01/03 00:55:43 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/apropos2.lisp 2006/02/01 01:00:57 1.2
@@ -1,201 +1,199 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/apropos2.lisp,v 1.1.1.1 2005/01/03 00:55:43 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;; same as apropos.lisp but using "direct calls"
-
-(in-package :cl-user)
-
-(use-package :rdnzl)
-
-(eval-when (:compile-toplevel :load-toplevel :execute)
- ;; wrapped in EVAL-WHEN because these must be available when the
- ;; direct calls are defined
- (import-types "System.Windows.Forms"
- "Application" "Control" "Control+ControlCollection" "DockStyle" "Form"
- "MessageBox" "KeyPressEventArgs" "KeyPressEventHandler" "TextBox")
-
- (import-types "AproposGUI"
- "AproposControl")
-
- (use-namespace "System.Windows.Forms")
- (use-namespace "AproposGUI"))
-
-;; an instance property
-(define-rdnzl-call controls
- (:member-kind :property)
- ((control "Control")))
-
-;; we can't use the standard name here because LENGTH is an external
-;; symbol of the COMMON-LISP package
-(define-rdnzl-call string-length
- (:member-kind :property
- :dotnet-name "Length")
- ((string "System.String")))
-
-(define-rdnzl-call text
- (:member-kind :property)
- ((control "Control")))
-
-;; a setter function for an instance property
-(define-rdnzl-call (setf text)
- (:member-kind :property)
- ((control "Control")))
-
-(define-rdnzl-call (setf dock)
- (:member-kind :property)
- ((control "Control")))
-
-(define-rdnzl-call client-size
- (:member-kind :property)
- ((control "Control")))
-
-(define-rdnzl-call (setf client-size)
- (:member-kind :property)
- ((control "Control")))
-
-(define-rdnzl-call selection-start
- (:member-kind :property)
- ((text-box "TextBox")))
-
-(define-rdnzl-call (setf selection-start)
- (:member-kind :property)
- ((text-box "TextBox")))
-
-(define-rdnzl-call selection-length
- (:member-kind :property)
- ((text-box "TextBox")))
-
-(define-rdnzl-call (setf selection-length)
- (:member-kind :property)
- ((text-box "TextBox")))
-
-(define-rdnzl-call parent
- (:member-kind :property)
- ((string "TextBox")))
-
-;; an instance method
-(define-rdnzl-call copy
- ()
- ((text-box "TextBox")))
-
-(define-rdnzl-call key-char
- (:member-kind :property)
- ((event "KeyPressEventArgs")))
-
-;; an instance field (which should have been called "Title" instead of
-;; "title")
-(define-rdnzl-call title
- (:member-kind :field
- :dotnet-name "title")
- ((control "AproposControl")))
-
-(define-rdnzl-call list-box
- (:member-kind :field
- :dotnet-name "listBox")
- ((control "AproposControl")))
-
-(define-rdnzl-call text-box
- (:member-kind :field
- :dotnet-name "textBox")
- ((control "AproposControl")))
-
-(define-rdnzl-call add
- ()
- ((collection "Control+ControlCollection")
- (control "Control")))
-
-;; a static method of the .NET type MessageBox
-(define-rdnzl-call show
- (:type-name "MessageBox")
- ((text "System.String")
- (caption "System.String")))
-
-(define-rdnzl-call run-form
- (:type-name "Application"
- ;; renamed because deliver-xx.lisp already contains a RUN
- ;; function
- :dotnet-name "Run")
- ((form "Form")))
-
-;; a static field of the .NET type DockStyle (which is an enumeration)
-(define-rdnzl-call dock-style/fill
- (:member-kind :field
- :dotnet-name "Fill"
- :type-name "DockStyle")
- ())
-
-(define-rdnzl-call add-key-press
- (:dotnet-name "add_KeyPress")
- ((text-box "TextBox")
- (handler "KeyPressEventHandler")))
-
-(defun copy-to-clipboard (text-box)
- (let ((selection-start (selection-start text-box))
- (selection-length (selection-length text-box))
- (text-length (string-length (box (text text-box)))))
- (setf (selection-start text-box) 0
- (selection-length text-box) text-length)
- (copy text-box)
- (setf (selection-start text-box) selection-start
- (selection-length text-box) selection-length)))
-
-(let (message-shown)
- (defun fill-list-box (object event)
- (when (char= (key-char event) #\Return)
- (cast object "TextBox")
- (let* ((input-string (text object))
- (input-length (length input-string)))
- (when (plusp input-length)
- (let ((apropos-text
- (with-output-to-string (*standard-output*)
- (apropos input-string)))
- (list-box (list-box (cast (parent object) "AproposControl"))))
- #+:cormanlisp (setq apropos-text (lf-to-crlf apropos-text))
- (setf (text list-box) apropos-text)
- (copy-to-clipboard list-box)
- (unless message-shown
- (show "The output of APROPOS has been copied to the clipboard."
- "RDNZL")
- (setq message-shown t)))
- (setf (selection-start object) 0
- (selection-length object) input-length))))))
-
-(defun run-apropos-form ()
- (let* ((control (new "AproposControl"))
- (form (new "Form")))
- (setf (dock control) (dock-style/fill)
- (client-size form) (client-size control)
- (text form) "RDNZL Apropos Demo"
- (text (title control))
- (format nil "RDNZL Apropos Demo (~A)"
- (lisp-implementation-type)))
- (add-key-press (text-box control)
- (new "KeyPressEventHandler" #'fill-list-box))
- (add (controls form) control)
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/apropos2.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;;; same as apropos.lisp but using "direct calls"
+
+(in-package :rdnzl-user)
+
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ ;; wrapped in EVAL-WHEN because these must be available when the
+ ;; direct calls are defined
+ (import-types "System.Windows.Forms"
+ "Application" "Control" "Control+ControlCollection" "DockStyle" "Form"
+ "MessageBox" "KeyPressEventArgs" "KeyPressEventHandler" "TextBox")
+
+ (import-types "AproposGUI"
+ "AproposControl")
+
+ (use-namespace "System.Windows.Forms")
+ (use-namespace "AproposGUI"))
+
+;; an instance property
+(define-rdnzl-call controls
+ (:member-kind :property)
+ ((control "Control")))
+
+;; we can't use the standard name here because LENGTH is an external
+;; symbol of the COMMON-LISP package
+(define-rdnzl-call string-length
+ (:member-kind :property
+ :dotnet-name "Length")
+ ((string "System.String")))
+
+(define-rdnzl-call text
+ (:member-kind :property)
+ ((control "Control")))
+
+;; a setter function for an instance property
+(define-rdnzl-call (setf text)
+ (:member-kind :property)
+ ((control "Control")))
+
+(define-rdnzl-call (setf dock)
+ (:member-kind :property)
+ ((control "Control")))
+
+(define-rdnzl-call client-size
+ (:member-kind :property)
+ ((control "Control")))
+
+(define-rdnzl-call (setf client-size)
+ (:member-kind :property)
+ ((control "Control")))
+
+(define-rdnzl-call selection-start
+ (:member-kind :property)
+ ((text-box "TextBox")))
+
+(define-rdnzl-call (setf selection-start)
+ (:member-kind :property)
+ ((text-box "TextBox")))
+
+(define-rdnzl-call selection-length
+ (:member-kind :property)
+ ((text-box "TextBox")))
+
+(define-rdnzl-call (setf selection-length)
+ (:member-kind :property)
+ ((text-box "TextBox")))
+
+(define-rdnzl-call parent
+ (:member-kind :property)
+ ((string "TextBox")))
+
+;; an instance method
+(define-rdnzl-call copy
+ ()
+ ((text-box "TextBox")))
+
+(define-rdnzl-call key-char
+ (:member-kind :property)
+ ((event "KeyPressEventArgs")))
+
+;; an instance field (which should have been called "Title" instead of
+;; "title")
+(define-rdnzl-call title
+ (:member-kind :field
+ :dotnet-name "title")
+ ((control "AproposControl")))
+
+(define-rdnzl-call list-box
+ (:member-kind :field
+ :dotnet-name "listBox")
+ ((control "AproposControl")))
+
+(define-rdnzl-call text-box
+ (:member-kind :field
+ :dotnet-name "textBox")
+ ((control "AproposControl")))
+
+(define-rdnzl-call add
+ ()
+ ((collection "Control+ControlCollection")
+ (control "Control")))
+
+;; a static method of the .NET type MessageBox
+(define-rdnzl-call show
+ (:type-name "MessageBox")
+ ((text "System.String")
+ (caption "System.String")))
+
+(define-rdnzl-call run-form
+ (:type-name "Application"
+ ;; renamed because deliver-xx.lisp already contains a RUN
+ ;; function
+ :dotnet-name "Run")
+ ((form "Form")))
+
+;; a static field of the .NET type DockStyle (which is an enumeration)
+(define-rdnzl-call dock-style/fill
+ (:member-kind :field
+ :dotnet-name "Fill"
+ :type-name "DockStyle")
+ ())
+
+(define-rdnzl-call add-key-press
+ (:dotnet-name "add_KeyPress")
+ ((text-box "TextBox")
+ (handler "KeyPressEventHandler")))
+
+(defun copy-to-clipboard (text-box)
+ (let ((selection-start (selection-start text-box))
+ (selection-length (selection-length text-box))
+ (text-length (string-length (box (text text-box)))))
+ (setf (selection-start text-box) 0
+ (selection-length text-box) text-length)
+ (copy text-box)
+ (setf (selection-start text-box) selection-start
+ (selection-length text-box) selection-length)))
+
+(let (message-shown)
+ (defun fill-list-box (object event)
+ (when (char= (key-char event) #\Return)
+ (cast object "TextBox")
+ (let* ((input-string (text object))
+ (input-length (length input-string)))
+ (when (plusp input-length)
+ (let ((apropos-text
+ (with-output-to-string (*standard-output*)
+ (apropos input-string)))
+ (list-box (list-box (cast (parent object) "AproposControl"))))
+ #+:cormanlisp (setq apropos-text (lf-to-crlf apropos-text))
+ (setf (text list-box) apropos-text)
+ (copy-to-clipboard list-box)
+ (unless message-shown
+ (show "The output of APROPOS has been copied to the clipboard."
+ "RDNZL")
+ (setq message-shown t)))
+ (setf (selection-start object) 0
+ (selection-length object) input-length))))))
+
+(defun run-apropos-form ()
+ (let* ((control (new "AproposControl"))
+ (form (new "Form")))
+ (setf (dock control) (dock-style/fill)
+ (client-size form) (client-size control)
+ (text form) "RDNZL Apropos Demo"
+ (text (title control))
+ (format nil "RDNZL Apropos Demo (~A)"
+ (lisp-implementation-type)))
+ (add-key-press (text-box control)
+ (new "KeyPressEventHandler" #'fill-list-box))
[3 lines skipped]
--- /project/rdnzl/cvsroot/RDNZL/examples/deliver-acl.lisp 2005/01/03 00:55:44 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/deliver-acl.lisp 2006/02/01 01:00:57 1.2
@@ -1,70 +1,70 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-acl.lisp,v 1.1.1.1 2005/01/03 00:55:44 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Charles A. Cox. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;; Example: How to deliver a RDNZL application with AllegroCL
-
-(in-package :cl-user)
-
-(eval-when (:compile-toplevel :load-toplevel :execute)
- (require :res))
-
-(defparameter *rdnzl-directory*
- ;; assume this file is in examples/ subdirectory
- (merge-pathnames #p".."
- (make-pathname :name nil
- :type nil
- :version nil
- :defaults *load-truename*)))
-
-;; make sure RDNZL is loaded so that we can compile apropos.lisp
-;; (better to use provide/require for this?)
-(unless (find-package ':rdnzl)
- (load (merge-pathnames #p"load.lisp" *rdnzl-directory*)))
-
-(let ((*default-pathname-defaults* *rdnzl-directory*))
- (generate-application
- "apropos" ; application name
- (merge-pathnames #p"examples/apropos/") ; application directory
- ;; list of files to load in the image being built
- (list (merge-pathnames #p"load.lisp")
- (merge-pathnames (compile-file #p"examples/apropos.lisp")))
- ;; extra files used at runtime
- :application-files (list (merge-pathnames #p"rdnzl.dll")
- (merge-pathnames #p"examples/AproposGui.dll"))
- :discard-compiler t
- :allow-existing-directory t
- :post-load-form '(rdnzl:shutdown-rdnzl)
- :restart-app-function '(lambda ()
- (rdnzl:init-rdnzl)
- (run-apropos-form)
- (exit)))
-
- (win:set-default-command-line-arguments #p"examples/apropos/apropos.exe"
- ;; suppress console
- '("+c")))
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-acl.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Charles A. Cox. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;;; Example: How to deliver a RDNZL application with AllegroCL
+
+(in-package :cl-user)
+
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (require :res))
+
+(defparameter *rdnzl-directory*
+ ;; assume this file is in examples/ subdirectory
+ (merge-pathnames #p".."
+ (make-pathname :name nil
+ :type nil
+ :version nil
+ :defaults *load-truename*)))
+
+;; make sure RDNZL is loaded so that we can compile apropos.lisp
+;; (better to use provide/require for this?)
+(unless (find-package ':rdnzl)
+ (load (merge-pathnames #p"load.lisp" *rdnzl-directory*)))
+
+(let ((*default-pathname-defaults* *rdnzl-directory*))
+ (generate-application
+ "apropos" ; application name
+ (merge-pathnames #p"examples/apropos/") ; application directory
+ ;; list of files to load in the image being built
+ (list (merge-pathnames #p"load.lisp")
+ (merge-pathnames (compile-file #p"examples/apropos.lisp")))
+ ;; extra files used at runtime
+ :application-files (list (merge-pathnames #p"rdnzl.dll")
+ (merge-pathnames #p"examples/AproposGui.dll"))
+ :discard-compiler t
+ :allow-existing-directory t
+ :post-load-form '(rdnzl:shutdown-rdnzl)
+ :restart-app-function '(lambda ()
+ (rdnzl:init-rdnzl)
+ (run-apropos-form)
+ (exit)))
+
+ (win:set-default-command-line-arguments #p"examples/apropos/apropos.exe"
+ ;; suppress console
+ '("+c")))
--- /project/rdnzl/cvsroot/RDNZL/examples/deliver-ccl.lisp 2005/01/03 00:55:44 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/deliver-ccl.lisp 2006/02/01 01:00:57 1.2
@@ -1,83 +1,83 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-ccl.lisp,v 1.1.1.1 2005/01/03 00:55:44 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;; Example: How to deliver a RDNZL application with Corman Common Lisp
-
-;;; Usage: Start clconsole.exe and from there
-;;; (LOAD "/path/to/RDNZL/examples/deliver-ccl.lisp")
-
-(in-package :cl-user)
-
-(defun copy-file (from to)
- (let ((element-type '(unsigned-byte 8)))
- (with-open-file (in from
- :element-type element-type)
- (with-open-file (out to
- :direction :output
- :if-exists :supersede
- :element-type element-type)
- (loop for byte = (read-byte in nil nil)
- while byte
- do (write-byte byte out))))))
-
-(defparameter *rdnzl-directory*
- ;; assume this file is in examples/ subdirectory
- (make-pathname :name nil
- :type nil
- :version nil
- :directory (butlast (pathname-directory *load-truename*))
- :defaults *load-truename*))
-
-(setf (ccl:current-directory) *rdnzl-directory*)
-
-(load "load.lisp")
-(load "examples/apropos.lisp")
-
-(defun main ()
- (rdnzl:init-rdnzl)
- (run-apropos-form)
- (shutdown-rdnzl))
-
-(rdnzl:shutdown-rdnzl)
-
-(let ((target-dir
- (merge-pathnames "examples/apropos/" *rdnzl-directory*)))
- (defun target-path (file-name)
- (merge-pathnames file-name target-dir)))
-
-(copy-file "RDNZL.dll" (ensure-directories-exist
- (target-path "RDNZL.dll")))
-(copy-file "examples/AproposGUI.dll" (target-path "AproposGUI.dll"))
-(copy-file (concatenate 'string ccl:*cormanlisp-server-directory* "\\msvcr70.dll")
- (target-path "msvcr70.dll"))
-
-(ccl:save-application (namestring (target-path "apropos.exe"))
- #'main
- :console nil
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-ccl.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;;; Example: How to deliver a RDNZL application with Corman Common Lisp
+
+;;; Usage: Start clconsole.exe and from there
+;;; (LOAD "/path/to/RDNZL/examples/deliver-ccl.lisp")
+
+(in-package :cl-user)
+
+(defun copy-file (from to)
+ (let ((element-type '(unsigned-byte 8)))
+ (with-open-file (in from
+ :element-type element-type)
+ (with-open-file (out to
+ :direction :output
+ :if-exists :supersede
+ :element-type element-type)
+ (loop for byte = (read-byte in nil nil)
+ while byte
+ do (write-byte byte out))))))
+
+(defparameter *rdnzl-directory*
+ ;; assume this file is in examples/ subdirectory
+ (make-pathname :name nil
+ :type nil
+ :version nil
+ :directory (butlast (pathname-directory *load-truename*))
+ :defaults *load-truename*))
+
+(setf (ccl:current-directory) *rdnzl-directory*)
+
+(load "load.lisp")
+(load "examples/apropos.lisp")
+
+(defun main ()
+ (rdnzl:init-rdnzl)
+ (run-apropos-form)
+ (shutdown-rdnzl))
+
+(rdnzl:shutdown-rdnzl)
+
+(let ((target-dir
+ (merge-pathnames "examples/apropos/" *rdnzl-directory*)))
+ (defun target-path (file-name)
+ (merge-pathnames file-name target-dir)))
+
+(copy-file "RDNZL.dll" (ensure-directories-exist
+ (target-path "RDNZL.dll")))
+(copy-file "examples/AproposGUI.dll" (target-path "AproposGUI.dll"))
+(copy-file (concatenate 'string ccl:*cormanlisp-server-directory* "\\msvcr70.dll")
+ (target-path "msvcr70.dll"))
+
+(ccl:save-application (namestring (target-path "apropos.exe"))
+ #'main
+ :console nil
:static t)
\ No newline at end of file
--- /project/rdnzl/cvsroot/RDNZL/examples/deliver-lw.lisp 2005/07/08 18:45:40 1.2
+++ /project/rdnzl/cvsroot/RDNZL/examples/deliver-lw.lisp 2006/02/01 01:00:57 1.3
@@ -1,97 +1,97 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-lw.lisp,v 1.2 2005/07/08 18:45:40 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;; Example: How to deliver a RDNZL application with LispWorks
-
-;;; Usage: Open up a console window and execute somthing like this:
-;;; "C:\Program Files\LispWorks\lispworks-4450.exe" -init "C:\path\to\RDNZL\examples\deliver-lw.lisp"
-
-(in-package :cl-user)
-
-(defun copy-file (from to)
- (let ((element-type '(unsigned-byte 8))
- (buffer-size 8192))
- (with-open-file (in from
- :element-type element-type)
- (with-open-file (out to
- :direction :output
- :if-exists :supersede
- :element-type element-type)
- (let ((buf (make-array buffer-size
- :element-type element-type)))
- (loop
- (let ((pos (read-sequence buf in)))
- (when (zerop pos) (return))
- (write-sequence buf out :end pos))))))))
-(compile 'copy-file)
-
-(defparameter *rdnzl-directory*
- ;; assume this file is in examples/ subdirectory
- (merge-pathnames #p".."
- (make-pathname :name nil
- :type nil
- :version nil
- :defaults *load-truename*)))
-
-(hcl:change-directory *rdnzl-directory*)
-(load "load.lisp")
-(load (compile-file "examples/apropos.lisp"))
-
-(defun run ()
- (rdnzl:init-rdnzl)
- (run-apropos-form)
- 0)
-(compile 'run)
-
-(rdnzl:shutdown-rdnzl)
-
-(defparameter *target-directory*
- (merge-pathnames "examples/apropos/" *rdnzl-directory*))
-
-(defun target-path (file-name)
- (merge-pathnames file-name *target-directory*))
-(compile 'target-path)
-
-(copy-file "RDNZL.dll" (ensure-directories-exist
- (target-path "RDNZL.dll")))
-(copy-file "examples/AproposGUI.dll" (target-path "AproposGUI.dll"))
-
-(hcl:change-directory *target-directory*)
-
-(lw:deliver #'run "apropos"
- ;; we could use 5 here but then APROPOS wouldn't make much
- ;; sense... :)
- 4
- :compact t
- :redefine-compiler-p nil
- :keep-symbol-names '(rdnzl::LispCallback rdnzl::ReleaseDelegateAdapter)
- :keep-lisp-reader t
- :console :input)
-
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/deliver-lw.lisp,v 1.3 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;;; Example: How to deliver a RDNZL application with LispWorks
+
+;;; Usage: Open up a console window and execute somthing like this:
+;;; "C:\Program Files\LispWorks\lispworks-4450.exe" -init "C:\path\to\RDNZL\examples\deliver-lw.lisp"
+
+(in-package :cl-user)
+
+(defun copy-file (from to)
+ (let ((element-type '(unsigned-byte 8))
+ (buffer-size 8192))
+ (with-open-file (in from
+ :element-type element-type)
+ (with-open-file (out to
+ :direction :output
+ :if-exists :supersede
+ :element-type element-type)
+ (let ((buf (make-array buffer-size
+ :element-type element-type)))
+ (loop
+ (let ((pos (read-sequence buf in)))
+ (when (zerop pos) (return))
+ (write-sequence buf out :end pos))))))))
+(compile 'copy-file)
+
+(defparameter *rdnzl-directory*
+ ;; assume this file is in examples/ subdirectory
+ (merge-pathnames #p".."
+ (make-pathname :name nil
+ :type nil
+ :version nil
+ :defaults *load-truename*)))
+
+(hcl:change-directory *rdnzl-directory*)
+(load "load.lisp")
+(load (compile-file "examples/apropos.lisp"))
+
+(defun run ()
+ (rdnzl:init-rdnzl)
+ (run-apropos-form)
+ 0)
+(compile 'run)
+
+(rdnzl:shutdown-rdnzl)
+
+(defparameter *target-directory*
+ (merge-pathnames "examples/apropos/" *rdnzl-directory*))
+
+(defun target-path (file-name)
+ (merge-pathnames file-name *target-directory*))
+(compile 'target-path)
+
+(copy-file "RDNZL.dll" (ensure-directories-exist
+ (target-path "RDNZL.dll")))
+(copy-file "examples/AproposGUI.dll" (target-path "AproposGUI.dll"))
+
+(hcl:change-directory *target-directory*)
+
+(lw:deliver #'run "apropos"
+ ;; we could use 5 here but then APROPOS wouldn't make much
+ ;; sense... :)
+ 4
+ :compact t
+ :redefine-compiler-p nil
+ :keep-symbol-names '(rdnzl::LispCallback rdnzl::ReleaseDelegateAdapter)
+ :keep-lisp-reader t
+ :console :input)
+
(quit)
\ No newline at end of file
--- /project/rdnzl/cvsroot/RDNZL/examples/messagebox.lisp 2005/01/03 00:55:44 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/messagebox.lisp 2006/02/01 01:00:57 1.2
@@ -1,47 +1,45 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/messagebox.lisp,v 1.1.1.1 2005/01/03 00:55:44 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-(in-package :cl-user)
-
-(use-package :rdnzl)
-
-(enable-rdnzl-syntax)
-
-(import-types "System.Windows.Forms"
- "MessageBox" "MessageBoxButtons" "DialogResult")
-
-(use-namespace "System.Windows.Forms")
-
-(defun message-box (text &optional (caption "RDNZL"))
- [Equals [MessageBox.Show text caption
- ;; we want the message box to have "OK" and "Cancel" buttons
- [$MessageBoxButtons.OKCancel]]
- [$DialogResult.OK]])
-
-(disable-rdnzl-syntax)
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/messagebox.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :rdnzl-user)
+
+(enable-rdnzl-syntax)
+
+(import-types "System.Windows.Forms"
+ "MessageBox" "MessageBoxButtons" "DialogResult")
+
+(use-namespace "System.Windows.Forms")
+
+(defun message-box (text &optional (caption "RDNZL"))
+ [Equals [MessageBox.Show text caption
+ ;; we want the message box to have "OK" and "Cancel" buttons
+ [$MessageBoxButtons.OKCancel]]
+ [$DialogResult.OK]])
+
+(disable-rdnzl-syntax)
--- /project/rdnzl/cvsroot/RDNZL/examples/url.lisp 2005/01/03 00:55:44 1.1.1.1
+++ /project/rdnzl/cvsroot/RDNZL/examples/url.lisp 2006/02/01 01:00:57 1.2
@@ -1,49 +1,47 @@
-;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
-;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/url.lisp,v 1.1.1.1 2005/01/03 00:55:44 eweitz Exp $
-
-;;; Copyright (c) 2004-2005, Dr. Edmund Weitz. All rights reserved.
-
-;;; Redistribution and use in source and binary forms, with or without
-;;; modification, are permitted provided that the following conditions
-;;; are met:
-
-;;; * Redistributions of source code must retain the above copyright
-;;; notice, this list of conditions and the following disclaimer.
-
-;;; * Redistributions in binary form must reproduce the above
-;;; copyright notice, this list of conditions and the following
-;;; disclaimer in the documentation and/or other materials
-;;; provided with the distribution.
-
-;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
-;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-(in-package :cl-user)
-
-(use-package :rdnzl)
-
-(enable-rdnzl-syntax)
-
-(import-types "System" "Net.WebClient" "Net.WebException")
-
-(use-namespace "System.Net")
-
-(defun download-url (url)
- (rdnzl-handler-case
- (let ((web-client (new "WebClient")))
- [GetString (new "System.Text.ASCIIEncoding")
- [DownloadData web-client url]])
- ("WebException" (e)
- (warn "Ooops, probably a typo: ~A" [%Message e])
- nil)))
-
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: RDNZL; Base: 10 -*-
+;;; $Header: /project/rdnzl/cvsroot/RDNZL/examples/url.lisp,v 1.2 2006/02/01 01:00:57 eweitz Exp $
+
+;;; Copyright (c) 2004-2006, Dr. Edmund Weitz. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :rdnzl-user)
+
+(enable-rdnzl-syntax)
+
+(import-types "System" "Net.WebClient" "Net.WebException")
+
+(use-namespace "System.Net")
+
+(defun download-url (url)
+ (rdnzl-handler-case
+ (let ((web-client (new "WebClient")))
+ [GetString (new "System.Text.ASCIIEncoding")
+ [DownloadData web-client url]])
+ ("WebException" (e)
+ (warn "Ooops, probably a typo: ~A" [%Message e])
+ nil)))
+
(disable-rdnzl-syntax)
\ No newline at end of file
More information about the Rdnzl-cvs
mailing list