Hi David,

> Alex, I still can't seem to get idForm to work even after looking at it in
> form.l    Do I need something like:
> (get (default *ID (val *DB)) 'nm)
> like in family.l?

No, this is a bit non-standard, because the family GUI starts directly
into the 'person' view, without presenting the a dialog first.

Recommended is the way I outlined in my last mail:

   (menu ,"Title"
      (idForm ,"Title" '(choCls) 'nr '+Cls T '(may Delete) '((: nr) " -- " (: 
         ... ) )

There is always a choose-dialog (called 'choCls' above) which allows the
user to search, and - if a desired object is not found - to press the
"New" button. In any case, the form will then start up with a proper

> Can you please provide a small example of how to use
> idForm to create a new database object?  I feel the need to understand.

I suggest you look at the demo in the "app/" directory. Take, for
example, the '+Item' class

   (class +Item +Entity)
   (rel nr (+Need +Key +Number))          # Item Number
   (rel nm (+IdxFold +String))            # Item Description

   (dm url> (Tab)
      (and (may Item) (list "app/item.l" '*ID This)) )

This 'url>' method links these objects to the form in "app/item.l".
There, in turn, we find

   (menu ,"Item"
      (idForm ,"Item" '(choItem) 'nr '+Item T '(may Delete) '((: nr) " -- " (: 
         (<grid> 4

'choItem' is terribly complicated for the beginning.

Perhaps I better suggest the '+Sal' (salutation) class. The form file
"app/sal.l" is simpler, and the choose-dialog is just

   (de choSal (Dst)
      (choDlg Dst ,"Salutations" '(nm +Sal)) )

I hope this helps :)

♪♫ Alex
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to