Complete.Org: Mailing Lists: Archives: freeciv-dev: January 1999:
Re: [Freeciv-Dev] GTK+ client for 1.7.2
Home

Re: [Freeciv-Dev] GTK+ client for 1.7.2

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Lalo Martins <lalo@xxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx
Subject: Re: [Freeciv-Dev] GTK+ client for 1.7.2
From: Vasco Alexandre Da Silva Costa <vasc@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 5 Jan 1999 19:54:53 +0000 (WET)

On Sun, 3 Jan 1999, Lalo Martins wrote:

> On Jan 02, Vasco Alexandre Da Silva Costa decided to present us with:
> > Yes, it's here, the gtk+ client version for freeciv 1.7.2.
> 
> Can you please explain your "messy homepage"? :-) Do the "full
> version" include "the new tiles"? What is "just the client", a
> binary or you just wiped the server/ directory?

None of them have binaries.  The "just the client" includes only the parts
of the distribution which differ (in content or directory structure) from
the standard 1.7.2 distribution (that is, the client/ directory and the
configure script-- for more info see below).  As for "the new tiles" i'm
not sure anymore :O)

> How  far are you from incorporating your stuff upstream (there is
> an empty gclient/ directory in CVS waiting for you) and make it
> selectable trough configure? What changes to stuff outside
> gclient/ are needed?

The client could be included today if you wish so (and yes, it uses
configure).  The gclient/ directory style is obsolete though.

The client now comes as a mix of Xaw & GTK+ with the following directory
structure:

client/                 ; common parts go here (packhand.c/civclient.c)
client/gui-xaw          ; xaw parts go here
client/gui-gtk          ; gtk parts go here
client/include          ; includes

Unfortunately, the code isn't generic enough, because the client is mostly
composed of dialogs and toolkit dependent code.
One option would be to make a virtual toolkit which abstracts both (ala
WxWindows but not like WxWindows).
Since that would take ages to do (WxWindows isn't finished yet and they
started years ago --we only need a subset of the functions though).

> Would it be too much work to add some #ifdef's and a configure
> option to make the thing compile with some version of GTK we can
> find somewhere outside CVS? (1.1.3 would be good for me, 1.1.2
> if possible would be better)

Actually it would take some work.  The main problem is with the menu
system/accelerators.  They changed those in 1.1.x (for the better i may
add).  The menu system in 1.0.x just plain sucked.  You couldn't navigate
a menu with the keyboard. Also, it didn't support some accelerators.

I'm not using a CVS version.  I'm using 1.1.11 (will use 1.1.12 from
today onwards).  The reason is that i find 1.0.x to be lacking many features.
As for 1.1.[2-3], i think it would be wrong to support obsolete code, GTK+
versions <1.1.5 don't even support themes.
I chose to go down this path because i find that most GTK+ app developers
are doing the same.  When the GTK+ 1.2.0 stable version comes out (soon
i hope), that problem will vanish.

(Actually GTK+ versions >=1.1.9 will work)

Hope this helps...

---
Vasco Alexandre da Silva Costa, student @ Instituto Superior Tecnico,
Technical University of Lisbon - Software & Computer Engineering



[Prev in Thread] Current Thread [Next in Thread]