home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / lang / listmana.sha / README < prev    next >
Text File  |  1986-07-10  |  5KB  |  117 lines

  1. This is the example "list manager" application distributed by Apple,
  2. Inc. (trademark, copyrights, etc.) with the "12/85 Software
  3. Supplement" (shipped in 3/86) on the Lisa-only disk "12/85
  4. Workshop Supplement 1", only it was read on a Macintosh and converted
  5. to Aztec C version 1.06G by:
  6.     Dale Carstensen
  7.     1504 S Sage
  8.     Los Alamos, NM 87544
  9.  
  10. There are 7 files:
  11.     README        this one
  12.     makefile    for Aztec make, has auto-backup features for use
  13.                 with RamDisk drive on a 2MB Mac and a floppy
  14.                 (not really related to list/TestExec.text)
  15.     test.c        source of example (Workshop was list/Test.text)
  16.     test.r        rgen input (Workshop was list/TestR.text)
  17.     test.hqx    executable application, Aztec C version, I planned
  18.                 to include the PACK 0 and LDEF 0 resources, but
  19.                 after all the BS about Apple licenses, I think
  20.                 this example is only useful to people who bought
  21.                 the 12/85 Supplement anyway, and those resources
  22.                 are in the System file that came with that
  23.                 Supplement, so get them from there with cprsrc
  24.                 or have that system running when you run "test"
  25.     list.h        for your Aztec include/ directory (Workshop was
  26.                 intrfc/ListIntf.text)
  27.     ldproc0.asm    assembler source for the default LDEF (Workshop was
  28.                 lDefProc0.text)
  29.  
  30. A few notes:
  31. 1.  There was a "listmgr.h" file on net.sources.mac and/or info-mac
  32.     a few weeks ago, for Aztec C.  It has problems with Booleans,
  33.     both as returned from List Manager functions, and as passed to
  34.     the function LActivate.  It has problems with not capitalizing
  35.     some "L" characters in structure field names, in #defines for
  36.     selFlags and AutoScroll, and in LDEF function selection (it does
  37.     match the Inside Macintosh chapter, but it doesn't match the
  38.     interface file on the Lisa disk (Apple?).)  It uses "enum," which
  39.     doesn't work with 1.06G (maybe it does with 1.06H, but I don't
  40.     have that yet.)  It doesn't even use the correct names for the
  41.     other ".h" files, so maybe it wasn't for Aztec C, after all.  Or
  42.     that changed too with 1.06H?  The file "list.h" is that "listmgr.h"
  43.     file with the above problems fixed.
  44.  
  45. 2.    There was an article in the April, 1986, MacTutor in the
  46.     "C Workshop" column about the List Manager.  It uses its own
  47.     LDEF rather than the default, to do icons rather than text.
  48.     It has another definition of the calls for Aztec C with the
  49.     same problems with Booleans and capital L.  Those problems
  50.     don't happen to affect the program in the article, but the
  51.     Apple example exposes the problems.  I prefer the "listmgr.h"
  52.     (and "list.h") interface because it eliminates the extra JSR
  53.     in the article's method.  There is a note in "test.r" about
  54.     the article's suggested method for doing your own LDEF, and
  55.     MacTutor's address, phone number, and price.
  56.  
  57. 3.    You'll need to study the source to understand the action to
  58.     expect from the example's commands.  Here are a few quiz
  59.     questions:  (Hint:  Select "Drawing On" and execute "Update
  60.     List" before you expect to see anything work.)
  61.     Oh, time-consuming operations do not display the "watch," so
  62.     have patience.  Sometimes the menu stays highlighted during
  63.     long operations.
  64.     1.  What will be the cell under "Cell 1,0" after "Delete Row"
  65.         if a rectangle from "Cell 2,0" to "Cell 4,1" was selected
  66.         before the "Delete Row"?  Why?
  67.     2.    What happens if a cell is repeatedly single-clicked and
  68.         "Use Cell Sense" is selected?  Shift-single-clicked?
  69.         Clover-single-clicked?
  70.     3.    What happens if a cell is repeatedly double-clicked?
  71.     4.    What does Shift-clicking do?  (Hint:  Position the mouse on
  72.         different cells between clicks.)
  73.     5.    What does Clover-clicking do?
  74.     6.    Select "Grow Box", execute "New List", click "Cell 0,0",
  75.         execute "Cut", click "Cell 15,4", execute "Paste", shrink
  76.         the window so "Cell 5,2" is at the lower right corner,
  77.         and execute "Find First".  What cell is at the lower right
  78.         corner now?  Did you ever wonder about scrolling without
  79.         scroll bars and without a LClikLoop?
  80.  
  81. 4.    I think there is a bug in the Pascal version of the example.
  82.     In CloseTheList, "LDispose(myList)" is followed by
  83.     "myList^ := NIL", and I think LDispose may leave myList
  84.     pointing 
  85. to somebody else's memory.  I would change both
  86.     occurrences of "myList^" in CloseTheList to "myList".
  87.  
  88. 5.    See the note in list.h about LActivate's truly amazing
  89.     behavior.
  90.  
  91. 6.    See the note in test.c about MoveHHi.
  92.  
  93. 7.    See the note in test.r about "Type LDEF = PROC".
  94.  
  95. 8.    Apple is feathering their own nest by distributing such an
  96.     example.  Developers will use the List Manager to have a
  97.     consistent, powerful user interface for such data, and the
  98.     programs will attract new Macintosh owners.  And developers
  99.     will understand the List Manager more quickly because the
  100.     example is available.  And developers will develop programs
  101.     more quickly with the List Manager and the understanding of
  102.     the List Manager.  Lots of synergy there.  So I don't
  103.     understand why Apple put it on a Lisa-only disk in a
  104.     Pascal-only form.  But this posting will make it available
  105.     in Aztec C, downloadable to an ordinary Mac.  Maybe in a
  106.     month or two, I'll take my "stdio"-oriented Lisa-only disk
  107.     file copy utility and use the List Manager to make a
  108.     menu/window/list version, and post that, too.  I waited two
  109.     years for the Microsoft BASIC program to read Lisa disks.
  110.     As far as I know, the BASIC program was never posted.
  111.     I now have a C one, but it is too crude to post (unless I
  112.     get requests, I guess.)
  113.  
  114. Pertinent quiz answers:
  115.     1. "Cell 8,0"
  116.     6. "Cell 20,6"
  117.