Daniel,
Attached is a modified version of my code that actually works in LispWorks CLIM. It probably needs some additional tweaking, but it works to a point.
Craig
On Fri, 2019-10-11 at 16:01 -0400, Craig Lanning wrote:
Thanks for your quick reply.
On Fri, 2019-10-11 at 21:37 +0200, Daniel Kochmański wrote:
Hello Craig,
Craig Lanning writes:
Gentlemen,
I have been writing CLIM apps for years. I've use Symbolics CLIM and LispWorks CLIM. Code moves back and forth between these two with little difficulty. In the past when I tried McCLIM, I couldn't make it work.
I just tried it again. Is there a way to determine which version of McCLIM was loaded by QuickLisp? I tried it in both Clozure CL and SBCL. Neither worked, but each exhitited a different failure.
I'm glad to hear that you've tried it again. I expect that there is easier way to check the Quicklisp version, but if you look into the file quicklisp-directory/dists/quicklisp/releases.txt and search for a string mcclim you'll see something like this:
-- cut -- mcclim
http://beta.quicklisp.org/archive/mcclim/2019-07-10/mcclim-20190710-git.tgz
... -- cut --
You can see there that it is a version cloned at 2019-07-10. Canonical repository is https://github.com/McCLIM/McCLIM/ so if you want to ensure the newest version clone it to your local-projects directory (or to one of asdf registory directories).
SBCL compiles and loads my code. When I start the app, once it displays the frame, the command menus show up in the menu bar, but they won't pop down.
Clozure CL compiles and loads my code. When I start the app, once it displays the frame, while the command menus will pop down, all of the items in the menu are grayed out, except the divider entries.
I can reproduce the result you've mentioned for CCL on SBCL. Note that I had to make changes to your code since it didn't run (:redisplay-function argument should be :display-function and a function name typo s/display-detail/display-details/). I didn't change anything else so far.
I also noticed that for both SBCL and Clozure CL, McCLIM had no support for Palettes. It failed when my code called make-palette and frame- manager-palette.
McCLIM implements CLIM II specification which doesn't specify what palettes are.
That is interesting since that bit of code works on both the Symbolics CLIM and the LispWorks CLIM.
The code that Franz just released also has some stuff about Palettes.
I'll have to look back through the CLIM II spec to see if it mentions Palettes.
Palettes may have been something that was added after the 2.0 spec was released. I think that Symbolics' CLIM implementation was considered to be 2.1 and I don't know about LispWorks. I think that Franz implementation may have been 2.2.
The app is just a toy that I want to use as the example for a book that I am writing about using CLIM.
I have attached a zip file of the source code. With the code unzipped, you can compile and load the app by loading system.lisp into your lisp environment. Its a fairly simple file to compile and load the files for the app.
Once the app is loaded you can start it by typing the form (cb:run-class-browser)
I've started the application (as noted above). If nobody replies during the weekend about why menu commands seem to be disables I'll try to debug it on Monday.
Incidently, it would be helpful if there was a feature symbol that was unique to McCLIM. So that I could distinguish between running in McCLIM and some other CLIM.
As it happens such feature symbol exists, it is `:mcclim'.
Thanks, that is great. I guess I missed it when I looked through the list of symbols.
Craig
Craig
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi