|
From: | Riccardo Mottola |
Subject: | Re: Cross Platform GNUStep GUI with Native Look-And-Feel |
Date: | Fri, 15 Jul 2011 17:31:48 +0200 |
User-agent: | Mozilla/5.0 (X11; U; NetBSD i386; en-US; rv:1.9.2.17) Gecko/20110601 Lightning/1.0b3pre Lanikai/3.1.10 |
Hi Deech, the trick is that there is no code involved!Graphos, for example is perfectly native on Mac, the same is true for Grr and GShisen.
The way this is accomplished is that there are* two different "projects" one for ProjecectCenter (with makefiles) and one for XCode * two different interface sets: Gorm files and NIB files (this is not necessary for apps which do not use interface files but code the interface. Also you can use NIBs in GNustep but they don't look perfect and native, so this is the most expensive but most "perfect" approach) * the code base is about 100% the same. The small differences are handled with #ifdefs in the applications which need that
The effect is that when you build on Mac you build with Xcode and have a true mac app.
On Linux and Windows, your application will have the default GNUstep theme (which essentially matches WindowMaker)
To make the GNUstep application feel at home in Windows or GNOME (or other environments) you need a Theme. Currently themes for Windows and GNOME are work in progress. These themes handle the native bits for all applications and they are not needed in the application.
Riccardo On 07/15/11 17:03, aditya siram wrote:
I am interested in GNUStep mainly as cross-platform toolkit that looks good on Windows, Linux (Gnome and WindowMaker) and Mac. In order to find examples of a single code-base using different themes I have downloaded the source for a number of cross-platform applications: GraphOS, Grr, GShisen, Gemas However it is not apparent to me where to look for the code that deals with different platforms. For example how would I build an executable for Windows or Gnome using the source? I would appreciate if someone could point me to a file in any of these application where is different GUI behavior invoked based on platform. Thanks for all your help. -deech
[Prev in Thread] | Current Thread | [Next in Thread] |