www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - GUI library for Win32

reply "Andreas Schmid" <monkey gmx.info> writes:
Hi,

What are the best cross-platform and Win32 GUI libraries for D?

-Andreas 
Apr 17 2005
next sibling parent =?ISO-8859-1?Q?Val=E9ry?= <valery freesurf.fr> writes:
http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries
Cross-platform GUIs are DUI (bindings to GTK), WxD (bindgins to 
WxWidgets) and MinWin (native D GUI).

Andreas Schmid a écrit :
 Hi,
 
 What are the best cross-platform and Win32 GUI libraries for D?
 
 -Andreas 
 
 
Apr 17 2005
prev sibling next sibling parent Derek Parnell <derek psych.ward> writes:
On Sun, 17 Apr 2005 13:04:41 +0200, Andreas Schmid wrote:

 Hi,
 
 What are the best ... Win32 GUI libraries for D?
Mine! Except I haven't written it yet ;-) Just kidding, but I do have a fairly good Win32 GUI library but I haven't ported it to D yet. Its on my long-term TODO list. Sorry I can't help you just yet. -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build 17/04/2005 9:18:41 PM
Apr 17 2005
prev sibling next sibling parent reply "Andrew Fedoniouk" <news terrainformatica.com> writes:
Screenshot so far http://www.terrainformatica.com/screenshots/smileui.png. 
:)

It got a name: "Harmonia" or Harmonia framework

( Harmonia as Phobos and Deimos was a kid of Ares/Mars. BTW: This guy was so 
productive.... )

It has only win32 port so far but it is highly portable: it uses around 30 
functions which
use underlying OS resourses and they are located in separate native package 
in four files
native.application, native.graphics, native.exchange, native.window. All 
native functions
use 'native' prefix, e.g.  nativeSetCursor(CursorType ct);

Architecture and main goals:
1) Clear and classic class hierarchy (close to initial Java AWT)
2) Capture/bubble event propagation schema ( used in HTML event model 
http://catcode.com/domcontent/events/capture.html) which allows
to create extremely compact and clean event handling.
3) Builtin compact and fast (in fact very fast) HTML engine. HTML used
as universal layout manager, renderer and resource definition framework:
e.g. dailogs, tooltips are entities defined by HTML.
4) Themeable - means that rendering style - colors, fonts, etc. are strongly
separated from interaction and logic code. On the screenshot is a rendering
of Harmonia default "Pathfinder theme" (themes/pathfinder.d, inspired by 
color gamma of shots
taken by Mars Pathinder crawlers)
5) It does not use native OS widgets. Everything: menus, dialogs, controls, 
etc. are under
the Harmonia control and are subjects of themeable styling. It is windowless 
framework,
means it is use only OS toplevel window frames. Everything inside is 
"harmonised".
This approach is highly usefull for creating modern web style (but 
lightwight!) UI
and in games.

Stay tuned.

If somebody is interested in it right now - let me know - I'll provide a 
link to our SVN server.
At this stage it is nice to have someone who familiar with MacOSX GUI 
programming stuff.
There are also some basic widgets left e.g. grid control. If somebody will 
want to try himself
in this - drop me message.

Andrew.
http://terrainformatica.com




"Andreas Schmid" <monkey gmx.info> wrote in message 
news:d3tfs4$1gm8$1 digitaldaemon.com...
 Hi,

 What are the best cross-platform and Win32 GUI libraries for D?

 -Andreas
 
Apr 17 2005
next sibling parent "Andreas Schmid" <monkey gmx.info> writes:
Wow! Cool! Looks very interesting! I'd like to have access to a preview 
release :-)

-Andreas

"Andrew Fedoniouk" <news terrainformatica.com> wrote in message 
news:d3u7tq$2470$1 digitaldaemon.com...
 Screenshot so far http://www.terrainformatica.com/screenshots/smileui.png. 
 :)

 It got a name: "Harmonia" or Harmonia framework

 ( Harmonia as Phobos and Deimos was a kid of Ares/Mars. BTW: This guy was 
 so productive.... )

 It has only win32 port so far but it is highly portable: it uses around 30 
 functions which
 use underlying OS resourses and they are located in separate native 
 package in four files
 native.application, native.graphics, native.exchange, native.window. All 
 native functions
 use 'native' prefix, e.g.  nativeSetCursor(CursorType ct);

 Architecture and main goals:
 1) Clear and classic class hierarchy (close to initial Java AWT)
 2) Capture/bubble event propagation schema ( used in HTML event model 
 http://catcode.com/domcontent/events/capture.html) which allows
 to create extremely compact and clean event handling.
 3) Builtin compact and fast (in fact very fast) HTML engine. HTML used
 as universal layout manager, renderer and resource definition framework:
 e.g. dailogs, tooltips are entities defined by HTML.
 4) Themeable - means that rendering style - colors, fonts, etc. are 
 strongly
 separated from interaction and logic code. On the screenshot is a 
 rendering
 of Harmonia default "Pathfinder theme" (themes/pathfinder.d, inspired by 
 color gamma of shots
 taken by Mars Pathinder crawlers)
 5) It does not use native OS widgets. Everything: menus, dialogs, 
 controls, etc. are under
 the Harmonia control and are subjects of themeable styling. It is 
 windowless framework,
 means it is use only OS toplevel window frames. Everything inside is 
 "harmonised".
 This approach is highly usefull for creating modern web style (but 
 lightwight!) UI
 and in games.

 Stay tuned.

 If somebody is interested in it right now - let me know - I'll provide a 
 link to our SVN server.
 At this stage it is nice to have someone who familiar with MacOSX GUI 
 programming stuff.
 There are also some basic widgets left e.g. grid control. If somebody will 
 want to try himself
 in this - drop me message.

 Andrew.
 http://terrainformatica.com




 "Andreas Schmid" <monkey gmx.info> wrote in message 
 news:d3tfs4$1gm8$1 digitaldaemon.com...
 Hi,

 What are the best cross-platform and Win32 GUI libraries for D?

 -Andreas
Apr 17 2005
prev sibling parent reply "Andrew Fedoniouk" <news terrainformatica.com> writes:
Here is the demo I've got so far
http://www.terrainformatica.com/screenshots/HarmoniaDemo.zip

It contains exe (374 KB - full framework including HTML engine, libpng, 
libjpg, zlib)
and main D file (attached).

Screenshot of the demo I've published in previous post.

Symptoms: on one of testing machines sometimes appears "black screen". In 
one second
screen restores. Might happen after exiting from the app. Whould be nice if
someone could try it - is it mine or just video card?

Andrew.





begin 666 main.d
M:6UP;W)T(&AA<FUO;FEA+G5I+F%P<&QI8V%T:6]N.PT*:6UP;W)T(&AA<FUO

M;7!O<G0 :&%R;6]N:6$N=6DN979E;G1S.PT*:6UP;W)T(&AA<FUO;FEA+G5I

M;',N<V-R;VQL8F%R.PT*:6UP;W)T(&AA<FUO;FEA+G5I+F-O;G1R;VQS+FQI



M? T*+R]\($AA<FUO;FEA('=A>2!T;R!S971U<"!'54D 87!P;&EC871I;VX-
M"B\O?" -" T*<W1A=&EC('1H:7,H*2 -"GL-"B  07!P;&EC871I;VXN;VY3
M=&%R=" ]( T*("  ("\O(%)U;G1I;64 <W1A<G1E9"X 4W1A=&EC<R!W97)E



M(#T
M;VXN;VY3=&]P(#T


M8VQA<W, 37E7:6YD;W<Z(%=I;F1O=R -"GL-"B  26UA9V4 ("  (&EM.PT*


M86YD*")T97-T(BP (E1E<W0B+" B5&5S=', 8V]M;6%N9"!B=71T;VXB*3L-

M;&5F="!C;W)N97(-"B  ("  ($)U='1O;B!B(#T ;F5W($-O;6UA;F1"=71T

M(#T


M*3L-" D ( T*("  ("\O(&9I;&P :70 8GD :71E;7,-"B  ("  ('-T871I

M("  ("  (" B5'=O(BP-"B  ("  ("  (E1H<F5E(BP-"B  ("  ("  (D9O

M:7  4VEX(%-I>"!3:7  4VEX(BP-"B  ("  ("  (E-E=F5N(BP-"B  ("  

M;7, *3L-" T*("  ("\O($A434P <&%N96P ( T*("  ("  :'  /2!N97< 


M961I="!D:6%L;V<G/D Q.E1H:7, :7, /$D^2%1-3"!T97AT/"])/B F;F)S
M<#ML;V%D960 :6YT;R \0CY(5$U,4&%N96P\+T(^("T <VEM<&QE(&YO;B!S

M;6%G93H\24U'('-R8STG=&5S="YP;F<G+SX 86YD(#Q
M86UP;&4[(#PO0T
M,3!P="!B;W)D97(M=VED=& ],W!X(&)O<F1E<BUS='EL93TG<V]L:60 ;F]N
M92!N;VYE(&YO;F4G(&)O<F1E<BUC;VQO<CUD:6%L;V<M<VAA9&]W(#X-"B  
M("!4:&ES('!A<F%G<F%P:"!D96-L87)E9"!A<R \0T]$13XF;'0[4"!H96EG
M:'0],3 P)29G=#L\+T-/1$4^+B!4:&ES(&UE86YS('1H870 :70 =VEL;"!T

M"B  ("!4:&ES(&ES(&$ ;6%J;W( 9&EF9F5R96YC92!F<F]M('-T86YD87)D
M($A434P +2!P97)C96YT<R!H97)E(&%R92 \23YP97)C96YT<R!F<F]M(&9R
M964 <W!A8V4\+TD^+ T*("  (#Q
M('1H92!L969T('-I9&4 +2!I="!I<R!L969T(&)O<F1E<B!O9B!T:&4 <&%R
M86=R87!H+B!3=6-H('!E<F-E;G1S(&%R92!U<V5D(&EN<W1E860 ;V8 9FQE
M>"=E<R!I;B!854PN/"]0/ T*(" \5$%"3$4 8V5L;'-P86-I;F<],3!P>"!C
M96QL<&%D9&EN9STQ,'!X('!A9&1I;F<],3!P>"!B;W)D97(M=VED=& ],7!X
M(&)O<F1E<BUS='EL93US;VQI9"!B;W)D97(M8V]L;W(]9&EA;&]G+7-H861O

M;W Z(#Q)3E!55"!T>7!E/71E>'0 =F%L=64])VAE;&QO('=O<FQD)R!W:61T
M:#TQ
M=64])V)U='1O;B< =VED=& ]-C!P>" O/ T*86YD(&-O;6)O8F]X. T*/$E.


M("  ("  (#Q/4%1)3TX^5&AR964\+T]05$E/3CX-"B  ("  ("  /$]05$E/

M/ T*("  ("  (" \3U!424]./E-I>"!3:7  4VEX(%-I>"!3:7  4VEX(%-I
M>"!3:7 \+T]05$E/3CX-"B  ("  ("  /$]05$E/3CY3979E;CPO3U!424].

M4%1)3TX^3FEN93PO3U!424]./ T*("  ("  (" \3U!424]./E1E;CPO3U!4
M24]./ T*/"])3E!55#X-
M("  (#Q41"!W:61T:#TT,"!B86-K+6-O;&]R/2=D:6%L;V<M;&EG:'0 <V-R
M;VQL8F%R)R!B;W)D97(])S%P>"!S;VQI9"!D:6%L;V<M<VAA9&]W)SXQ/"]4
M1#X-"B  (" \+U12/ T*("  (#Q44CX-"B  ("  (#Q41"!B;W)D97(])S%P
M>"!S;VQI9"!D:6%L;V<M<VAA9&]W)R!T97AT+6%L:6=N/7)I9VAT/G)I9VAT


M<F]L;&)A<B< 8F]R9&5R/2<Q<'  <V]L:60 9&EA;&]G+7-H861O=R<^,CPO

M(&)A8VLM8V]L;W(])V1I86QO9RUL:6=H="!D:6%L;V<M<VAA9&]W)SYC;VQS
M<&%N/3(L('1A8FQE(&-E;&QS('=I=&  9W)A9&EE;G0 8F%C:V=R;W5N9',\
M+U1$/ T*("  ("  /%1$(&)A8VLM8V]L;W(])V1I86QO9RUL:6=H="!D:6%L
M;V<M;&EG:'0 <V-R;VQL8F%R(&1I86QO9RUS:&%D;W<G/C,\+U1$/ T*("  
M(#PO5
M<F5F/2=H='1P.B\O=&5R<F%I;F9O<FUA=&EC82YC;VTG/E1E<G)A($EN9F]R
M;6%T:6-A/"]!/CPO4#X-"CPO2%1-3#XB
M(#T



M("  ("!I9BAI;2 A/3T ;G5L;"D-"B  ("  ('L-" D ("  +R\ 9')A=R!T

M8W, :6< /2!N97< 1W)A<&AI8W,H:6TI.PT*("  ("  ("!R96-T("!S<F, 

M86-E+G!O:6YT3V8H.2D[("\O('1O<"!R:6=H="!C;W)N97(L('-E92!.54T 

M<VEO;BYX.PT*("  ("  ("!G+F-O<'E296-T*&1S="QS<F,L:6<I.PT*("  

M"B  ("  <F5C="!R(#T

M"B  8F]O;"!O;BA%=F5N=$-O;6UA;F0 979T*0D-"B  >R -"B  ("!I9BAE
M=G0N8VUD(&ES(&-M9%1E<W0 )B8 979T+F5X96,I("  ( T*("  ('L-"B  
M("  (%=I;F1O=R!P;W!W(#T ;F5W(%=I;F1O=RA465!%+E!/4%50+"!T:&ES
M*3L-"B  ("  ('!O<'<N<W1A=&4 /2!35$%412Y32$]73CL-"B  ("  (')E
M='5R;B!T<G5E.R  ( T*("  ('T-"B  ("!R971U<FX 9F%L<V4[( T*("!]

`
end
Apr 18 2005
parent reply Manfred Nowak <svv1999 hotmail.com> writes:
"Andrew Fedoniouk" <news terrainformatica.com> wrote:
[...]
 Might happen after exiting from the app. Whould
 be nice if someone could try it - is it mine or just video card?
No problems here. -manfred
Apr 20 2005
parent "Andrew Fedoniouk" <news terrainformatica.com> writes:
Thanks a lot , Manfred.
Seems like video card.

"Manfred Nowak" <svv1999 hotmail.com> wrote in message 
news:d45clj$2rul$1 digitaldaemon.com...
 "Andrew Fedoniouk" <news terrainformatica.com> wrote:
 [...]
 Might happen after exiting from the app. Whould
 be nice if someone could try it - is it mine or just video card?
No problems here. -manfred
Apr 20 2005
prev sibling next sibling parent reply Shawn Liu <Shawn_member pathlink.com> writes:
In article <d3tfs4$1gm8$1 digitaldaemon.com>, Andreas Schmid says...
Hi,

What are the best cross-platform and Win32 GUI libraries for D?

-Andreas 
You may want to wait for DWT. A port of the SWT (Standard Widget Toolkit) GUI Library. This project is on the way. screenshot : http://www.dnaic.com/d/img/dummyeclipse.png binary sample : http://www.dnaic.com/d/download/dummyeclipse.exe.rar forum : http://www.dsource.org/forums/viewtopic.php?t=737 Shawn Liu
Apr 17 2005
parent reply John Reimer <John_member pathlink.com> writes:
In article <d3vg71$6su$1 digitaldaemon.com>, Shawn Liu says...
In article <d3tfs4$1gm8$1 digitaldaemon.com>, Andreas Schmid says...
Hi,

What are the best cross-platform and Win32 GUI libraries for D?

-Andreas 
You may want to wait for DWT. A port of the SWT (Standard Widget Toolkit) GUI Library. This project is on the way. screenshot : http://www.dnaic.com/d/img/dummyeclipse.png binary sample : http://www.dnaic.com/d/download/dummyeclipse.exe.rar forum : http://www.dsource.org/forums/viewtopic.php?t=737 Shawn Liu
I'm eager to test these out, Shawn. But the site is too slow to download anything from. Good to see such impressive improvements to DWT, though. You certainly took DWT the rest of the way. Congrats! -JJR
Apr 17 2005
parent reply Shawn Liu <Shawn_member pathlink.com> writes:
This example app is a sample of "CloudGarden's Jigloo SWT/Swing GUI Builder" for
Eclipse. I ported it from java to D using DWT. But not very consummate. The Tree
control displays chars in a wrong way and refuse mouse click. The bitmap mask
failed and came with a white background. And the app is not stable, sometime
cause an "Access Violation" error....

Actually, the DWT project is too big. Development and maintance are not easy.
There is a long way to go. 

But I think this is a begining we can write simple DWT apps.

Maybe brad can help us merge the source to SVN server.


Shawn
Apr 17 2005
parent reply "Andreas Schmid" <monkey gmx.info> writes:
Does DWT allow you to natively compile SWT code without the dependency on 
the Java VM?

-Andreas

"Shawn Liu" <Shawn_member pathlink.com> wrote in message 
news:d3vl3k$ao2$1 digitaldaemon.com...
 This example app is a sample of "CloudGarden's Jigloo SWT/Swing GUI 
 Builder" for
 Eclipse. I ported it from java to D using DWT. But not very consummate. 
 The Tree
 control displays chars in a wrong way and refuse mouse click. The bitmap 
 mask
 failed and came with a white background. And the app is not stable, 
 sometime
 cause an "Access Violation" error....

 Actually, the DWT project is too big. Development and maintance are not 
 easy.
 There is a long way to go.

 But I think this is a begining we can write simple DWT apps.

 Maybe brad can help us merge the source to SVN server.


 Shawn

 
Apr 18 2005
parent reply Shawn Liu <Shawn_member pathlink.com> writes:
In article <d3voka$f1s$1 digitaldaemon.com>, Andreas Schmid says...
Does DWT allow you to natively compile SWT code without the dependency on 
the Java VM?

-Andreas
No java VM. No SWT code, but DWT code. All java files of SWT are translated to D. The API name is identical (Some getter/setter may be changed to D properties in the future)
Apr 18 2005
parent "Andreas Schmid" <monkey gmx.info> writes:
Of course. So DWT is not a binding or wrapper, but a translation of the SWT 
source code to D source code?

"Shawn Liu" <Shawn_member pathlink.com> wrote in message 
news:d3vqsn$h41$1 digitaldaemon.com...
 In article <d3voka$f1s$1 digitaldaemon.com>, Andreas Schmid says...
Does DWT allow you to natively compile SWT code without the dependency on
the Java VM?

-Andreas
No java VM. No SWT code, but DWT code. All java files of SWT are translated to D. The API name is identical (Some getter/setter may be changed to D properties in the future)
Apr 18 2005
prev sibling next sibling parent Stewart Gordon <smjg_1998 yahoo.com> writes:
Andreas Schmid wrote:
 Hi,
 
 What are the best cross-platform and Win32 GUI libraries for D?
Cross-platform: I believe DUI is the most developed of them, but whether that means it's better than MinWin I don't know. Win32: SDWF is quite a decent one, at least for my purposes http://smjg.port5.com/pr/d/sdwf/ (Watch also the digitalmars.D.announce space for the next week or two....) Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Apr 18 2005
prev sibling parent reply Joshua Cearley <jtech ezoob.com> writes:
You may be interested in the Crystal Widgets Library at some point in 
the future. CWL is a project BlackCrystal is working on to basically 
make the equivalent of the JDK for D except very modular and extremely 
easy to use.

Its not out yet though; it wont be for a while. Just thought I'd take 
the time to mention it :)
--
Joshua Cearley
BlackCrystal Software
"Making dreams reality"
Apr 18 2005
parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
Joshua Cearley wrote:
 You may be interested in the Crystal Widgets Library at some point in 
 the future. CWL is a project BlackCrystal is working on to basically 
 make the equivalent of the JDK for D except very modular and extremely 
 easy to use.
<snip> Equivalent of the JDK? That's the DMD package, surely? Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Apr 19 2005
parent reply Joshua Cearley <jtech ezoob.com> writes:
Stewart Gordon wrote:
<snippage/>
 Equivalent of the JDK?  That's the DMD package, surely?
<snipped/> No not the standard library. The JDK gives you a lot of stuff in the library such as GUIs, some nice drawing stuff, and a few trinkets like compression streams, etc. Thats what CWL is going to be, a toolkit you can take modules out and use (or the entire thing if you want) so you could build anything from a 3D Game to a business app with extreme ease.
Apr 19 2005
parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
Joshua Cearley wrote:
 Stewart Gordon wrote:
 <snippage/>
 
 Equivalent of the JDK?  That's the DMD package, surely?
<snipped/> No not the standard library. The JDK gives you a lot of stuff in the library such as GUIs, some nice drawing stuff, and a few trinkets like compression streams, etc.
<snip> How does one tell which parts of the JDK library aren't part of the Java standard library? Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Apr 20 2005
parent reply xs0 <xs0 xs0.com> writes:
Stewart Gordon wrote:
 Joshua Cearley wrote:
 
 Stewart Gordon wrote:
 <snippage/>

 Equivalent of the JDK?  That's the DMD package, surely?
<snipped/> No not the standard library. The JDK gives you a lot of stuff in the library such as GUIs, some nice drawing stuff, and a few trinkets like compression streams, etc.
<snip> How does one tell which parts of the JDK library aren't part of the Java standard library? Stewart.
http://java.sun.com/j2se/1.5.0/docs/api/overview-summary.html I guess everything there is standard Java library.. xs0
Apr 20 2005
parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
xs0 wrote:
 Stewart Gordon wrote:
<snip>
 How does one tell which parts of the JDK library aren't part of the 
 Java standard library?

 Stewart.
http://java.sun.com/j2se/1.5.0/docs/api/overview-summary.html I guess everything there is standard Java library..
If that's the case, then the DMD package _is_ the equivalent of JDK. I.e. JDK (J2SDK, whatever the current name is) consists of the Java compiler, related tools and Java standard library; the DMD package consists of DMD itself, related tools and D standard library. Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Apr 20 2005
parent Joshua Cearley <jtech ezoob.com> writes:
I was talking about being the JDK feature wise but... apparently this 
has springed a weird discussion...

-JC
Apr 20 2005