[graphic-forms-cvs] r385 - in trunk: . docs/manual docs/website src/tests/uitoolkit

junrue at common-lisp.net junrue at common-lisp.net
Sun Oct 22 18:36:58 UTC 2006


Author: junrue
Date: Sun Oct 22 14:36:56 2006
New Revision: 385

Added:
   trunk/src/tests/uitoolkit/README.txt
Modified:
   trunk/NEWS.txt
   trunk/README.txt
   trunk/docs/manual/Makefile
   trunk/docs/manual/README.txt
   trunk/docs/manual/gf-data.xsl
   trunk/docs/manual/gfw-symbols.xml
   trunk/docs/manual/graphic-forms.xml
   trunk/docs/manual/graphic-forms.xsl
   trunk/docs/website/docs.html
   trunk/docs/website/index.html
Log:
release 0.6 prep

Modified: trunk/NEWS.txt
==============================================================================
--- trunk/NEWS.txt	(original)
+++ trunk/NEWS.txt	Sun Oct 22 14:36:56 2006
@@ -1,9 +1,18 @@
 
+Release 0.6.0 of Graphic-Forms, a Common Lisp library for Windows GUI
+programming, is now available. This is an alpha release, meaning that
+the feature set and API have not yet stabilized.
+
+Here is what's new in this release:
+
 
 . CFFI snapshot 060925 or later is now required if you are running
   CLISP 2.40 or later (due to a change in the argument list of
   CLISP's FFI:FOREIGN-LIBRARY-FUNCTION).
 
+. Completely revamped the Programming Reference. DocBook/XSL is now used
+  for help authoring, and the manual is delivered in HTML Help format.
+
 . Implemented scrolling protocol and related helper objects and functions
   to facilitate scrolling functionality in applications:
 

Modified: trunk/README.txt
==============================================================================
--- trunk/README.txt	(original)
+++ trunk/README.txt	Sun Oct 22 14:36:56 2006
@@ -1,5 +1,5 @@
 
-Graphic-Forms README for version 0.6.0 (xx xxxxxxx 2006)
+Graphic-Forms README for version 0.6.0 (22 October 2006)
 Copyright (c) 2006, Jack D. Unrue
 
 Graphic-Forms is a user interface library implemented in Common Lisp focusing
@@ -17,7 +17,7 @@
    http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cclan/asdf/
    *note: ASDF is bundled with SBCL*
 
- - CFFI (cffi-060606 or later)
+ - CFFI (cffi-060925 or later)
    http://common-lisp.net/project/cffi/
 
  - Closer to MOP
@@ -138,12 +138,8 @@
 
   (asdf:operate 'asdf:load-op :graphic-forms-uitoolkit)
 
-6. You may optionally compile the reference manual. GNU Make and
-   makeinfo (version 4.8) 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
-   deposited in a subdirectory called `reference'.
+6. You may optionally compile the reference manual. See the README.txt
+   file in the docs/manual subdirectory for more details.
 
 7. Proceed to the next section to run the tests, or start coding!
 
@@ -164,26 +160,20 @@
 
   ;;
   ;; execute demos and test programs
+  ;;
+  (gft:hello-world)
 
   (gft:unblocked)
 
   (gft:textedit)
 
-  (gft:drawing-tester)
-
-  (gft:event-tester)
-
-  (gft:image-tester)   ; if ImageMagick loaded, shows PNG and GIF images
-
-  (gft:layout-tester)
-
-  (gft:widget-tester)
-
-  (gft:windlg)
+  ;;
+  ;; see src/tests/uitoolkit/README.txt
+  ;; for details on other test programs
 
   ;;
   ;; execute the unit-tests
-
+  ;;
   (in-package :gft)
   (run-tests)
 

Modified: trunk/docs/manual/Makefile
==============================================================================
--- trunk/docs/manual/Makefile	(original)
+++ trunk/docs/manual/Makefile	Sun Oct 22 14:36:56 2006
@@ -5,18 +5,22 @@
 # Copyright (c) 2006, Jack D. Unrue
 #
 
-CHM-DEPS    = gfs-tmp-pkg.xml gfg-tmp-pkg.xml gfw-tmp-pkg.xml constants.xml api.xml \
+VERSION     = 0.6
+
+CHM-DEPS    = gfs-tmp-pkg.xml gfg-tmp-pkg.xml gfw-tmp-pkg.xml                   \
+              constants.xml api.xml                                             \
               catalog.xml glossary.xml graphic-forms.xml image-data-plugins.xml \
               introduction.xml legal.xml miscellaneous-topics.xml
 COMMON-DEPS = gf-data.xsl gf-package.xsl clhs-table.xml win32-api-table.xml
 
 TMP-XML     = gfs-tmp-pkg.xml gfs-tmp-syms.xml gfg-tmp-pkg.xml gfg-tmp-syms.xml \
-              gfw-tmp-pkg.xml gfw-tmp-syms.xml
+              gfw-tmp-pkg.xml gfw-tmp-syms.xml tmp.xml
 
 XSLT-PROC   = xsltproc --nonet
 
-graphic-forms.chm: $(CHM-DEPS)
-	$(XSLT-PROC) graphic-forms.xsl graphic-forms.xml
+graphic-forms-$(VERSION).chm: $(CHM-DEPS)
+	cat graphic-forms.xml | sed -e 's/VERSION/$(VERSION)/g' > tmp.xml
+	$(XSLT-PROC) --stringparam version $(VERSION) graphic-forms.xsl tmp.xml
 	-hhc htmlhelp.hhp; exit 0 # muffle Error Ignored msg due to hhc exit value 1
 	find . \( -name "*~" -o -name "*.html" -o -name "*.hhk" -o -name "*.hhc" -o -name "*.hhp" \) -exec rm {} \;
 

Modified: trunk/docs/manual/README.txt
==============================================================================
--- trunk/docs/manual/README.txt	(original)
+++ trunk/docs/manual/README.txt	Sun Oct 22 14:36:56 2006
@@ -37,10 +37,10 @@
 subdirectory underneath where you installed the Graphic-Forms source.
 
 Modify the URI values in catalog.xml to suit your particular
-environment, then run make on Makefile.
-
-Then double-click on graphic-forms.chm and you should see the
-Programming Reference appear.
+environment, then run make on Makefile. A file named
+graphic-forms-<version>.chm is created in the current directory.
+<version> is the version of Graphic-Forms. Double-click on the
+CHM file and start enjoying the Programming Reference :-)
 
 
 More information about configuring DocBook and xsltproc, as well

Modified: trunk/docs/manual/gf-data.xsl
==============================================================================
--- trunk/docs/manual/gf-data.xsl	(original)
+++ trunk/docs/manual/gf-data.xsl	Sun Oct 22 14:36:56 2006
@@ -115,7 +115,7 @@
         </xsl:when>
         <xsl:otherwise>
           <xsl:message terminate="yes">
-            <xsl:text>Could not find argument </xsl:text><xsl:value-of select="$index - 1"/>
+            <xsl:text>gf-data.xsl: could not find argument </xsl:text><xsl:value-of select="$index - 1"/>
           </xsl:message>
         </xsl:otherwise>
       </xsl:choose>

Modified: trunk/docs/manual/gfw-symbols.xml
==============================================================================
--- trunk/docs/manual/gfw-symbols.xml	(original)
+++ trunk/docs/manual/gfw-symbols.xml	Sun Oct 22 14:36:56 2006
@@ -2414,6 +2414,141 @@
 
   <!-- GENERIC FUNCTIONS -->
 
+  <generic-function name="compute-layout">
+    <syntax>
+      <arguments>
+        <argument name="layout-manager">
+          <description>
+            The <reftopic>gfw:layout-manager</reftopic> dictating how children
+            of <arg1/> are to be arranged.
+          </description>
+        </argument>
+        <argument name="layout-managed">
+          <description>
+            The <reftopic>gfw:layout-managed</reftopic> container whose children
+            are to be sized and positioned.
+          </description>
+        </argument>
+        <argument name="width-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical width
+            value, or negative if <arg1/>'s width is not constrained.
+          </description>
+        </argument>
+        <argument name="height-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical height
+            value, or negative if <arg1/>'s height is not constrained.
+          </description>
+        </argument>
+      </arguments>
+      <return>
+        <emphasis>undefined</emphasis>
+      </return>
+    </syntax>
+    <description>
+      This function is responsible for the actual layout of children. Returns
+      a <refclhs>list</refclhs> of (child . rectangle) pairs describing the
+      new bounds of each child within <arg1/>. A <reftopic>gfw:layout-manager</reftopic>
+      subclass implements a method for this generic function based on its particular
+      layout strategy, possibly using attributes set by the user via
+      <reftopic>gfw:layout-attribute</reftopic>.
+    </description>
+    <seealso>
+      <reftopic>gfw:compute-size</reftopic>
+      <reftopic>gfw:perform</reftopic>
+    </seealso>
+  </generic-function>
+
+  <generic-function name="compute-size">
+    <syntax>
+      <arguments>
+        <argument name="layout-manager">
+          <description>
+            The <reftopic>gfw:layout-manager</reftopic> dictating how children
+            of <arg1/> are to be arranged.
+          </description>
+        </argument>
+        <argument name="layout-managed">
+          <description>
+            The <reftopic>gfw:layout-managed</reftopic> container whose children
+            are to be sized and positioned.
+          </description>
+        </argument>
+        <argument name="width-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical width
+            value, or negative if <arg1/>'s width is not constrained.
+          </description>
+        </argument>
+        <argument name="height-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical height
+            value, or negative if <arg1/>'s height is not constrained.
+          </description>
+        </argument>
+      </arguments>
+      <return>
+        <emphasis>undefined</emphasis>
+      </return>
+    </syntax>
+    <description>
+      Computes and returns the new <reftopic>gfs:size</reftopic> of <arg1/>'s
+      client area. A <reftopic>gfw:layout-manager</reftopic> subclass implements
+      a method for this generic function based on its particular layout strategy,
+      possibly using attributes set by the user via
+      <reftopic>gfw:layout-attribute</reftopic>.
+    </description>
+    <seealso>
+      <reftopic>gfw:compute-layout</reftopic>
+      <reftopic>gfw:perform</reftopic>
+    </seealso>
+  </generic-function>
+
+  <generic-function name="perform">
+    <syntax>
+      <arguments>
+        <argument name="layout-manager">
+          <description>
+            The <reftopic>gfw:layout-manager</reftopic> dictating how children
+            of <arg1/> are to be arranged.
+          </description>
+        </argument>
+        <argument name="layout-managed">
+          <description>
+            The <reftopic>gfw:layout-managed</reftopic> container whose children
+            are to be sized and positioned.
+          </description>
+        </argument>
+        <argument name="width-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical width
+            value, or negative if <arg1/>'s width is not constrained.
+          </description>
+        </argument>
+        <argument name="height-hint">
+          <description>
+            A positive <refclhs>integer</refclhs> specifying a hypothetical height
+            value, or negative if <arg1/>'s height is not constrained.
+          </description>
+        </argument>
+      </arguments>
+      <return>
+        <emphasis>undefined</emphasis>
+      </return>
+    </syntax>
+    <description>
+      Calls <reftopic>gfw:compute-layout</reftopic> for <arg1/> and then moves
+      and resizes <arg1/>'s children. Subclasses may implement their own methods
+      on this generic function, but note that most derivations should call
+      CALL-NEXT-METHOD to allow the base implementation to execute.
+    </description>
+    <seealso>
+      <reftopic>gfw:compute-layout</reftopic>
+      <reftopic>gfw:compute-size</reftopic>
+    </seealso>
+  </generic-function>
+
   <generic-function name="update-native-style">
     <syntax>
       <arguments>
@@ -2499,7 +2634,7 @@
     <seealso>
       <reftopic>gfw:redraw</reftopic>
       <reftopic>gfw:with-drawing-disabled</reftopic>
-      <reftopic>gfw:enable-drawing</reftopic>
+      <reftopic>gfw:enable-redraw</reftopic>
     </seealso>
   </generic-function>
 

Modified: trunk/docs/manual/graphic-forms.xml
==============================================================================
--- trunk/docs/manual/graphic-forms.xml	(original)
+++ trunk/docs/manual/graphic-forms.xml	Sun Oct 22 14:36:56 2006
@@ -25,7 +25,7 @@
   </subtitle>
 
   <bridgehead renderas="sect2">
-    Programming Reference (version 0.6)
+    Reference (version VERSION)
   </bridgehead>
 
 

Modified: trunk/docs/manual/graphic-forms.xsl
==============================================================================
--- trunk/docs/manual/graphic-forms.xsl	(original)
+++ trunk/docs/manual/graphic-forms.xsl	Sun Oct 22 14:36:56 2006
@@ -7,6 +7,7 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
   <xsl:import href="htmlhelp.xsl"/>
+  <xsl:param name="version"                            />
   <xsl:param name="chapter.autolabel"                  select="0"/>
   <xsl:param name="chunk.first.sections"               select="1"/>
   <xsl:param name="chunk.section.depth"                select="2"/>
@@ -18,7 +19,7 @@
   <xsl:param name="htmlhelp.button.forward"            select="1"/>
   <xsl:param name="htmlhelp.button.next"               select="0"/>
   <xsl:param name="htmlhelp.button.prev"               select="0"/>
-  <xsl:param name="htmlhelp.chm"                       select="'graphic-forms.chm'"/>
+  <xsl:param name="htmlhelp.chm"                       select="concat('graphic-forms-',$version,'.chm')"/>
   <xsl:param name="htmlhelp.hhc.folders.instead.books" select="0"/>
   <xsl:param name="htmlhelp.show.advanced.search"      select="1"/>
   <xsl:param name="suppress.navigation"                select="1"/>

Modified: trunk/docs/website/docs.html
==============================================================================
--- trunk/docs/website/docs.html	(original)
+++ trunk/docs/website/docs.html	Sun Oct 22 14:36:56 2006
@@ -13,7 +13,9 @@
     <h3>Graphic-Forms documentation</h3>
   </div>
 
-  <h3><a href="reference/index.html">Programming Reference</a></h3>
+  <h3><a href="http://sourceforge.net/project/showfiles.php?group_id=163034">Programming Reference</a></h3>
+  <p>Note: the link above leads to the SourceForge download site, from
+     where you can download the Reference in HTML Help (CHM) format.</p>
 
   <h3><a href="faq.html">FAQ</a></h3>
 

Modified: trunk/docs/website/index.html
==============================================================================
--- trunk/docs/website/index.html	(original)
+++ trunk/docs/website/index.html	Sun Oct 22 14:36:56 2006
@@ -43,7 +43,7 @@
 
  <p>The current version is
     <a href="http://sourceforge.net/project/showfiles.php?group_id=163034">
-    0.6.0</a>, released on 22 August 2006.</p>
+    0.6.0</a>, released on 22 October 2006.</p>
  <p>Graphic-Forms is in the alpha stage of development,
     meaning new features are still being added and existing features require
     considerable testing. Brave souls who experiment with the code should expect

Added: trunk/src/tests/uitoolkit/README.txt
==============================================================================
--- (empty file)
+++ trunk/src/tests/uitoolkit/README.txt	Sun Oct 22 14:36:56 2006
@@ -0,0 +1,55 @@
+
+Here is some information on the test programs available in this directory.
+You must first load the Graphic-Forms systems as described in the top-level
+README file.
+
+
+How To Run             Purpose
+------------------------------------------------------------------------------
+
+(gft:drawing-tester)   Provides a test case for each major drawing operation,
+                       with variations for pen style, pen width, foreground,
+                       and background color settings. Text mode also shows
+                       features like tab expansion, mnemonics, and transparent
+                       text.
+
+(gft:event-tester)     Verifies that events are being delivered and processed.
+                       Mouse events are visible if you press any button while
+                       moving the mouse (of course, mouse move events do not
+                       require a button press). Keyboard events are shown if
+                       you type keys. Mousing over the menus and menu items
+                       shows menu arming events. Also, this is one of the
+                       test cases for setting menu options via DEFMENU.
+
+(gft:hello-world)      A very basic sanity check that we are able to create
+                       a window and repaint it when needed.
+
+(gft:image-tester)     Tests the display of bitmaps in various sizes and
+                       color depths, also showing transparency masks and the
+                       resulting transparent backgrounds. Also, if you've
+                       loaded the ImageMagick plugin as described in the
+                       top-level README, you'll see a PNG image as well.
+
+(gft:layout-tester)    Tests the flow layout manager. Explore the menu tree
+                       to see what operations are possible. Try changing
+                       layout settings and then resize the window.
+
+(gft:scroll-tester)    Provides test cases for scrolling. Simple grid mode
+                       displays a numbered, scrollable grid, where the
+                       step size is 1 pixel. Text mode tests integral
+                       scrolling and resizing support. When switching from
+                       the simple grid to text mode, clicking on the window
+                       border gets the window to reset to the proper boundary.
+
+(gft:widget-tester)    This is a start at a generic widget-testing program.
+                       Currently displays buttons, a check box, list boxes,
+                       sliders, and scrollbars. This is also a test case for
+                       heap layout.
+
+(gft:windlg)           Provides a way to exercise custom dialogs, system
+                       dialogs, and several window styles. Note that the
+                       Borderless window is dismissed when you click within
+                       it using the mouse.
+
+
+[the end]



More information about the Graphic-forms-cvs mailing list