Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess GUI design

Author: Tord Romstad

Date: 08:18:54 10/07/05

Go up one level in this thread


On October 07, 2005 at 10:26:54, Tom Likens wrote:

>Hey Tord,
>
>Regardless of which system you select, please make the board and piece
>sizes are dynamic.  The best method is to let the user grab the right hand
>lower corner and resize the board.  The pieces and squares should
>automatically increase or decrease.  If it doesn't have this then
>using it on a high-resolution monitor becomes a nightmare.

This works reasonably well even with the current version.  The main
window can be resized continuously, and it is also possible to
resize the three different panes (the board, the move list and the
analysis output).  The only problem is that the pieces don't look
good at very small sizes.  Here are some examples of how it looks
with different board sizes:

http://www.glaurungchess.com/Small.png
http://www.glaurungchess.com/Normal.png
http://www.glaurungchess.com/Big.png

>As for the more general question, my guess is that most Window users
>will opt for the single window containing multiple child windows (the
>MDI solution).

Judging from the other replies in this thread, it seems you are
right.  I am surprised to learn that this is a common way to design
a GUI program (at least in the Windows world).  As I wrote elsewhere,
the only such GUI I have ever seen was an old Linux version of Maple,
which I found really awful.

What's the purpose of the main window?  It seems to me that it
will just waste space on the screen, and restrict the posssible
movements of the child windows.

>I don't hate this solution, but I prefer separate windows.

Unless somebody suggests an idea I like better, I think I will
end up using one main window (the board) and several auxiliary
windows (move list, analysis output, etc.) for each game, and
automatically hide all auxiliary windows which do not belong
to the active main window.

>BTW, what GUI toolkit are using?

I use Apple's Cocoa toolkit, which is actually an updated version
of the old NextStep tools.  Cocoa is written in Objective-C.
Objective-C is not a bad programming language (I like it much
better than C++ and Java), but still too low-level for my taste.
I therefore use the Cocoa bindings in OpenMCL, the most
popular free Common Lisp implementation for Mac OS X.
OpenMCL and Cocoa is a very nice and comfortable combination
for writing GUI programs, the only real disadvantage is lack
of portability.

Tord



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.