Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess GUI design

Author: Gerd Isenberg

Date: 09:14:51 10/07/05

Go up one level in this thread


On October 07, 2005 at 05:47:25, Tord Romstad wrote:

>My GUI is currently in bad need of a major overhaul.  Because I lack
>even the most basic knowledge in GUI design, I would appreciate
>some input on the following questions:
>
>Some GUIs (e.g. Shredder 9 for Macintosh) use multiple windows
>for the same game.  There is a board window, a move list window,
>an analysis window, and so on.  Other GUIs (e.g. Sigma Chess and
>my own Scatha) put everything in a single window, usually with the
>board on the left side, the move list on the right side, and the
>analysis output at the bottom.
>
>Which of these two ways to organise a chess GUI do you prefer,
>and why?  Personally I have a slight preference for the multi-window
>solution, as long as only a single game is being played.  Multiple
>windows give me much more flexibility.  I can organise the windows
>any way I want, and I can bring one window to the foreground
>without bringing the whole application to the forground.  On the
>other hand, when more than one game is being played, using
>several windows could easily create a terrible mess.  What is the
>best way to avoid this problem?
>
>Tord

Hi Tord,

the topic is the MVC pattern or (ms terminology?) single or multiple docment
interface (SDI, MDI) and/or the more advanced eclipse like ui with workspaces
and perspectives.

Usually in chess-guis we have a relativ simple relation between a model
(document, game, position), views (windows) and controller (engine,
chess-server, userinteraction).

For a ususal single document interface (SDI), multiple windows (and window
classes) for board, movelist, captured pieces, clock, game-history charts and
search-information as (grand) child of one Frame-window is easy to implement and
flexible.

It is a matter of providing some default window-layouts and docking features,
beside the obligatory window arrangement features to tile windows
vertically/horizontally and to cascade windows. Also to store/load individual
layouts (probably in conjunction with color, piece set and other board and
notation properties as well).

More sophisticated is an SDI-approach (one chess game), with multiple board
windows, eg. to simultanious analyze different positions of the same game,
probably with multiple and different engines per position, eventually providing
k-best mode.

Even more sophisticated is an MDI-appraoch with multiple heterogeneous documents
or meta documents, like chess games, sets of chess-games currently produced by
simultanious- or auto-play, pgn-archives e.g. merged to an opening book tree,
multimedia related chess docs, where each document may have multiple views ;-)

Gerd



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.