dmd support for IDEs

language_fan foo at bar.com.invalid
Mon Oct 12 10:41:25 PDT 2009


Mon, 12 Oct 2009 18:54:25 +0200, Jacob Carlborg thusly wrote:

> On 10/12/09 14:11, language_fan wrote:
>> Mon, 12 Oct 2009 14:02:11 +0200, Jacob Carlborg thusly wrote:
>>
>>> On 10/12/09 04:14, Chad J wrote:
>>>> Too bad we can't just make programs switch between GUI backends at
>>>> will ;)
>>>
>>> Why not have a GUI toolkit available on almost all platforms that uses
>>> native controls just like DWT?
>>
>> The list of native platforms SWT supports is this:
>>
>> Win32
>>    WPF (under development)
>> AIX, FreeBSD, Linux, HP-UX, Solaris:
>>    Motif
>>    GTK+
>> Mac OS X:
>>    Carbon
>>    Cocoa
>> QNX Photon
>> Pocket PC
>>
>> As a FLTK2, Qt 3.x, Qt 4.x, Swing, and (forked) Harmonia user I fail to
>> see how SWT is more native than the ones I develop for. All SWT
>> applications look weird, unthemed, and have horrible usability issues
>> in the file open/save dialogs. DWT brings another level of cruft above
>> the "lightweight" SWT and performs badly.
> 
> As a said previously SWT is more native because it uses the native GUI
> library available on the current platform, for windows (before vista)
> win32, osx cocoa and on linux gtk. It doesn't decide how a button should
> look, it doesn't try do draw a button that is similar to the natives, it
> just call the native library to draw the button.

The problem is, 99% of win32 users use the win32 gui toolkit on win32, 
99% of osx users use cocoa, but on Linux/BSD maybe about 40% use gtk+. It 
is not The native toolkit to use. I do not even have it installed on my 
system.

> I don't know what you mean by "unthemed" but if you refer to that
> applications on windows don't get the winxp look you have the same
> problem if you create the application in c++ or c and uses win32. It's
> caused by an older dll is loaded as default and to get the winxp look
> you have to request it to load the newer dll with a manifest file.
> Welcome to dlls.

I mostly work on *nixen. The unthemed means that I do not have *any* gtk+ 
libraries installed anywhere so it defaults to the ugly default theme. To 
me gtk+ does not have the native feel as I never see any application 
written in it. Like I said, I only use { FLTK2, Qt 3.x, Qt 4.x, Swing, 
and (forked) Harmonia}. I am sorry if you have trouble reading that. 
Whenever an application comes with its own (statically linked) gtk+ libs, 
it will look bad. I do not have any "control panel" to change the look 
and feel of the gtk+ applications.

> 
> If you have problems with the open/save dialogs in SWT either you will
> have the same problem in other native applications because it uses the
> native dialogs or there's a bug in SWT.

Look, this is what I get on Win32:

http://johnbokma.com/textpad/select-a-file-dialog.png

on Linux:

http://www.matusiak.eu/numerodix/blog/wp-content/uploads/20050710-
kdefilechooser.png

on Java:

http://www.dil.univ-mrs.fr/~garreta/docJava/tutorial/figures/uiswing/
components/FileChooserOpenMetal.png

You can probably see something that I have started to call 'consistency'. 
Almost the same buttons and layouts on every platform. I immediately know 
how it works. The same design has been there since Windows 95, if I 
recall correctly. This is what many people have learned to live with.

Now every time I see a gtk+/swt/dwt application I wonder where the heck 
that unintuitive terrible piece of cr*p came:

http://book.javanb.com/swt-the-standard-widget-toolkit/images/0321256638/
graphics/14fig03.gif

Native? It might very well use native binaries on my platform, but the 
native feel ends there.



More information about the Digitalmars-d mailing list