Hi Alex, It seems the advice of studying the sample app (part of the picolisp distribution) is a good idea :)
While I see the big pieces based on the description given in doc/app.html, I need some help understanding the Pilog queries. I think I can make progress if I could figure out how to run the pilog queries in the sample app on the REPL. For example, how can I run the pilog query in the choOrd function in app/gui.l. It will help me see what the returned values are and how QueryChart uses them to render. regards, Kashyap On Thu, Sep 12, 2019 at 8:32 AM C K Kashyap <ckkash...@gmail.com> wrote: > Thanks Alex, > I'll keep those tips in mind while I go over the app/er.l ... I'll revert > if I have more questions (I have a feeling I will :) ) > Regards, > Kashyap > > > On Wed, Sep 11, 2019 at 10:25 PM Alexander Burger <a...@software-lab.de> > wrote: > >> Hi Kashyap, >> >> > I'll take a look at app/gui.l >> >> Yes, I think it is a very typical example. In general, I would say that >> search >> dialogs are *the* central issue. >> >> Whenever I add a new entity class to an application, I first think about >> how >> objects of that entity will be needed to be searched at runtime, and then >> do >> three things: >> >> 1. Add the class definition with proper index and joint relations to >> the E/R >> file. >> 2. Write a search dialog allowing >> — the search for such objects with the right filter criteria >> — srcolling through the list of results in a chart >> — clicking on "@" in the result list to either >> — jump to the edit form of that object, or >> — take that object and insert into the context of another form >> — pressing a "New" button to make a new object if nothing useful >> found >> 3. Write an edit form for such objects. >> >> >> > Is there some documentation you could point me to for the format of the >> > value in url> ? >> >> Not that I'm aware of it. This method returns a a list to the path to the >> standard edit form for that class, and further arguments, by convention >> passing >> the object in the '*ID' global and the initial tab in the '*Tab' global if >> desired: >> >> (dm url> (Tab) >> (and (may Customer) (list "app/cusu.l" '*Tab Tab '*ID This)) ) >> >> The (may ...) expression is for permission check. In general 'url>' >> returns NIL >> if the object is not editable. >> >> ☺/ A!ex >> >> -- >> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >> >