Lisp HUG Maillist Archive

LispWorks Interface Builder

Hi, guys.

I just bought LispWorks Professional Edition for Windows a minute ago.
And first of all I confess that I'm fairly new to LispWorks. So please be pati
ent if I'm off
the point.

I'm a free software programmer and I've been a Lisp bigot for about 20 years.
http://homepage1.nifty.com/bmonkey/lisp/index-en.html

I just checked how LispWorks interface builder is like.
I expected something like Delphi or Visual Basic (it goes like what you see in
 the development stage is what you get).
But LispWorks Interface Builder seems somewhat different.

How do you guys create GUI software?
Are you using this interface builder or using GNU GNOME GLADE or something?

In case my blabbing turns you off, I'm perfectly happy with LispWorks with its
 native code compiler and the like and eager to learn it.
But this interface builder surprised me a bit (which isn't included in Persona
l Edition).

Yuji
http://homepage1.nifty.com/bmonkey/index-en.html

P.S. LispWorks sales person was kind enough to point out typoes in my web page
.. That was nice of him. And here in Japan it's 5:39 A.M. and I'm a bit drunk s
o if this post sounds rather trolling, sorry in advance.

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: LispWorks Interface Builder

> How do you guys create GUI software?
> Are you using this interface builder or using GNU GNOME GLADE or something?

I just code it. No interface builder or other raid gui tools. GUI in code gives me more control and peace of mind (btw, I'm a former Delphi coder/user).

Best,
 Art


_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: Re: LispWorks Interface Builder

Hi Art. Thanks for the reply.

>I just code it. No interface builder or other raid gui tools. GUI in code giv
es me more control and peace of mind (btw, I'm a former Delphi coder/user).

I used to be an avid coder of Delphi, too back when Borland first released Del
phi.
Hmm, it's encouraging to know that a former Delphi programmer is happy(you're 
happy with LispWorks, right?) without an interface builder. I think I just nee
d to get used to it.

Yuji

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: LispWorks Interface Builder

Hi Yuji

To use Interface Builder, you first need to understand the CAPI class
library.

Read the CAPI User Guide and browse the CAPI Reference Manual, then come
back and ask questions (you *will* have questions :-). CAPI is powerful,
but takes a while to get your head around[1].

When you bring up I.B., you get two windows - one with tabs (the
controller / builder) and a blank window (a prototype of what you've got
so far).

In the controller, the "LAYOUTS" tab shows you a graph of the GUI you
are composing. You select a CAPI class from the button bar at the
bottom, and an instance is attached to the current graph node. You can
click on nodes to make them "current".

The Menus tab is for composing menus for the GUI.

The Code tab shows you the CL code created thus far. Sometimes, you can
manually change the code in the Code tab and it will be reflected in the
prototype (and, sometimes, not :-).

Remember to hit "Refresh" on the prototype once in a while, to keep
things in synch.

I use I.B. to rough out my interfaces, then I save the code. (It appears
to save in a dribble file manner - your latest version of the GUI (/
Interface) is at the bottom, iirc).

Once I start annotating the code with actual callbacks, etc., I continue
to work only with the code and ignore I.B.

If you double-click on a graph node, you get a property sheet for the
"pane" (refer to CAPI documentation to understand each of the properties).

Here's a trivial example:

Click on layouts.
Click on column layout.
Click on Buttons.
Click on Push Button.

You should see a graph of Interface1->Column-Layout-1->Push-Button-1 and
the prototype should look like a small window containing a single button.

Double-click on the Push-Button-1 graph node. Scroll down to the "Text"
property and overwrite the text with "Hello". When you hit OK, the
prototype button should say Hello and the button will shrink-to-fit
around the text. (All of that behaviour can be controlled by adjusting
properties of the layout / button / etc).

Fool with it, look at the generated code. Look at the manuals. Ask more
questions.

pt

[1] The part that took me a LONG time to understand is that CAPI is a
class library (CLOS). You can create your own widgets by subclassing
CAPI widgets, then adding behaviour. Much of the power comes from that
aspect. Define-Interface is just a macro that helps you compose CAPI
widgets together into a whole. I.B. lets you define Define-Interfaces
and reminds you what doo-dads are available.



_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Re: LispWorks Interface Builder

Hi Paul. Thank you for taking your precious time to write an elaborate
reply to me.

>To use Interface Builder, you first need to understand the CAPI class
>library.  Read the CAPI User Guide and browse the CAPI Reference
>Manual, then come back and ask questions (you *will* have questions
>:-). CAPI is powerful, but takes a while to get your head around[1].

That's what I'll do.


>[1] The part that took me a LONG time to understand is that CAPI is a
>class library (CLOS). You can create your own widgets by subclassing
>CAPI widgets, then adding behaviour. Much of the power comes from
>that aspect. Define-Interface is just a macro that helps you compose
>CAPI widgets together into a whole. I.B. lets you define
>Define-Interfaces and reminds you what doo-dads are available.

A GUI component library based on CLOS sounds wonderful.  I'm relieved
to know that you guys are happy with the current LispWorks
environment.

Yuji

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html


Updated at: 2020-12-10 08:36 UTC