Author: junrue Date: Mon Apr 24 13:46:06 2006 New Revision: 105
Modified: trunk/README.txt trunk/config.lisp trunk/src/uitoolkit/graphics/image-data.lisp trunk/tests.lisp Log: revised image loading code such that it relies on merge-pathnames and *default-pathname-defaults* rather than the current working directory; also made some cleanup edits in preparation for 0.3.0 release
Modified: trunk/README.txt ============================================================================== --- trunk/README.txt (original) +++ trunk/README.txt Mon Apr 24 13:46:06 2006 @@ -1,5 +1,5 @@
-Graphic-Forms README for version 0.2.0 +Graphic-Forms README for version 0.3.0 Copyright (c) 2006, Jack D. Unrue
Graphic-Forms is a user interface library implemented in Common Lisp focusing @@ -15,6 +15,9 @@ - ASDF http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/
+ - Cells + http://common-lisp.net/project/cells/ + - CFFI 0.9.0 http://common-lisp.net/project/cffi/
@@ -34,36 +37,30 @@ Known Problems --------------
-Aside from the fact that there are a myriad number of classes, functions, -and features in general that are not yet implemented, this section lists +Aside from the fact that there are a myriad of classes, functions, and +features in general that are not yet implemented, this section lists known problems in this release:
-1. When running the layout-tester application on CLISP, you may experience - intermittent GPFs given sufficient playing around with window sizing, - or adding/removing/hiding/showing controls if the flow layout is set to - wrap. - - This problem needs further in-depth investigation. +1. The following bug filed against CLISP 2.38
-2. When running the event-tester application on CLISP, you may experience - intermittent GPFs after selecting File | Start Timer to start the - timer test. + http://sourceforge.net/tracker/index.php?func=detail&aid=1463994&gro...
- This problem needs further in-depth investigation. + may result in intermittent GPFs when windows with layout managers are + resized or when timer objects are initialized.
-3. Image loading currently requires installation of the ImageMagick +2. Image loading currently requires installation of the ImageMagick library as described in the next section. I have tested with Windows BMP files (and this is what the image-tester application displays). ImageMagick itself supports many image formats, but Graphic-Forms has not been tested with all of them. Therefore, images may not display properly, expecially when a transparency is selected.
-4. The event-tester application's menu definition specifies that the +3. The event-tester application's menu definition specifies that the Test Menu | Submenu | Item A item should be disabled but it does not get disabled. However, the GFW:ENABLE function does otherwise work correctly for menu items.
-5. Graphic-Forms supports CLISP 2.38 and LispWorks 4.4.6. The +4. Graphic-Forms supports CLISP 2.38 and LispWorks 4.4.6. The intention is to support additional Lisp vendors, but currently the library will not run on anything but CLISP or LW due to some vendor-specific features that have to be used. @@ -91,14 +88,15 @@ (load "config.lisp")
;; - ;; If ImageMagic is not installed in the default location, execute: + ;; If ImageMagick is not installed in the default location, execute: ;; - (setf gfsys::*imagemagick-dir* "c:/path/to/your/ImageMagick/install/") + (setf cl-user::*magick-library-directory* "c:/path/to/your/ImageMagick/install/")
;; setf these variables as needed for your specific environment to ;; load the other dependencies besides ImageMagick. Or if your Lisp ;; image already has these systems loaded, set the variables to nil. ;; + ;; gfsys::*cells-dir* ;; gfsys::*cffi-dir* ;; gfsys::*closer-mop-dir* ;; gfsys::*lw-compat-dir* @@ -119,9 +117,14 @@ ;; (asdf:operate 'asdf:load-op :graphic-forms-uitoolkit)
-6. Proceed to the next section to run the tests, or start coding! - (note: I will add instructions in the future for building the - documentation) +6. You may optionally compile the reference manual. GNU Make and + makeinfo are prerequisites. Assuming you already have those + components installed, the reference manual can be built by + opening a command prompt and cd'ing to the `docs\manual' + subdirectory, then typing `make'. The output will be + produced within a subdirectory called `reference'. + +7. Proceed to the next section to run the tests, or start coding!
How To Run Tests And Samples @@ -136,15 +139,10 @@
(asdf:operate 'asdf:load-op :graphic-forms-tests)
- ;; Change the working directory to the uitoolkit tests - ;; directory. - ;; - - (chdir "c:/example/path/graphic-forms/src/tests/uitoolkit/") - - ;; then execute one or more of the following: + ;; execute one or more of the following: ;;
+ (in-package :gft) (run-tests) ;; runs the unit tests (many more to be added)
(gft::run-event-tester) @@ -159,13 +157,15 @@ Support and Feedback --------------------
-Please provide feedback via the development mailing list: +Please provide feedback via the following channels: + +The development mailing list: http://www.common-lisp.net/mailman/listinfo/graphic-forms-devel
-Bug reports via the bug tracking system: - http://sourceforge.net/tracker/?group_id=163034&atid=826147 +The bug tracking system: + http://sourceforge.net/tracker/?group_id=163034&atid=826145
-Patches via the patch tracker: +The patch tracker: http://sourceforge.net/tracker/?group_id=163034&atid=826147
Modified: trunk/config.lisp ============================================================================== --- trunk/config.lisp (original) +++ trunk/config.lisp Mon Apr 24 13:46:06 2006 @@ -47,11 +47,6 @@
(defvar *lisp-unit-file* "lisp-unit")
-#+lispworks (defmacro chdir (path) - `(hcl:change-directory ,path)) -#+clisp (defmacro chdir (path) - `(ext:cd ,path)) - (defun configure-asdf () (pushnew *cells-dir* asdf:*central-registry* :test #'equal) (pushnew *cffi-dir* asdf:*central-registry* :test #'equal)
Modified: trunk/src/uitoolkit/graphics/image-data.lisp ============================================================================== --- trunk/src/uitoolkit/graphics/image-data.lisp (original) +++ trunk/src/uitoolkit/graphics/image-data.lisp Mon Apr 24 13:46:06 2006 @@ -206,8 +206,8 @@
(defmethod load ((data image-data) path) (setf path (cond - ((typep path 'pathname) (namestring path)) - ((typep path 'string) path) + ((typep path 'pathname) (namestring (merge-pathnames path))) + ((typep path 'string) (namestring (merge-pathnames path))) (t (error 'gfs:toolkit-error :detail "pathname or string required")))) (let ((handle (gfs:handle data))) @@ -220,7 +220,7 @@ (if (not (eql (cffi:foreign-slot-value ex 'exception-info 'severity) :undefined)) (error 'gfs:toolkit-error :detail (format nil "exception reason: ~s" - (cffi:foreign-slot-value ex 'exception-info 'reason)))) + (cffi:foreign-slot-value ex 'exception-info 'reason)))) (if (cffi:null-pointer-p handle) (error 'gfs:toolkit-error :detail (format nil "could not load image: ~a" path))) (setf (slot-value data 'gfs:handle) handle))))
Modified: trunk/tests.lisp ============================================================================== --- trunk/tests.lisp (original) +++ trunk/tests.lisp Mon Apr 24 13:46:06 2006 @@ -36,5 +36,5 @@ (load (compile-file *lisp-unit-file*))
(defun load-tests () - (asdf:operate 'asdf:load-op :graphic-forms-tests) - (chdir *gf-tests-dir*)) + (setf *default-pathname-defaults* (parse-namestring *gf-tests-dir*)) + (asdf:operate 'asdf:load-op :graphic-forms-tests))