Discussion:
moving wxd to github
(too old to reply)
Anders F Björklund
2011-08-26 08:10:14 UTC
Permalink
As part of a necessary rewrite to better support wxWidgets 3.0 and D2,
the wxD development is moving from SourceForge (cvs) to GitHub (git).
As an interim step the existing source repository has been converted,
the details at: http://sourceforge.net/scm/?type=git&group_id=133831

Besides updating the API, that currently follows wxWidgets 2.6 (ouch)
even if you can link it with 2.8 and 2.9 as well if needed by system,
if will change the current "struct" method of passing arrays to C++
into some kind of dual "size_t" and "void*" method as required by DMD.


I am also stepping down as a maintainer, including the pre-built GDC
distribution (gdcwin/gdcgnu/gdcmac) and the Code::Blocks support for D.

Hopefully the new wxD project will have better luck of accomplishing a
open-source cross-platform GUI and IDE for the D programming language ?

--anders

http://wxd.sourceforge.net/
http://www.codeblocks.org/

http://www.digitalmars.com/d/archives/digitalmars/D/wxD_GUI_and_Code_Blocks_IDE_46121.html
Marco Leise
2011-08-26 09:23:34 UTC
Permalink
Post by Anders F Björklund
I am also stepping down as a maintainer, including the pre-built GDC
distribution (gdcwin/gdcgnu/gdcmac) and the Code::Blocks support for D.
Hopefully the new wxD project will have better luck of accomplishing a
open-source cross-platform GUI and IDE for the D programming language ?
--anders
That are some good projects you were working on. We've got the precompiled
DMD, Eclipse DDT and GtkD, but I would have tried wxWidgets in
Code::Blocks with D. And while building GDC from source is possible, the
Windows folks probably preferred a binary (and some Mac and Linux users,
too). I hope someone steps in and this is not another wave of dying
projects.

- Marco
Anders F Björklund
2011-08-26 11:47:37 UTC
Permalink
Post by Marco Leise
Post by Anders F Björklund
I am also stepping down as a maintainer, including the pre-built GDC
distribution (gdcwin/gdcgnu/gdcmac) and the Code::Blocks support for D.
Hopefully the new wxD project will have better luck of accomplishing a
open-source cross-platform GUI and IDE for the D programming language ?
That are some good projects you were working on. We've got the
precompiled DMD, Eclipse DDT and GtkD, but I would have tried wxWidgets
in Code::Blocks with D. And while building GDC from source is possible,
the Windows folks probably preferred a binary (and some Mac and Linux
users, too). I hope someone steps in and this is not another wave of
dying projects.
Would have ? Well, you can still use the existing stuff* for D(1).
It was mostly that focus has shifted to D2, since four years ago...
I updated most of it for better 64-bit support last year, and there
was a new Code::Blocks 10.05 but that was about it for development.

* http://www.codeblocks.org/downloads/26
http://sourceforge.net/projects/gdcwin/files/gdc/r229/
http://sourceforge.net/projects/gdcgnu/files/gdc/r229/
http://sourceforge.net/projects/gdcmac/files/gdc/r229/

I guess you can also use QtD and Qt Creator, if you want something D2 ?

--anders
Marco Leise
2011-08-26 12:36:16 UTC
Permalink
Post by Anders F Björklund
Post by Marco Leise
That are some good projects you were working on. We've got the
precompiled DMD, Eclipse DDT and GtkD, but I would have tried wxWidgets
in Code::Blocks with D. And while building GDC from source is possible,
the Windows folks probably preferred a binary (and some Mac and Linux
users, too). I hope someone steps in and this is not another wave of
dying projects.
Would have ? Well, you can still use the existing stuff* for D(1).
It was mostly that focus has shifted to D2, since four years ago...
I updated most of it for better 64-bit support last year, and there
was a new Code::Blocks 10.05 but that was about it for development.
* http://www.codeblocks.org/downloads/26
http://sourceforge.net/projects/gdcwin/files/gdc/r229/
http://sourceforge.net/projects/gdcgnu/files/gdc/r229/
http://sourceforge.net/projects/gdcmac/files/gdc/r229/
I guess you can also use QtD and Qt Creator, if you want something D2 ?
--anders
When I started D2 was already advertised as the way to go so I restricted
myself to projects that work with D2.
(Btw. I do have that Code::Blocks version and wrote a little c++ editor
plug-in for private use.)
Anders F Björklund
2011-08-26 12:57:36 UTC
Permalink
Post by Marco Leise
Post by Anders F Björklund
Would have ? Well, you can still use the existing stuff* for D(1).
It was mostly that focus has shifted to D2, since four years ago...
I updated most of it for better 64-bit support last year, and there
was a new Code::Blocks 10.05 but that was about it for development.
When I started D2 was already advertised as the way to go so I
restricted myself to projects that work with D2.
It does work with D2 (well, except for DMD 64-bit that is).

I think the restriction was "the GUI must be written in",
and it isn't - but in C++ and in D. And of course the IDE
doesn't have real D support, only when it looks like C++ ?


Anyway, the whole idea of moving it to github.com was so
that development could continue. We'll see how that goes.

The upstream project, wx.NET, has also been going through
some changes. And wxWidgets 3.0 hasn't been released yet.

--anders
Andrej Mitrovic
2011-08-26 16:05:09 UTC
Permalink
Do you mean you're stepping down as the maintainer of wxd, or just the
GDC/CodeBlocks stuff?

wxWidgets look very interesting to me, lots of documentation available
from what I can tell. Plus it seems it's easy to grab a device context
out of a wxWidget frame, so I could use Cairo with that (e.g.
http://code.google.com/p/wxcairo/wiki/IntegratingWithCairo).

I think I'll give wxd a try these days.

Btw, what is up with the excessive blank lines in the example source
files? After every statement there is a blank line, it almost seems
like a result of some indenter script that screwed things up. This is
easily fixable for my own needs, of course. :)
Andrej Mitrovic
2011-08-26 16:39:59 UTC
Permalink
*correction: It's not just the samples, it's the library code too. I
don't understand, why the blank lines?
Andrej Mitrovic
2011-08-26 16:43:02 UTC
Permalink
I can see the problem now. The code uses CR followed by CRLF on every
line. This was probably some kind of unix -> windows EOL conversion
bug. Either CRLF or CR's should be killed (personally I'm ok with unix
endlines).
Anders F Björklund
2011-08-26 17:31:09 UTC
Permalink
Post by Andrej Mitrovic
I can see the problem now. The code uses CR followed by CRLF on every
line. This was probably some kind of unix -> windows EOL conversion
bug. Either CRLF or CR's should be killed (personally I'm ok with unix
endlines).
The code uses CRLF, must be some kind of bug with your
git setup - looks "OK" from here (with the ^M that is).

--anders
Anders F Björklund
2011-08-26 17:44:30 UTC
Permalink
Post by Anders F Björklund
Post by Andrej Mitrovic
I can see the problem now. The code uses CR followed by CRLF on every
line. This was probably some kind of unix -> windows EOL conversion
bug. Either CRLF or CR's should be killed (personally I'm ok with unix
endlines).
The code uses CRLF, must be some kind of bug with your
git setup - looks "OK" from here (with the ^M that is).
Apparently you set core.autocrlf=false in your git config,
(instead of "auto") to avoid it trying to convert things ?

--anders
Andrej Mitrovic
2011-08-26 18:07:59 UTC
Permalink
Post by Anders F Björklund
The code uses CRLF, must be some kind of bug with your
git setup - looks "OK" from here (with the ^M that is).
Sorry I've downloaded the tarball, not the git repo. The git repo
doesn't have these problems, thanks.
Andrej Mitrovic
2011-08-26 18:09:12 UTC
Permalink
s/tarball/zip file

The zipped source has the duplicate newlines, but that probably
doesn't show up based on what editor you use. But anyway, the git
version works fine.
Andrej Mitrovic
2011-08-26 18:15:15 UTC
Permalink
When I try to build via DMC's make I get:

D:\dev\projects\wxd>make
cd wxc
make
Error on line 181: can't read makefile '/build/msw/config.dmc'

I don't see a build folder anywhere. Are these build instructions
outdated on http://wxd.sourceforge.net/#installation ?
Anders F Björklund
2011-08-26 19:01:15 UTC
Permalink
Post by Andrej Mitrovic
D:\dev\projects\wxd>make
cd wxc
make
Error on line 181: can't read makefile '/build/msw/config.dmc'
I don't see a build folder anywhere. Are these build instructions
outdated on http://wxd.sourceforge.net/#installation ?
If you build with DM make, you need to set $WXDIR env variable.
It should say so, on that page. "set WXDIR=C:\wxWidgets-2.8.10"

Normally tested with GNU make though, and should be 2.8.12 now.

--anders
Andrej Mitrovic
2011-08-31 01:43:48 UTC
Permalink
Well that kinda works now, thanks.

I've tried building the Controls sample. I've had to make some
modifications due to missing toString symbols and missing default
switches. After that I've unfortunately hit this:

http://www.digitalmars.com/ctg/optlink.html
C:\wxMSW-2.8.12\lib\dmc_lib\wxexpatd.lib(xmlparse)
Error 168: >64K Global Types

Damn optlink..

I've re-built wxWidgets via GNU Make, then tried to build wxd with GNU
Make but failed:

D:\dev\projects\wxd>mingw32-make -f makefile.gcc
mingw32-make -C wxc -f makefile.gcc WX_RELEASE
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
process_begin: CreateProcess(NULL, wx-config --cxxflags, ...) failed.
mingw32-make[1]: Entering directory `D:/dev/projects/wxd/wxc'
g++ -D__GDC__ -O2 -Wall -c -o wx-release.o wx-release.cpp
wx-release.cpp:6:21: fatal error: wx/defs.h: No such file or directory
compilation terminated.
mingw32-make[1]: *** [wx-release.o] Error 1
mingw32-make[1]: Leaving directory `D:/dev/projects/wxd/wxc'
mingw32-make: *** [wxc/WX_RELEASE] Error 2

My WXDIR is set up properly:
D:\dev\projects\wxd>echo %WXDIR%
C:\wxMSW-2.8.12
Andrej Mitrovic
2011-11-10 02:26:44 UTC
Permalink
FWIW the samples compile fine with the latest changesets, using dmd
make. Thanks for your work, Anders!
Andrej Mitrovic
2011-11-10 17:27:11 UTC
Permalink
Btw, it would be great if you could move the repo to Github when you
have the free time to do it. The samples need a few updates to work
with D2, and I'd like to make a pull for that. I don't really know my
way around sforge. :)
Anders F Björklund
2011-11-21 22:13:21 UTC
Permalink
Post by Andrej Mitrovic
Btw, it would be great if you could move the repo to Github when you
have the free time to do it. The samples need a few updates to work
with D2, and I'd like to make a pull for that. I don't really know my
way around sforge. :)
Missed a button, it's now at https://github.com/afb/wxd
in addition to the usual http://wxd.git.sourceforge.net/

--anders
Gour
2011-11-22 16:36:31 UTC
Permalink
On Mon, 21 Nov 2011 23:13:21 +0100
Post by Anders F Björklund
Missed a button, it's now at https://github.com/afb/wxd
Thanks a lot. Hopefully it will get some followers since we hope D
community is not like in Haskell: there are hundreds of Monad tutorials,
plenty of libraries on Hackage, but hardly one nicely maintained GUI
bindings project.


Sincerely,
Gour
--
As the embodied soul continuously passes, in this body,
from boyhood to youth to old age, the soul similarly passes
into another body at death. A sober person is not bewildered
by such a change.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111122/0f5130cd/attachment.pgp>
dolive
2011-11-22 20:56:05 UTC
Permalink
Post by Anders F Björklund
Post by Andrej Mitrovic
Btw, it would be great if you could move the repo to Github when you
have the free time to do it. The samples need a few updates to work
with D2, and I'd like to make a pull for that. I don't really know my
way around sforge. :)
Missed a button, it's now at https://github.com/afb/wxd
in addition to the usual http://wxd.git.sourceforge.net/
--anders
please let wxd can be able to compile at the latest dmd2 for windows, but currently only compiled on dmd1.064 for windows . please !

thank you very much !!!
Andrej Mitrovic
2011-11-22 21:21:03 UTC
Permalink
It compiles fine on DMD 2.056, but you need to compile wxWidgets via
DMD make first. It's described on wxd's website.
Post by dolive
Post by Anders F Björklund
Post by Andrej Mitrovic
Btw, it would be great if you could move the repo to Github when you
have the free time to do it. The samples need a few updates to work
with D2, and I'd like to make a pull for that. I don't really know my
way around sforge. :)
Missed a button, it's now at https://github.com/afb/wxd
in addition to the usual http://wxd.git.sourceforge.net/
--anders
please let wxd can be able to compile at the latest dmd2 for windows, but
currently only compiled on dmd1.064 for windows . please !
thank you very much !!!
Anders F Björklund
2011-08-26 17:30:57 UTC
Permalink
Post by Andrej Mitrovic
Do you mean you're stepping down as the maintainer of wxd, or just the
GDC/CodeBlocks stuff?
All three. Mostly wxD, but also the others - not using.
I'll leave it up as-is, but won't be adding D2 features.

--anders
Gour
2011-11-21 11:01:17 UTC
Permalink
On Fri, 26 Aug 2011 19:30:57 +0200
Anders F Bj?rklund <afb at algonet.se> wrote:

Hello Anders,
Post by Anders F Björklund
All three. Mostly wxD, but also the others - not using.
I'll leave it up as-is, but won't be adding D2 features.
Sorry to found out (when we're reconsidering D) that you go/went away.
:-(


It looks that gtkD is in the best shape from all D-related projects with
GUI bindings, but, otoh, it could be that wx-2.9/3.0 is providing the
best native experience on non-Linux OS-es. (We would develop on Linux,
but need good appearance of our desktop app both on Mac OS X & Windows.)

Have you lost interest in working on wxD due to using some other GUI
toolkit or no interest in GUI bindings in general?


Sincerely,
Gour
--
The embodied soul may be restricted from sense enjoyment,
though the taste for sense objects remains. But, ceasing
such engagements by experiencing a higher taste,
he is fixed in consciousness.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111121/1e5b4e7b/attachment.pgp>
Anders F Björklund
2011-11-21 22:59:06 UTC
Permalink
Post by Gour
Post by Anders F Björklund
All three. Mostly wxD, but also the others - not using.
I'll leave it up as-is, but won't be adding D2 features.
Sorry to found out (when we're reconsidering D) that you go/went away.
:-(
Not sure if I was ever "on" D2, but left all the D1 stuff up.
Including the GDC binaries, wxWidgets and Code::Blocks with D.
Post by Gour
Have you lost interest in working on wxD due to using some other GUI
toolkit or no interest in GUI bindings in general?
No interest in general, the project is looking for a maintainer.
Last time I heard, the QtD binding was the most popular one ?

--anders
Sam Hu
2011-11-23 00:54:05 UTC
Permalink
Post by Andrej Mitrovic
It compiles fine on DMD 2.056, but you need to compile wxWidgets via
DMD make first. It's described on wxd's website.
Post by dolive
Post by Anders F Björklund
Post by Andrej Mitrovic
Btw, it would be great if you could move the repo to Github when you
have the free time to do it. The samples need a few updates to work
with D2, and I'd like to make a pull for that. I don't really know my
way around sforge. :)
Missed a button, it's now at https://github.com/afb/wxd
in addition to the usual http://wxd.git.sourceforge.net/
--anders
please let wxd can be able to compile at the latest dmd2 for windows, but
currently only compiled on dmd1.064 for windows . please !
thank you very much !!!
May I ask which version of wxWidget,2.8.12 or 2.9.? ?Thanks.
Andrej Mitrovic
2011-11-23 01:06:38 UTC
Permalink
Post by Sam Hu
May I ask which version of wxWidget,2.8.12 or 2.9.? ?Thanks.
For windows, it's:
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.4.zip

Find this string: "1. wxWidgets" here: http://wxd.sourceforge.net/
and follow the instructions for step 1 (DM), or if you're on Linux
then I guess GCC. Compiling takes a while..

Then get the repo from github and run 'make' in the wxd directory.
After a while, you can browse to 'samples' and run 'make'.

The samples were recently updated to work with both D1 and D2.
Sam Hu
2011-11-23 04:25:30 UTC
Permalink
Post by Andrej Mitrovic
Post by Sam Hu
May I ask which version of wxWidget,2.8.12 or 2.9.? ?Thanks.
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.4.zip
Find this string: "1. wxWidgets" here: http://wxd.sourceforge.net/
and follow the instructions for step 1 (DM), or if you're on Linux
then I guess GCC. Compiling takes a while..
Then get the repo from github and run 'make' in the wxd directory.
After a while, you can browse to 'samples' and run 'make'.
The samples were recently updated to work with both D1 and D2.
Thank you so much for the prompt response!Just wondering is there any special reason that wx2.8.* or wx2.9.* could not be supported?
Andrej Mitrovic
2011-11-23 17:19:32 UTC
Permalink
You'll have to ask Anders that.

I'm guessing what needs to be done is to update the wxc wrapper, and
recreate the D wrapper based on the C# port.

I've heard something about wx3.0 being in plans, if it's a significant
change from the 2.x series then maybe it would be a good idea to wait
for that release before attempting to update the wrappers.
Brad Anderson
2011-11-23 18:14:46 UTC
Permalink
On Wed, Nov 23, 2011 at 10:19 AM, Andrej Mitrovic <
Post by Andrej Mitrovic
You'll have to ask Anders that.
I'm guessing what needs to be done is to update the wxc wrapper, and
recreate the D wrapper based on the C# port.
I've heard something about wx3.0 being in plans, if it's a significant
change from the 2.x series then maybe it would be a good idea to wait
for that release before attempting to update the wrappers.
2.9 is very close to what 3.0 will be (it is the development version for
the 3.0 release). All the major changes are done. It'd be fine to work
against 2.9 in anticipation of 3.0 support.

Regards,
Brad Anderson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111123/a58f1cce/attachment.html>
Gour
2011-11-23 18:41:45 UTC
Permalink
On Wed, 23 Nov 2011 11:14:46 -0700
Post by Brad Anderson
2.9 is very close to what 3.0 will be (it is the development version
for the 3.0 release). All the major changes are done. It'd be fine
to work against 2.9 in anticipation of 3.0 support.
+1

Btw, on wxwidgets list I've heard about "C target language
backend" and asked on swig list about its status...

See http://swig.svn.sourceforge.net/viewvc/swig/branches/gsoc2008-maciekd/Doc/Manual/C.html


Sincerely,
Gour
--
One who is able to withdraw his senses from sense objects,
as the tortoise draws its limbs within the shell,
is firmly fixed in perfect consciousness.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111123/a3838061/attachment.pgp>
Anders F Björklund
2011-11-24 11:01:46 UTC
Permalink
Post by Sam Hu
Post by Andrej Mitrovic
Post by Sam Hu
May I ask which version of wxWidget,2.8.12 or 2.9.? ?Thanks.
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.4.zip
Find this string: "1. wxWidgets" here: http://wxd.sourceforge.net/
and follow the instructions for step 1 (DM), or if you're on Linux
then I guess GCC. Compiling takes a while..
Then get the repo from github and run 'make' in the wxd directory.
After a while, you can browse to 'samples' and run 'make'.
The samples were recently updated to work with both D1 and D2.
Thank you so much for the prompt response!Just wondering is there any special reason that wx2.8.* or wx2.9.* could not be supported?
Both wxWidgets 2.8 and 2.9 are supported, just that the API
was originally exported from wx 2.6.4 so that's the lowest
denominator and starting point, while 2.8.12 is the "stable".

In 2011 (with 0.16), the code was updated to work with wx 2.9
and dmd 2.054 - in addition to previous wx 2.8 and dmd 1.030
(it "should" still work with wx 2.6 and dmd 1.020 too, afaik)

If no other concerns, then pick 2.8.12 (the "Current Stable")
Supporting 2.6 was mostly for DMC, and 2.9 was mostly for Cocoa.


Maybe one would want to regenerate the D API for wxWidgets 3.0,
but should work fine without - similar to "WXWIN_COMPATIBILITY_*"

i.e. currently exported API:
http://wxd.sourceforge.net/wxWidgets-2.6.4/docs/html/wx/wx_classref.html

vs. the latest available API:
http://docs.wxwidgets.org/trunk/page_class_cat.html (from the svn trunk)

--anders
Gour
2011-11-24 12:04:34 UTC
Permalink
On Thu, 24 Nov 2011 12:01:46 +0100
Post by Anders F Björklund
Maybe one would want to regenerate the D API for wxWidgets 3.0,
but should work fine without - similar to "WXWIN_COMPATIBILITY_*"
I'm reading SWIG docs and there is says: "...SWIG is quite capable in
supporting most of C++. Some of the major features include:

* Full C99 preprocessing.
* All ANSI C and C++ datatypes.
* Functions, variables, and constants.
* Classes.
* Single and multiple inheritance.
* Overloaded functions and methods.
* Overloaded operators.
* C++ templates (including member templates, specialization, and partial specialization).
* Namespaces.
* Variable length arguments.
* C++ smart pointers.

Currently, the only major C++ feature not supported is nested classes--a
limitation that should be removed in a future release, but has some
workarounds for the moment.

It is important to stress that SWIG is not a simplistic C++ lexing tool
like several apparently similar wrapper generation tools. SWIG not only
parses C++, it implements the full C++ type system and it is able to
understand C++ semantics. SWIG generates its wrappers with full
knowledge of this information. As a result, you will find SWIG to be
just as capable of dealing with nasty corner cases as it is in wrapping
simple C++ code. In fact, SWIG is able handle C++ code that stresses the
very limits of many C++ compilers."

What do you think about providing wxWidgets 3.0 API using SWIG?

I've asked for opinion Robin who is doing wxpython and has plenty of
experience with both wx & SWIG...waiting for his reply.


Sincerely,
Gour
--
As a strong wind sweeps away a boat on the water,
even one of the roaming senses on which the mind
focuses can carry away a man's intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111124/09e885af/attachment.pgp>
Anders F Björklund
2011-11-24 12:55:23 UTC
Permalink
Post by Gour
What do you think about providing wxWidgets 3.0 API using SWIG?
http://xkcd.com/224/
Post by Gour
I've asked for opinion Robin who is doing wxpython and has plenty of
experience with both wx& SWIG...waiting for his reply.
Sounds like a good idea, though you probably want to use SWIG 2.0
for the improved D support - while wxPython uses SWIG 1.3 afaict ?

I would drop support for wxWidgets 2.x and DMD 1.x - and go for
wxWidgets 2.9.x and DMD 2.0xx directly. And pick one "make" (GNU).

Trying to support two languages, two libraries, two+ compilers,
two+ buildtools, and so on, was just no fun and not very workable ?

It's easier to just use configure+make, and MSYS/MinGW on Windows,
than trying to work with the DOS console (in C++) or DM's Make.exe.

--anders
Gour
2011-11-24 15:20:31 UTC
Permalink
On Thu, 24 Nov 2011 13:55:23 +0100
Post by Anders F Björklund
http://xkcd.com/224/
LOL.
Post by Anders F Björklund
Sounds like a good idea, though you probably want to use SWIG 2.0
for the improved D support - while wxPython uses SWIG 1.3 afaict ?
I do not know about wxPython, but, yes, SWIG 2.0 which has support for
D.
Post by Anders F Björklund
I would drop support for wxWidgets 2.x and DMD 1.x - and go for
wxWidgets 2.9.x and DMD 2.0xx directly.
I fully agree,
Post by Anders F Björklund
And pick one "make" (GNU).
That's not fully clear to me.
Post by Anders F Björklund
Trying to support two languages, two libraries, two+ compilers,
two+ buildtools, and so on, was just no fun and not very workable ?
Can you explain what do you think?
Post by Anders F Björklund
It's easier to just use configure+make, and MSYS/MinGW on Windows,
than trying to work with the DOS console (in C++) or DM's Make.exe.
I'm also thinking about cmake and will try to help Jens to prepare
cmaked2 to be included in the upstream.

Cmake is not the most elegant tool, but it works and I got confirmation
that it supports dmd & gdc.

What do you think?


Sincerely,
Gour
--
As a strong wind sweeps away a boat on the water,
even one of the roaming senses on which the mind
focuses can carry away a man's intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111124/714d2a41/attachment.pgp>
Anders F Björklund
2011-11-25 10:24:02 UTC
Permalink
Post by Gour
Post by Anders F Björklund
And pick one "make" (GNU).
That's not fully clear to me.
Instead of doing separate GNUmakefile and Makefile, and synching those ?

There was even a build.brf and dsss.conf, while those were in fashion...
Post by Gour
Post by Anders F Björklund
Trying to support two languages, two libraries, two+ compilers,
two+ buildtools, and so on, was just no fun and not very workable ?
Can you explain what do you think?
Drop D1, drop Tango, and make DMD the default compiler syntax
(possibly using gdmd or ldmd behind the covers, where desired)

Then do a standard build system, the suggestion was GNU make
and GNU bash - rather than trying to cope with several systems.
Post by Gour
Cmake is not the most elegant tool, but it works and I got confirmation
that it supports dmd& gdc.
What do you think?
It would just generate a Makefile anyway ? But if it could
generate the IDE projects, then maybe it's worth pursuing...

If one used standard make and shell, then one could use the
standard "wx-config" and friends and just be done with it:

http://wxwidgets.blogspot.com/2011/06/choosing-gcc-for-building-wxwidgets.html

--anders
Gour
2011-11-25 11:45:48 UTC
Permalink
On Fri, 25 Nov 2011 11:24:02 +0100
Post by Anders F Björklund
Drop D1, drop Tango, and make DMD the default compiler syntax
(possibly using gdmd or ldmd behind the covers, where desired)
+1
Post by Anders F Björklund
It would just generate a Makefile anyway ? But if it could
generate the IDE projects, then maybe it's worth pursuing...
Here is the list of gnerators available in cmake:

Borland Makefiles
MSYS Makefiles
MinGW Makefiles
NMake Makefiles
Unix Makefiles
Visual Studio 6
Visual Studio 7
Visual Studio 7 .NET 2003
Visual Studio 8 2005
Visual Studio 8 2005 Win64
Visual Studio 9 2008
Visual Studio 9 2008 Win64
Watcom WMake
CodeBlocks - MinGW Makefiles
CodeBlocks - Unix Makefiles
Eclipse CDT4 - MinGW Makefiles
Eclipse CDT4 - NMake Makefiles
Eclipse CDT4 - Unix Makefiles

check: http://www.cmake.org/cmake/help/cmake2.6docs.html#section_Generators


btw, I'm going to help Jens to push cmake2d upstream to be included in the
official release.


Sincerely,
Gour
--
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111125/efbc5706/attachment.pgp>
Sam Hu
2011-11-25 06:23:33 UTC
Permalink
Post by Anders F Björklund
Post by Sam Hu
Post by Andrej Mitrovic
Post by Sam Hu
May I ask which version of wxWidget,2.8.12 or 2.9.? ?Thanks.
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.6.4.zip
Find this string: "1. wxWidgets" here: http://wxd.sourceforge.net/
and follow the instructions for step 1 (DM), or if you're on Linux
then I guess GCC. Compiling takes a while..
Then get the repo from github and run 'make' in the wxd directory.
After a while, you can browse to 'samples' and run 'make'.
The samples were recently updated to work with both D1 and D2.
Thank you so much for the prompt response!Just wondering is there any special reason that wx2.8.* or wx2.9.* could not be supported?
Both wxWidgets 2.8 and 2.9 are supported, just that the API
was originally exported from wx 2.6.4 so that's the lowest
denominator and starting point, while 2.8.12 is the "stable".
In 2011 (with 0.16), the code was updated to work with wx 2.9
and dmd 2.054 - in addition to previous wx 2.8 and dmd 1.030
(it "should" still work with wx 2.6 and dmd 1.020 too, afaik)
If no other concerns, then pick 2.8.12 (the "Current Stable")
Supporting 2.6 was mostly for DMC, and 2.9 was mostly for Cocoa.
Maybe one would want to regenerate the D API for wxWidgets 3.0,
but should work fine without - similar to "WXWIN_COMPATIBILITY_*"
http://wxd.sourceforge.net/wxWidgets-2.6.4/docs/html/wx/wx_classref.html
http://docs.wxwidgets.org/trunk/page_class_cat.html (from the svn trunk)
--anders
Glad to hear that wx2.8 and wx2.9 are both supported.
GUI library in D(2) like DFL,DWT,gtkD and QtD all these I have tried to build turns out it is not so difficult.However wxD is the one I never ever build successfully under windows,yes,maybe this is not so difficult to others here.
It would be grateful for someone to write a step by step guideline for build wxD under different platform,the one I would like see is dmd2.056/dmc/mingw under windows with wx2.9.3 as it has wxWebView.It would be nice as well if somebody would like to share his build package.With 7-zip I think it won't be too big to transfer on the web.

Regards,
Sam
Anders F Björklund
2011-11-24 12:15:49 UTC
Permalink
Post by Andrej Mitrovic
I'm guessing what needs to be done is to update the wxc wrapper, and
recreate the D wrapper based on the C# port.
There were two main tracks to generating the wrappers, one was
using a patched SWIG and the other was a custom Perl script...

http://wxnet.cvs.sourceforge.net/viewvc/wxnet/wx.NET/Src/SWIG/
http://wxnet.cvs.sourceforge.net/viewvc/wxnet/wx.NET/Src/wx-c-gen/

But the requirements are a bit different between C# and D, so
the generated C libraries are _not_ identical between the two
(even if they then use the same wx C++ libraries to link with)
There's also some language differences for the native libs API.

Now that DMD has broken the ABI on x86_64, the string handling
needs to be redone (to use wxStringCharType* and size_t pairs?)
The Unicode handling is also done differently in wxWidgets 3.0:
http://docs.wxwidgets.org/trunk/overview_string.html (wxString)
Post by Andrej Mitrovic
I've heard something about wx3.0 being in plans, if it's a significant
change from the 2.x series then maybe it would be a good idea to wait
for that release before attempting to update the wrappers.
One might also drop the D and Tango support, and go D2 only ?

--anders
Gour
2011-11-24 12:44:55 UTC
Permalink
On Thu, 24 Nov 2011 13:15:49 +0100
Post by Anders F Björklund
One might also drop the D and Tango support, and go D2 only ?
+1

and do wx-3.0 only.


Sincerely,
Gour
--
Those who are on this path are resolute in purpose,
and their aim is one. O beloved child of the Kurus,
the intelligence of those who are irresolute is many-branched.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111124/572543c8/attachment.pgp>
Walter Bright
2011-11-24 20:12:11 UTC
Permalink
Post by Anders F Björklund
Now that DMD has broken the ABI on x86_64,
??
Andrej Mitrovic
2011-11-25 04:35:52 UTC
Permalink
Well the cool thing is I can use wxGlide to generate C++ code, and
convert that to D. I tried it just now and it seems to work, but
converting everything by hand is a bit of a chore.

The biggest problem by far are the enums, since wxWidgets enums don't
have a "tag" while the wxd enums do. This might be fixable via some
quick shell scripts.

However even though D is C++ inspired, I just have a much easier time
converting python code instead. I think this is because wxGlide puts
everything into header+implementation files, and this is a chore to
convert to D, whereas the equivalent python code is in one file and
much shorter.

I definitely think I'll start using wxd from now on. :)
Andrej Mitrovic
2011-11-25 04:52:52 UTC
Permalink
I'm just a little confused about that wxWindows license. So basically,
if I release my sources then they have to be GPL, but if I don't then
I can distribute only the binaries freely? IOW, I can't license my
sources with Boost or similar if I use wxd?
Brad Anderson
2011-11-25 05:50:47 UTC
Permalink
On Thu, Nov 24, 2011 at 9:52 PM, Andrej Mitrovic <andrej.mitrovich at gmail.com
Post by Andrej Mitrovic
I'm just a little confused about that wxWindows license. So basically,
if I release my sources then they have to be GPL, but if I don't then
I can distribute only the binaries freely? IOW, I can't license my
sources with Boost or similar if I use wxd?
It's just LGPL unless you are writing something closed source, then you are
free to distribute on your own terms. Kind of a weird license but not too
complicated if you already know how to work with LGPL libraries.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111124/44d98231/attachment.html>
Gour
2011-11-25 07:16:31 UTC
Permalink
On Fri, 25 Nov 2011 05:35:52 +0100
Post by Andrej Mitrovic
Well the cool thing is I can use wxGlide to generate C++ code, and
convert that to D. I tried it just now and it seems to work, but
converting everything by hand is a bit of a chore.
Huh, does it fall in the category of 'language bindings' ? :-)
Post by Andrej Mitrovic
I definitely think I'll start using wxd from now on. :)
Great!


Sincerely,
Gour
--
The senses are so strong and impetuous, O Arjuna,
that they forcibly carry away the mind even of a man
of discrimination who is endeavoring to control them.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111125/f19aba5e/attachment.pgp>
Andrej Mitrovic
2011-11-25 07:51:19 UTC
Permalink
Post by Gour
Huh, does it fall in the category of 'language bindings' ? :-)
It's a GUI builder with code generation: http://wxglade.sourceforge.net/

Or maybe I didn't get the joke? Hehe
Gour
2011-11-25 11:41:01 UTC
Permalink
On Fri, 25 Nov 2011 08:51:19 +0100
Post by Andrej Mitrovic
Post by Gour
Huh, does it fall in the category of 'language bindings' ? :-)
Or maybe I didn't get the joke? Hehe
;)


Sincerely,
Gour
--
As the embodied soul continuously passes, in this body,
from boyhood to youth to old age, the soul similarly passes
into another body at death. A sober person is not bewildered
by such a change.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111125/1f282faf/attachment.pgp>
Anders F Björklund
2011-11-25 10:01:41 UTC
Permalink
Post by Anders F Björklund
Now that DMD has broken the ABI on x86_64,
??
... compared with GDC, that was.

Think we discussed this earlier, it's about the
passing of structs as parameters compared with C++.

The code is passing a D "string" to the C++ side,
and then interpreting this C argument as a struct:

/// length-prefixed string in UTF-8 format
struct dstr {
size_t length;
const char* data;
};

This only works in 32-bit code, and not in 64-bit.
Need to use two separate .length and .ptr pairs.


It should probably pass around wxString() objects
instead, even if that's slightly less convenient...

So instead of:

static extern (C) void wxApp_SetAppName(IntPtr self, string
name);
static extern (C) IntPtr wxApp_GetAppName(IntPtr self);

public string AppName() { return cast(string) new
wxString(wxApp_GetAppName(wxobj), true); }
public void AppName(string name) { wxApp_SetAppName(wxobj, name); }

It should do:

static extern (C) void wxApp_SetAppName(IntPtr self, IntPtr
name);
static extern (C) IntPtr wxApp_GetAppName(IntPtr self);

public wxString AppName() { return wxApp_GetAppName(wxobj); }
public void AppName(wxString name) { wxApp_SetAppName(wxobj,
name); }

Then it will be more explicit *when* strings are created,
especially if any UTF conversion needs to be done by it.

--anders
Anders F Björklund
2011-11-25 10:07:45 UTC
Permalink
Post by Andrej Mitrovic
Well the cool thing is I can use wxGlide to generate C++ code, and
convert that to D. I tried it just now and it seems to work, but
converting everything by hand is a bit of a chore.
So don't generate code, use XRC resources instead ?
Post by Andrej Mitrovic
However even though D is C++ inspired, I just have a much easier time
converting python code instead. I think this is because wxGlide puts
everything into header+implementation files, and this is a chore to
convert to D, whereas the equivalent python code is in one file and
much shorter.
Supposedly you could patch it to generate D code...

https://bitbucket.org/agriggio/wxglade/src/default/codegen/

Then you wouldn't have to convert it later at all.

--anders
Andrej Mitrovic
2011-11-25 10:17:52 UTC
Permalink
Post by Anders F Björklund
Post by Andrej Mitrovic
Well the cool thing is I can use wxGlide to generate C++ code, and
convert that to D. I tried it just now and it seems to work, but
converting everything by hand is a bit of a chore.
So don't generate code, use XRC resources instead ?
I haven't thought of that! I'm very new to wxWidgets, thanks for the tip.
Gour
2011-11-25 11:40:35 UTC
Permalink
On Fri, 25 Nov 2011 11:07:45 +0100
Post by Anders F Björklund
So don't generate code, use XRC resources instead ?
wxD can use XRC files?

It would be great, then we can use some of the builders like
DialogBlocks/wxForms...


Sincerely,
Gour
--
One who restrains his senses, keeping them under full control,
and fixes his consciousness upon Me, is known as a man of
steady intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111125/1bff9aa1/attachment.pgp>
Anders F Björklund
2011-11-25 11:46:42 UTC
Permalink
Post by Gour
Post by Anders F Björklund
So don't generate code, use XRC resources instead ?
wxD can use XRC files?
It would be great, then we can use some of the builders like
DialogBlocks/wxForms...
See the "Xrc" demo in Samples, for some example code.

http://docs.wxwidgets.org/stable/wx_xrcoverview.html

--anders
Andrej Mitrovic
2011-11-27 06:27:32 UTC
Permalink
I've managed to get StyledTextCtrl compiled and working. I had to add
a few missing .obj/.cpp file entries in the DMC makefile for the
StyledTextCtrl contrib tree (just a couple of lexer files), but there
was also a cyclic import problem in wxd between wx.StyledTextCtrl's
and wx.TaskBarIcon's module ctors.

So as a temporary workaround I've merged STC's ctor into TaskBarIcon.d.

Btw, how can I figure out what "int style" means for STC? The docs
I've found only don't say anything about what that option is in the
ctor. I'm trying to make STC autoexpand in a tab widget. But STC
stays the same size when I resize the window:
http://paste.pocoo.org/show/513430/

Maybe I need to use events on size changes?
Brad Anderson
2011-11-27 11:20:12 UTC
Permalink
On Sat, Nov 26, 2011 at 11:27 PM, Andrej Mitrovic <
Post by Andrej Mitrovic
I've managed to get StyledTextCtrl compiled and working. I had to add
a few missing .obj/.cpp file entries in the DMC makefile for the
StyledTextCtrl contrib tree (just a couple of lexer files), but there
was also a cyclic import problem in wxd between wx.StyledTextCtrl's
and wx.TaskBarIcon's module ctors.
So as a temporary workaround I've merged STC's ctor into TaskBarIcon.d.
Btw, how can I figure out what "int style" means for STC? The docs
I've found only don't say anything about what that option is in the
ctor. I'm trying to make STC autoexpand in a tab widget. But STC
http://paste.pocoo.org/show/513430/
Maybe I need to use events on size changes?
The style int is a bitfield with stuff like border options and sometimes
control specific settings. Check wxWindow's documentation for the basic
styles.

You use sizers for pretty much all layout work in wxWidgets. To do what
you want you could make a vertical box sizer, add the STC with a proportion
of 1 (expand vertically) and wxEXPAND flag (expand horizontally), and set
it as the sizer of the parent window.

This short tutorial is helpful for learning to use sizers:
http://neume.sourceforge.net/sizerdemo/

Regards,
Brad Anderson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111127/1c9981d4/attachment-0001.html>
Andrej Mitrovic
2011-11-27 20:01:23 UTC
Permalink
Ah right, sizers. I forgot to set a sizer for the tab. Now it works:
http://codepad.org/Kc5TxXjU

Thanks!
Andrej Mitrovic
2011-11-28 01:11:24 UTC
Permalink
FWIW I've got the StyledText sample fixed for D2 (it wasn't compiling
for D1 either).

It has a dependency on the Display class, and it seems wxd is compiled
with this class but you can't use it because it depends on
wxc\display.cpp, which has a whole section idfef'd out (via #if
wxUSE_DISPLAY). So naturally there's linker errors.

I tried but I couldn't compile the wxc\display.cpp file when I defined
wxUSE_DISPLAY, I kept getting weird DMC errors.

Anywho the sample only used it for priting so I just disabled that
functionality.
Gour
2011-11-28 07:54:21 UTC
Permalink
On Mon, 28 Nov 2011 02:11:24 +0100
Post by Andrej Mitrovic
It has a dependency on the Display class, and it seems wxd is compiled
with this class but you can't use it because it depends on
wxc\display.cpp, which has a whole section idfef'd out (via #if
wxUSE_DISPLAY). So naturally there's linker errors.
I haven't build wxD yet, but just curious...you say that the sample
depends on wxc\display.cpp, but I thought that wxc stuff belonged to
wx.NET port, while the wxD site says: "Newer wxD version (0.10) has been
updated to wxWidgets 2.6.4 and linkable with wxWidgets 2.8.4 as well,
and is now based directly on the original wx classes since the
previously used wx.NET was not being maintained anymore."

Please advise?

Edit: Now I see that wxC is/was project meant to provide basis for
wxEiffel (& wxHaskell) bindings...but seeing it's not really maintained
it seems to be dead end. My proposition is research about the
possibility to do wxD straight from the SWIG and its D support since
present approaches does not, I'm afraid, promise bright future.

Morever, I believe there are not so many wxD-2.8.x applications written
and it's reasonable to start working on 2.9/3.0 not caring much about
older releases.

Sincerely,
Gour
--
A person who is not disturbed by the incessant flow of
desires ? that enter like rivers into the ocean, which is
ever being filled but is always still ? can alone achieve
peace, and not the man who strives to satisfy such desires.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111128/c1538bea/attachment.pgp>
Anders F Björklund
2011-11-28 11:20:27 UTC
Permalink
Post by Gour
I haven't build wxD yet, but just curious...you say that the sample
depends on wxc\display.cpp, but I thought that wxc stuff belonged to
wx.NET port, while the wxD site says: "Newer wxD version (0.10) has been
updated to wxWidgets 2.6.4 and linkable with wxWidgets 2.8.4 as well,
and is now based directly on the original wx classes since the
previously used wx.NET was not being maintained anymore."
Please advise?
You'll need to read the entire thing.
http://wxd.sourceforge.net/#libraries

"wxD is not a D port of wxWidgets, so it uses the C++ libraries. It is
composed of two parts: (2 static libraries)

* wxc is a C++ library which exposes the wxWidgets API as a
collection of D-friendly functions (extern "C").
* wxd is a library written in D which parallels the wxWidgets (C++)
classes, ported over from wx.NET (C#).

It's then linked to the regular wx libraries from wxWidgets, [...]"

So wxD (the project) consists of two sub-libraries: wxc and wxd.
Whether it's libwxc.a or wxc.lib depends on the platform/compiler.


wx.NET is sorta/kinda maintained again now, much like wxD itself...
It changed name to "WX.Net", in some attempt to make it more .NET
(probably a really bad idea, as it hinders porting from wxWidgets)
Fortunately D has the "alias" keyword, instead of such renamings.

http://wxnet.sourceforge.net/
Post by Gour
Edit: Now I see that wxC is/was project meant to provide basis for
wxEiffel (& wxHaskell) bindings...but seeing it's not really maintained
it seems to be dead end. My proposition is research about the
possibility to do wxD straight from the SWIG and its D support since
present approaches does not, I'm afraid, promise bright future.
If you were to use SWIG, you would still have the same two libraries ?
Just that files would be: example.d + example_im.d, example_wrap.cxx
(as generated by SWIG from your example.i source file and the headers)
whereas they are currently called: wx/Example.d and wxc/example.cpp

http://www.swig.org/Doc2.0/SWIGPlus.html

You would also get all the function-pointer fun (like in Derelict),
why there is the extra intermediary module to hide the dlopen junk.
The wxD code uses regular bindings, so it would just link directly.
But one could probably move the extern(C) declarations, if desired.

http://svn.dsource.org/projects/derelict/trunk/docs/derelictify.html
Post by Gour
Morever, I believe there are not so many wxD-2.8.x applications written
and it's reasonable to start working on 2.9/3.0 not caring much about
older releases.
You could always put it in some namespace, like Derelict/Deimos does ?

The classes already grow an annoying filename addition to their name
anyway, unless you add all the classes to the main wx.d file directly.
So it probably doesn't matter if wxApp is called "deity.wx_.app.App",
as long as you have a top module to import and some reasonable aliases.


When you do the SWIG interface files, you should not use the includes
directly since those have a *lot* of platform/implementation details:

http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk/include/wx/ (1561)

Instead it's better to use the Doxygen interfaces as the basis for .i
Those should focus more on the actual wx API you want to export to D:

http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk/interface/wx/ (350)

--anders
Gour
2011-11-28 13:13:54 UTC
Permalink
On Mon, 28 Nov 2011 12:20:27 +0100
Post by Anders F Björklund
You'll need to read the entire thing.
http://wxd.sourceforge.net/#libraries
Ahh, thank you. Somehow I did miss it. :-(
Post by Anders F Björklund
So wxD (the project) consists of two sub-libraries: wxc and wxd.
Whether it's libwxc.a or wxc.lib depends on the platform/compiler.
OK.
Post by Anders F Björklund
If you were to use SWIG, you would still have the same two libraries ?
Just that files would be: example.d + example_im.d, example_wrap.cxx
(as generated by SWIG from your example.i source file and the headers)
whereas they are currently called: wx/Example.d and wxc/example.cpp
OK; but do you consider it would be better not to depend on wx.NET?
Post by Anders F Björklund
The classes already grow an annoying filename addition to their name
anyway, unless you add all the classes to the main wx.d file directly.
So it probably doesn't matter if wxApp is called "deity.wx_.app.App",
as long as you have a top module to import and some reasonable
aliases.
Right. My main concern is just whether it is more feasible to provide
wxD directly using SWIG'S D capability.
Post by Anders F Björklund
When you do the SWIG interface files, you should not use the includes
I believe that those things should be taken care of by e.g. cmake.
Post by Anders F Björklund
Instead it's better to use the Doxygen interfaces as the basis for .i
Yes. WxPython will also use info from Doxygen.

So, is wxD going to continue like now, or do you envision some change
how to proceed for wx-2.9/3.=?


Sincerely,
Gour
--
A person who is not disturbed by the incessant flow of
desires ? that enter like rivers into the ocean, which is
ever being filled but is always still ? can alone achieve
peace, and not the man who strives to satisfy such desires.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111128/a80a4c0b/attachment.pgp>
Anders F Björklund
2011-11-28 15:18:33 UTC
Permalink
Post by Gour
Post by Anders F Björklund
If you were to use SWIG, you would still have the same two libraries ?
Just that files would be: example.d + example_im.d, example_wrap.cxx
(as generated by SWIG from your example.i source file and the headers)
whereas they are currently called: wx/Example.d and wxc/example.cpp
OK; but do you consider it would be better not to depend on wx.NET?
At this point in time it doesn't matter, the generated files are
different even if the scripts to generate them are somewhat similar.
The API is also different, from the different languages used and
from this recent push to rename things to be more like rest of .NET.

So it's not really dependent on wx.NET now, even if the wx-c-gen.pl
script and a few other translation details were reused and adapted ?
Other bindings, for instance for SDL and for OpenGL, were generated
by similar perl scripts operating on the original C/C++ header files.
Post by Gour
Post by Anders F Björklund
The classes already grow an annoying filename addition to their name
anyway, unless you add all the classes to the main wx.d file directly.
So it probably doesn't matter if wxApp is called "deity.wx_.app.App",
as long as you have a top module to import and some reasonable aliases.
Right. My main concern is just whether it is more feasible to provide
wxD directly using SWIG'S D capability.
Easiest way to tell is to start wrapping a couple of classes, to see ?

%module object

%{
#include "include/wx/object.h"
%}

%include "interface/wx/object.h"

And then use `swig -d -d2 -c++ -outcurrentdir wx/object.i` to generate.

Probably need some kind of namespace workaround to create the modules
as "wx.object" rather than just "object" or to convert the "wxObject".

Eventually it should use <wx/object.h> and copy/fix the interface, but.


Here's a more complete example of what it would look like in the end:

http://svn.wxwidgets.org/svn/wx/wxPython/trunk/src/
http://wxruby.rubyforge.org/svn/trunk/wxruby/swig/classes/

Even using SWIG, there's a whole lot of code that needs to be written.
Post by Gour
Post by Anders F Björklund
When you do the SWIG interface files, you should not use the includes
I believe that those things should be taken care of by e.g. cmake.
Linking is a whole other issue, this was "just" for determining the
interface files for SWIG (the .i). Probably by combining both wx/*.h ?
Post by Gour
Post by Anders F Björklund
Instead it's better to use the Doxygen interfaces as the basis for .i
Yes. WxPython will also use info from Doxygen.
I think it would be needed to translate it to DDoc for it to be allowed,
but wxD also makes use of Doxygen as can be seen from the API reference.
Post by Gour
So, is wxD going to continue like now, or do you envision some change
how to proceed for wx-2.9/3.=?
I don't plan to do anything with it, I put it up on github so that it
could be forked and maintained if there are any bugfixes etc needed...

Both wxWidgets and Code::Blocks are Open Source, so if you want to
continue to base the GUI and IDE for the D programming language on
those there's plenty of things that could be improved for either...
The same goes for GCC (and LDC), of course. Maybe even for DMD too.

The wxWidgets roadmap says "We hope to make 3.0 in the spring of 2012."
But as mentioned earlier, using 2.9 should be just fine before that ?

It's perfectly doable to continue to use the current wxd.sourceforge.net
even with wx 3.0 and D 2.0, so I think I will just leave that up as-is.
Ditto for the GDC binaries there, that probably need updating both for
64-bit and for D 2 as well as for newer versions of GCC and of the OS.

When starting up the "wxD2" or "$deity" - or whatever the new project
would be named, it could probably do more changes than just use SWIG ?

--anders
Gour
2011-11-28 17:28:53 UTC
Permalink
On Mon, 28 Nov 2011 16:18:33 +0100
Post by Anders F Björklund
At this point in time it doesn't matter, the generated files are
different even if the scripts to generate them are somewhat similar.
The API is also different, from the different languages used and
from this recent push to rename things to be more like rest of .NET.
OK.
Post by Anders F Björklund
Easiest way to tell is to start wrapping a couple of classes, to see ?
[...]
Post by Anders F Björklund
http://svn.wxwidgets.org/svn/wx/wxPython/trunk/src/
http://wxruby.rubyforge.org/svn/trunk/wxruby/swig/classes/
Thank you.
Post by Anders F Björklund
Even using SWIG, there's a whole lot of code that needs to be written.
Sure. We just wonder if using route will be more effective in the long
run?
Post by Anders F Björklund
I don't plan to do anything with it, I put it up on github so that it
could be forked and maintained if there are any bugfixes etc needed...
OK.
Post by Anders F Björklund
Both wxWidgets and Code::Blocks are Open Source, so if you want to
continue to base the GUI and IDE for the D programming language on
those there's plenty of things that could be improved for either...
Well, for IDE, I'll probably use Geany. As far as GUI-part is concerned,
depending on the toolkit we choose. we'd just use some GUI builder (each
toolkit has some.)
Post by Anders F Björklund
The wxWidgets roadmap says "We hope to make 3.0 in the spring of
2012." But as mentioned earlier, using 2.9 should be just fine before
that ?
Yes. Afaik, the major part of new wx-3.0 stuff is already in 2.9.
Post by Anders F Björklund
It's perfectly doable to continue to use the current
wxd.sourceforge.net even with wx 3.0 and D 2.0, so I think I will
just leave that up as-is.
OK.
Post by Anders F Björklund
When starting up the "wxD2" or "$deity" - or whatever the new project
would be named, it could probably do more changes than just use SWIG ?
Thank you for making it clear. ;)


Sincerely,
Gour
--
When your intelligence has passed out of the dense forest
of delusion, you shall become indifferent to all that has
been heard and all that is to be heard.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111128/249468ae/attachment.pgp>
Anders F Björklund
2011-11-28 20:01:38 UTC
Permalink
Post by Gour
Post by Anders F Björklund
http://svn.wxwidgets.org/svn/wx/wxPython/trunk/src/
http://wxruby.rubyforge.org/svn/trunk/wxruby/swig/classes/
Thank you.
Of course, you don't *have* to wrap all the classes or methods ?
One could start with the ones that are likely to be used from D.
Post by Gour
Post by Anders F Björklund
Even using SWIG, there's a whole lot of code that needs to be written.
Sure. We just wonder if using route will be more effective in the long
run?
Automation is surely the way to go, the only question is whether it
should be a custom script or if a (patched?) SWIG would be better.

BTW:
If it helps, there's a Doxygen parser (for the XML output) in the
docs/doxygen/scripts directory that could be used to start it off:

cd docs/doxygen
./regen.sh xml
python scripts/make_bindings.py --swig --output_dir=bindings \
out/xml/classwx_app.xml

The generated SWIG bindings are for wxPython, but I suppose you
could adopt the swig_tools.SWIGBuilder to generate some D SWIG ?

python scripts/doxymlparser.py --report out/xml/classwx_app.xml
Post by Gour
Post by Anders F Björklund
I don't plan to do anything with it, I put it up on github so that it
could be forked and maintained if there are any bugfixes etc needed...
OK.
Post by Anders F Björklund
It's perfectly doable to continue to use the current
wxd.sourceforge.net even with wx 3.0 and D 2.0, so I think I will
just leave that up as-is.
OK.
Just that I won't have much time to actually maintain it, myself.
Post by Gour
Post by Anders F Björklund
When starting up the "wxD2" or "$deity" - or whatever the new project
would be named, it could probably do more changes than just use SWIG ?
Thank you for making it clear. ;)
Whether it's about hosting or organization, or something different.

--anders
Gour
2011-11-28 20:36:20 UTC
Permalink
On Mon, 28 Nov 2011 21:01:38 +0100
Post by Anders F Björklund
Of course, you don't *have* to wrap all the classes or methods ?
One could start with the ones that are likely to be used from D.
Well, it is still big project and not so easy to say what needed.

In any case, substantial part has to be bound in order to get into
writing multi-platform desktop app.
Post by Anders F Björklund
Automation is surely the way to go, the only question is whether it
should be a custom script or if a (patched?) SWIG would be better.
That's hard for me to say.
Post by Anders F Björklund
If it helps, there's a Doxygen parser (for the XML output) in the
cd docs/doxygen
./regen.sh xml
python scripts/make_bindings.py --swig --output_dir=bindings \
out/xml/classwx_app.xml
The generated SWIG bindings are for wxPython, but I suppose you
could adopt the swig_tools.SWIGBuilder to generate some D SWIG ?
I'll take a look to see if it makes sense to me. :)
Post by Anders F Björklund
Just that I won't have much time to actually maintain it, myself.
I'm also not capable to lead such project and would have to take that
into consideration when deciding which GUI toolkit to use with D.

In any case, for now, I plan to learn more D, master some CMake and
start playing with SWIG in order to provide bindings for 3rd party C
library which we'll use.

Then, in the meantime, maybe there will be more clear which toolkit is
optimal to use when writing desktop app in D *today*.


Sincerely,
Gour
--
One who restrains his senses, keeping them under full control,
and fixes his consciousness upon Me, is known as a man of
steady intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111128/82d121af/attachment.pgp>
Anders F Björklund
2011-11-28 21:55:10 UTC
Permalink
Post by Gour
Post by Anders F Björklund
Just that I won't have much time to actually maintain it, myself.
I'm also not capable to lead such project and would have to take that
into consideration when deciding which GUI toolkit to use with D.
In any case, for now, I plan to learn more D, master some CMake and
start playing with SWIG in order to provide bindings for 3rd party C
library which we'll use.
I'm no fan of either, and prefer plain import modules and libs over
function pointers and complex tools. But I guess that was obvious.
Post by Gour
Then, in the meantime, maybe there will be more clear which toolkit is
optimal to use when writing desktop app in D *today*.
Well, I believe you had the officially supported DWT and QtD plus
the also available GtkD and wxD. Didn't seem like a bad selection ?

All four of those are well supported toolkits, _upstream_ that is.
Either GUI should do the trick for writing a desktop application.


But even if Phobos/Deimos would have something like Tk (or FLTK)
integrated, it probably wouldn't be accepted as a real solution.

That is, just for being too ugly or too grey or something similar.

Something like "MinWin" or Lucid seemed like a good idea to have
in the standard D library, just a small native wrapper for GUI...

But before that happens, you're stuck with the third party efforts.


Now, why would you want to use D as your language(s) rather than
C, Python, Java ? Or even C++. That was the real question for me.

There has to be enough advantages to overcome the shortcomings,
which in the end wasn't true when making desktop apps (or games).

--anders
Gour
2011-11-29 06:37:53 UTC
Permalink
On Mon, 28 Nov 2011 22:55:10 +0100
Post by Anders F Björklund
I'm no fan of either, and prefer plain import modules and libs over
function pointers and complex tools.
Well, my belief is that tools can help when maintaining bindings, iow.
when one has to keep the API up-to-date.

Of course, my experience was with c2hs (Haskell) where it was easy to
notice change in the upstream's API.

However, we'll try with SWIG.
Post by Anders F Björklund
But I guess that was obvious.
It is.
Post by Anders F Björklund
Well, I believe you had the officially supported DWT
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
Post by Anders F Björklund
and QtD plus the also available GtkD and wxD. Didn't seem like a bad
selection ?
I already wrote about that in another thread...nice selection, but not
so great support.
Post by Anders F Björklund
All four of those are well supported toolkits, _upstream_ that is.
Either GUI should do the trick for writing a desktop application.
Upstream was never meant as part of the problem which is on the D-side.
:-)
Post by Anders F Björklund
But even if Phobos/Deimos would have something like Tk (or FLTK)
integrated, it probably wouldn't be accepted as a real solution.
Right.
Post by Anders F Björklund
That is, just for being too ugly or too grey or something similar.
Or too light perhaps. ;)
Post by Anders F Björklund
Now, why would you want to use D as your language(s) rather than
C, Python, Java ? Or even C++. That was the real question for me.
Because I want to work on open-source project in my spare time and that
should have some component of 'fun'...C & C++ are not falling into that
category, I don't know nor like Java, not inspired about Lisp-languages,
Haskell is too-theoretical...which leaves me with the Python, but I find
D as sweet spot between scripting languages & C(++). Moreover, it will
be bigger project which would need longer maintainance and we believe
that although D is not maybe completely ready today, it will be soon
enough, so we can start working by writing non-GUI libs for the project.
Post by Anders F Björklund
There has to be enough advantages to overcome the shortcomings,
which in the end wasn't true when making desktop apps (or games).
"De gustibus non est disputandum..."



Sincerely,
Gour
--
One who is able to withdraw his senses from sense objects,
as the tortoise draws its limbs within the shell,
is firmly fixed in perfect consciousness.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/e596486f/attachment-0001.pgp>
Jacob Carlborg
2011-11-29 07:44:00 UTC
Permalink
Post by Gour
On Mon, 28 Nov 2011 22:55:10 +0100
Post by Anders F Björklund
I'm no fan of either, and prefer plain import modules and libs over
function pointers and complex tools.
Well, my belief is that tools can help when maintaining bindings, iow.
when one has to keep the API up-to-date.
Of course, my experience was with c2hs (Haskell) where it was easy to
notice change in the upstream's API.
However, we'll try with SWIG.
Post by Anders F Björklund
But I guess that was obvious.
It is.
Post by Anders F Björklund
Well, I believe you had the officially supported DWT
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
DWT is not officially supported. A couple of years ago Walter announced
that DWT was going to be the official GUI library for D but that was one
of the previous attempts to port SWT to D. When that happened the
development of DWT stopped. I guess it was just bad timing but since
that Walter has been very reluctant in doing something similar again.
--
/Jacob Carlborg
Anders F Björklund
2011-11-29 07:57:43 UTC
Permalink
Post by Jacob Carlborg
Post by Gour
Post by Anders F Björklund
Well, I believe you had the officially supported DWT
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
DWT is not officially supported. A couple of years ago Walter announced
that DWT was going to be the official GUI library for D but that was one
of the previous attempts to port SWT to D. When that happened the
development of DWT stopped. I guess it was just bad timing but since
that Walter has been very reluctant in doing something similar again.
Right, that was the DWT version I meant (the non-Tango variant)

Guess it happened again with QtD, after recommended by Andrei ?

--anders

* In "The Case for D":
http://drdobbs.com/high-performance-computing/217801225
Jacob Carlborg
2011-11-29 12:27:01 UTC
Permalink
Post by Anders F Björklund
Post by Jacob Carlborg
Post by Gour
Post by Anders F Björklund
Well, I believe you had the officially supported DWT
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
DWT is not officially supported. A couple of years ago Walter announced
that DWT was going to be the official GUI library for D but that was one
of the previous attempts to port SWT to D. When that happened the
development of DWT stopped. I guess it was just bad timing but since
that Walter has been very reluctant in doing something similar again.
Right, that was the DWT version I meant (the non-Tango variant)
Guess it happened again with QtD, after recommended by Andrei ?
--anders
http://drdobbs.com/high-performance-computing/217801225
Hehe, D and GUI libraries don't seem to agree.
--
/Jacob Carlborg
Jacob Carlborg
2011-11-29 07:47:01 UTC
Permalink
Post by Gour
On Mon, 28 Nov 2011 22:55:10 +0100
Post by Anders F Björklund
I'm no fan of either, and prefer plain import modules and libs over
function pointers and complex tools.
Well, my belief is that tools can help when maintaining bindings, iow.
when one has to keep the API up-to-date.
Of course, my experience was with c2hs (Haskell) where it was easy to
notice change in the upstream's API.
However, we'll try with SWIG.
Post by Anders F Björklund
But I guess that was obvious.
It is.
Post by Anders F Björklund
Well, I believe you had the officially supported DWT
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
BTW, I don't understand what people has against DWT/SWT. In my
experience it's the toolkit that offers best native look and feeling.
Note that I have no experience with wx but the screenshots on the site
looks really bad.
--
/Jacob Carlborg
Anders F Björklund
2011-11-29 08:09:15 UTC
Permalink
Post by Jacob Carlborg
Post by Gour
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
BTW, I don't understand what people has against DWT/SWT. In my
experience it's the toolkit that offers best native look and feeling.
One advantage of DWT is/was that it linked directly with the system.
With wxWidgets (in wxD), there is the C++ framework layer inbetween.

But other than that, the two should be rather similar in look/feel ?
At least when compared to GTK+ or Qt, using their own custom widgets.
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the site
looks really bad.
What site is that ? Is it one of these:

http://www.wxwidgets.org/about/screensh.htm

http://wxd.sourceforge.net/screenshot.html

http://wxd.sourceforge.net/#screenshots

It's not supposed to look much different, from other native apps.
The easiest way to see is trying the wxWidgets binaries yourself:

http://wxd.sourceforge.net/#demo

--anders
Jacob Carlborg
2011-11-29 12:39:42 UTC
Permalink
Post by Anders F Björklund
Post by Jacob Carlborg
Post by Gour
I'm not so sure DWT is either officially supported or in the same league
as other toolkits. World of SWT is not thrilling...
BTW, I don't understand what people has against DWT/SWT. In my
experience it's the toolkit that offers best native look and feeling.
One advantage of DWT is/was that it linked directly with the system.
With wxWidgets (in wxD), there is the C++ framework layer inbetween.
But other than that, the two should be rather similar in look/feel ?
At least when compared to GTK+ or Qt, using their own custom widgets.
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the site
looks really bad.
http://www.wxwidgets.org/about/screensh.htm
http://wxd.sourceforge.net/screenshot.html
http://wxd.sourceforge.net/#screenshots
It's not supposed to look much different, from other native apps.
http://wxd.sourceforge.net/#demo
--anders
All the Mac OS X images on this site look horrible:
http://www.wxwidgets.org/about/screensh.htm

But that might be a problem with the applications and not the toolkit.
And the images are so horrible outdated. What version of Mac OS X is
that, 10.3?

BTW, how is the support for Mac OS X specific "widgets" that are usually
not available on other platforms, like:

* Dialog sheets
* Unified toolbar
* Adding menu items to the dock icon
* Adding menu items to the application menu (or what it's called)

I tried to run the demo, it requires Rosetta, that was a couple of
versions ago of Mac OS X.
--
/Jacob Carlborg
Gour
2011-11-29 13:35:48 UTC
Permalink
On Tue, 29 Nov 2011 13:39:42 +0100
Post by Jacob Carlborg
BTW, how is the support for Mac OS X specific "widgets" that are
No idea. I know only that wxOSX port supporting Cocoa is a new one.


Sincerely,
Gour
--
One who restrains his senses, keeping them under full control,
and fixes his consciousness upon Me, is known as a man of
steady intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/931710e7/attachment-0001.pgp>
Jacob Carlborg
2011-11-29 14:58:34 UTC
Permalink
Post by Gour
On Tue, 29 Nov 2011 13:39:42 +0100
Post by Jacob Carlborg
BTW, how is the support for Mac OS X specific "widgets" that are
No idea. I know only that wxOSX port supporting Cocoa is a new one.
Then I would guess no. It's the same thing with SWT/DWT. When SWT 3.4
was developed the Cocoa port was started and it didn't get all these
widgets until 3.7. Eclipse still doesn't use the native toolbar for example.
--
/Jacob Carlborg
Marco Leise
2011-11-29 08:16:09 UTC
Permalink
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the site
looks really bad.
Take a look at Code::Blocks for an example. I think it is one of the most
sophisticated applications written with wxWidgets. I used to have trouble
with the XML GUI definitions though. Somehow they took ages for me to load
and generate the UI on Linux, but not on Windows. So I am biased slightly
against wx with XML or XRC or what they are called.

The images to the right http://eclipse.org/swt/ remind me of some
discussion we had here. Anyway I'm fine with SWT, too and used gtkD
previously. I think it looks good and is small by itself, relying mostly
on functionality from the Java library where C++ libraries like QT tend to
build up a large general purpose code base.
Gour
2011-11-29 08:26:31 UTC
Permalink
On Tue, 29 Nov 2011 09:16:09 +0100
Post by Marco Leise
Take a look at Code::Blocks for an example. I think it is one of the
most sophisticated applications written with wxWidgets. I used to
have trouble with the XML GUI definitions though. Somehow they took
ages for me to load and generate the UI on Linux, but not on Windows.
That's strange and it is the first time I heard something like that.

Two days ago I also asked on wxWidgets list if using XRC is kind of
idiomatic within wxWidgets community and Vadim Zeitlin (one of the core
devs) replied:

"Personally I've never really understood the appeal of compiling into code
and whenever I use XRC I load it during run-time. Perhaps you can gain some
minor performance advantage from compiling it into code (although I don't
know if anybody has ever really measured this) but using XRC is much more
flexible as you can tweak it without recompiling/rebuilding and often even
without restarting the program so I'd definitely recommend using it as is,
at least in the beginning."
Post by Marco Leise
So I am biased slightly against wx with XML or XRC or what they are
called.
I'd say your experience is probably not the accurate representation. Was
your problem with slow loading when using C++ or wxD?


Sincerely,
Gour
--
In the material world, one who is unaffected by whatever good
or evil he may obtain, neither praising it nor despising it,
is firmly fixed in perfect knowledge.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/1f3477b1/attachment-0001.pgp>
Marco Leise
2011-11-29 08:58:36 UTC
Permalink
Post by Gour
On Tue, 29 Nov 2011 09:16:09 +0100
Post by Marco Leise
Take a look at Code::Blocks for an example. I think it is one of the
most sophisticated applications written with wxWidgets. I used to
have trouble with the XML GUI definitions though. Somehow they took
ages for me to load and generate the UI on Linux, but not on Windows.
That's strange and it is the first time I heard something like that.
Two days ago I also asked on wxWidgets list if using XRC is kind of
idiomatic within wxWidgets community and Vadim Zeitlin (one of the core
"Personally I've never really understood the appeal of compiling into code
and whenever I use XRC I load it during run-time. Perhaps you can gain some
minor performance advantage from compiling it into code (although I don't
know if anybody has ever really measured this) but using XRC is much more
flexible as you can tweak it without recompiling/rebuilding and often even
without restarting the program so I'd definitely recommend using it as is,
at least in the beginning."
Post by Marco Leise
So I am biased slightly against wx with XML or XRC or what they are
called.
I'd say your experience is probably not the accurate representation. Was
your problem with slow loading when using C++ or wxD?
Sincerely,
Gour
Precisely this: http://forums.codeblocks.org/index.php/topic,13660.0.html
And debugging this lead me to the line where the XRC is parsed. It may
after all have been an issue with my system / the xml library / gtk /
compiz / etc... The experience just left a bad taste for me.
Gour
2011-11-29 09:19:17 UTC
Permalink
On Tue, 29 Nov 2011 09:58:36 +0100
http://forums.codeblocks.org/index.php/topic,13660.0.html And
debugging this lead me to the line where the XRC is parsed. It may
after all have been an issue with my system / the xml library / gtk /
compiz / etc... The experience just left a bad taste for me.
I can understand there is bad taste, but isn't it the problem of
Code:Blocks?

Have you tried using e.g. DialogBlocks and see how it behaves?


Sincerely,
Gour
--
While contemplating the objects of the senses, a person
develops attachment for them, and from such attachment lust
develops, and from lust anger arises.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/d3814695/attachment.pgp>
Marco Leise
2011-11-29 10:05:15 UTC
Permalink
Post by Gour
On Tue, 29 Nov 2011 09:58:36 +0100
http://forums.codeblocks.org/index.php/topic,13660.0.html And
debugging this lead me to the line where the XRC is parsed. It may
after all have been an issue with my system / the xml library / gtk /
compiz / etc... The experience just left a bad taste for me.
I can understand there is bad taste, but isn't it the problem of
Code:Blocks?
Have you tried using e.g. DialogBlocks and see how it behaves?
Sincerely,
Gour
Since the time was spent in the call to the XRC parser and it works fast
on Windows and other people's Linux boxes, I think it is a problem outside
of Code::Blocks. I haven't looked into any other wxWidgets applications,
no. I think it is a good library in general though from what I've heard,
so keep the arguments coming :)
Gour
2011-11-29 11:12:15 UTC
Permalink
On Tue, 29 Nov 2011 11:05:15 +0100
Post by Marco Leise
I think it is a good library in general though from what I've heard,
so keep the arguments coming :)
It's definitely nice library, mature, owned by open-source community,
with license suitable for commercial projects, supporting native
widgets...but that's not the problem - wxD is too big for me to work on
it and therefore no need for further arguments. ;)


Sincerely,
Gour
--
One who is able to withdraw his senses from sense objects,
as the tortoise draws its limbs within the shell,
is firmly fixed in perfect consciousness.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/d568c8c8/attachment.pgp>
Jacob Carlborg
2011-11-29 12:43:53 UTC
Permalink
Post by Marco Leise
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the site
looks really bad.
Take a look at Code::Blocks for an example. I think it is one of the
most sophisticated applications written with wxWidgets. I used to have
trouble with the XML GUI definitions though. Somehow they took ages for
me to load and generate the UI on Linux, but not on Windows. So I am
biased slightly against wx with XML or XRC or what they are called.
I'll have a look at Code::Blocks.
Post by Marco Leise
The images to the right http://eclipse.org/swt/ remind me of some
discussion we had here. Anyway I'm fine with SWT, too and used gtkD
previously. I think it looks good and is small by itself, relying mostly
on functionality from the Java library where C++ libraries like QT tend
to build up a large general purpose code base.
I know these images are not the best but at least they look better than
wxWidget's.
--
/Jacob Carlborg
Jacob Carlborg
2011-11-29 12:59:35 UTC
Permalink
Post by Marco Leise
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the site
looks really bad.
Take a look at Code::Blocks for an example. I think it is one of the
most sophisticated applications written with wxWidgets. I used to have
trouble with the XML GUI definitions though. Somehow they took ages for
me to load and generate the UI on Linux, but not on Windows. So I am
biased slightly against wx with XML or XRC or what they are called.
I took a quick look at Code::Blocks and it doesn't look very good (on
Mac OS X), but again, it might be the application and not the toolkit.
But what I can see is that it doesn't have a unified toolbar. On the
other hand neither does Eclipse, but at least SWT supports unified toolbars.
--
/Jacob Carlborg
Gour
2011-11-29 08:19:05 UTC
Permalink
On Tue, 29 Nov 2011 08:47:01 +0100
Post by Jacob Carlborg
BTW, I don't understand what people has against DWT/SWT.
First of all, I don't have any experience and as I wrote in another
thread, looking at http://www.eclipse.org/swt/community.php - Ports
section does not boost enthusiasm:

- Fox port last news dated Sep 16, 2005
- Swing port - 2007-08-20
- D port based on 3.4 while 3.8 is in active development.

Moreover, list of SWT-based apps tends to be quite short.
Post by Jacob Carlborg
In my experience it's the toolkit that offers best native look and
feeling.
It could be, but it is, somehow, not very well accepted.
Post by Jacob Carlborg
Note that I have no experience with wx but the screenshots on the
site looks really bad.
I don't understand - if wxWidgets use native widgets on Windows, Linux
and Mac OS X what can be bad then?

SWT does support, afaik, same toolkits on every platform as wxWidgets?



Sincerely,
Gour
--
Never was there a time when I did not exist,
nor you, nor all these kings; nor in the future
shall any of us cease to be.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/de232e2b/attachment.pgp>
Marco Leise
2011-11-29 09:25:32 UTC
Permalink
Post by Gour
On Tue, 29 Nov 2011 08:47:01 +0100
Post by Jacob Carlborg
BTW, I don't understand what people has against DWT/SWT.
First of all, I don't have any experience and as I wrote in another
thread, looking at http://www.eclipse.org/swt/community.php - Ports
- Fox port last news dated Sep 16, 2005
- Swing port - 2007-08-20
- D port based on 3.4 while 3.8 is in active development.
Moreover, list of SWT-based apps tends to be quite short.
Post by Jacob Carlborg
In my experience it's the toolkit that offers best native look and
feeling.
It could be, but it is, somehow, not very well accepted.
I have two ideas why:
1. It is written in Java instead of C, which makes it impossible to write
bindings for Python or C++.
2. Java started with AWT. Later Swing was introduced as an alternative,
which satisfied those who found AWT lacking in some aspects. So today
you'd really have to read something like this
http://www.ibm.com/developerworks/grid/library/os-swingswt/ to learn about
the key differences between the three and eventually decide to move on to
SWT.

Your are practically merging two isolated worlds in your comparison: Java
platform vs. the rest; [AWT, Swing, SWT] vs. [GTK+, QT, wxWidgets, ...]
It's probably comparable to the acceptance of D in a forum for embedded
developers.

I'm just thinking, that whatever toolkit has the fewest dependencies while
offering the most used widgets has the best chances to make it into Phobos
one day - if that is still desired.
Jacob Carlborg
2011-11-29 14:28:56 UTC
Permalink
Java platform vs. the rest; [AWT, Swing, SWT] vs. [GTK+, QT, wxWidgets,
...]
But since DWT is a port of SWT (completely written in D) I think it's
fair to compare SWT/DWT to gtk, qt and wxwidgets.
It's probably comparable to the acceptance of D in a forum for embedded
developers.
I'm just thinking, that whatever toolkit has the fewest dependencies
while offering the most used widgets has the best chances to make it
into Phobos one day - if that is still desired.
As far as I know DWT is the only toolkit that does not require any
external dependencies (except the functions provided by the OS).
--
/Jacob Carlborg
Gour
2011-11-29 15:50:22 UTC
Permalink
On Tue, 29 Nov 2011 15:28:56 +0100
Post by Jacob Carlborg
But since DWT is a port of SWT (completely written in D) I think it's
fair to compare SWT/DWT to gtk, qt and wxwidgets.
I tend to agreei, but wonder how much of the binding process can be
automated or it could be done by hand only?
Post by Jacob Carlborg
As far as I know DWT is the only toolkit that does not require any
external dependencies (except the functions provided by the OS).
That's strong point...Maybe I should, at least, try to compile it and
check how it looks...


Sincerely,
Gour
--
In this endeavor there is no loss or diminution,
and a little advancement on this path can protect
one from the most dangerous type of fear.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/2fc78f25/attachment.pgp>
Jacob Carlborg
2011-11-29 16:04:16 UTC
Permalink
Post by Gour
On Tue, 29 Nov 2011 15:28:56 +0100
Post by Jacob Carlborg
But since DWT is a port of SWT (completely written in D) I think it's
fair to compare SWT/DWT to gtk, qt and wxwidgets.
I tend to agreei, but wonder how much of the binding process can be
automated or it could be done by hand only?
There's a project at dsource.org called Tioport, that tried to automated
the process of port SWT to D. But the author gave up that project and
started to manually port SWT instead. It turned out that you would need
to port a large part of the Java standard library.

There's also a C++ port of SWT available. It uses NewJ which implements
the core Java API in C++.

http://www.pure-native.com/swtcpp/index.html

If you have basically the whole Java standard library (or the core APIs)
ported to D it would be a lot easier to automate the port.
Post by Gour
Post by Jacob Carlborg
As far as I know DWT is the only toolkit that does not require any
external dependencies (except the functions provided by the OS).
That's strong point...Maybe I should, at least, try to compile it and
check how it looks...
I recommend you give it a try.
--
/Jacob Carlborg
Jacob Carlborg
2011-11-29 13:13:26 UTC
Permalink
Post by Gour
I don't understand - if wxWidgets use native widgets on Windows, Linux
and Mac OS X what can be bad then?
These multi-platform toolkits seems to be usually targeted to Windows or
Linux and are often missing "widgets" that are only available on Mac OS
X, like unified toolbars and dialog sheets.
--
/Jacob Carlborg
Anders F Björklund
2011-11-29 08:01:30 UTC
Permalink
Post by Gour
Post by Anders F Björklund
All four of those are well supported toolkits, _upstream_ that is.
Either GUI should do the trick for writing a desktop application.
Upstream was never meant as part of the problem which is on the D-side.
:-)
True that. I suppose that part of the problem is that C++ doesn't link
with anything else, unless you bother to do an extern "C" interface ?
Post by Gour
Post by Anders F Björklund
But even if Phobos/Deimos would have something like Tk (or FLTK)
integrated, it probably wouldn't be accepted as a real solution.
Right.
Post by Anders F Björklund
That is, just for being too ugly or too grey or something similar.
Or too light perhaps. ;)
That part I'm not so sure about, both toolkits have tons of widgets.
At least when compared to something homegrown and language-specific ?
Post by Gour
Post by Anders F Björklund
Now, why would you want to use D as your language(s) rather than
C, Python, Java ? Or even C++. That was the real question for me.
Because I want to work on open-source project in my spare time and that
should have some component of 'fun'...C& C++ are not falling into that
category, I don't know nor like Java, not inspired about Lisp-languages,
Haskell is too-theoretical...which leaves me with the Python, but I find
D as sweet spot between scripting languages& C(++). Moreover, it will
be bigger project which would need longer maintainance and we believe
that although D is not maybe completely ready today, it will be soon
enough, so we can start working by writing non-GUI libs for the project.
Right. I guess some of that sweetness faded with moving to D1/Tango
and then to D2/Phobos. Or when the GDC project needed more maintenance.

Both problems were fixable (and fixed), just added to the resistance.
And if there's too much effort in practice, then it stops being fun...

But I think that the effort _was_ successful, there was an open source
DMD (GDC), GUI (wxWidgets) and IDE (Code::Blocks) released for D(1) ?

Something more is needed, but what it would be and what it will look
like I don't know. Probably something more close to the new language.
Post by Gour
Post by Anders F Björklund
There has to be enough advantages to overcome the shortcomings,
which in the end wasn't true when making desktop apps (or games).
"De gustibus non est disputandum..."
Or maybe it just doesn't have the same shine that it did, 5 years ago.

--anders
Gour
2011-11-29 08:09:54 UTC
Permalink
On Tue, 29 Nov 2011 09:01:30 +0100
Post by Anders F Björklund
True that. I suppose that part of the problem is that C++ doesn't link
with anything else, unless you bother to do an extern "C" interface ?
Whatever...
Post by Anders F Björklund
Post by Gour
Or too light perhaps. ;)
That part I'm not so sure about, both toolkits have tons of widgets.
At least when compared to something homegrown and language-specific ?
Tk is, well, ugly. Otoh, FOX is C++ with, iirc, Windows-like non-native
look, so what is its advantage over e.g. GTK+?
Post by Anders F Björklund
Right. I guess some of that sweetness faded with moving to D1/Tango
and then to D2/Phobos. Or when the GDC project needed more
maintenance.
Fortunately, I don't have experience with D1 --> D2 issue.
Post by Anders F Björklund
Something more is needed, but what it would be and what it will look
like I don't know. Probably something more close to the new language.
Some more organization and collective effort. DMD/Phobos looks OK now.
Post by Anders F Björklund
Probably something more close to the new language.
I bet it's too early for that. D community cannot even properly
maintaint bindings, what to speak of native GUI lib.

However, having, at least, one bindings with higher-level D-ish API
would be very welcome.
Post by Anders F Björklund
Or maybe it just doesn't have the same shine that it did, 5 years ago.
What?


Sincerely,
Gour
--
A person who has given up all desires for sense gratification,
who lives free from desires, who has given up all sense of
proprietorship and is devoid of false ego ? he alone can
attain real peace.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/2fa14f2f/attachment.pgp>
Anders F Björklund
2011-11-29 08:34:27 UTC
Permalink
Post by Gour
Post by Anders F Björklund
Something more is needed, but what it would be and what it will look
like I don't know. Probably something more close to the new language.
Some more organization and collective effort. DMD/Phobos looks OK now.
I'm sticking with the original business plan:
1. Move to github.com
2. ?
3. Profit!
Post by Gour
Post by Anders F Björklund
Probably something more close to the new language.
I bet it's too early for that. D community cannot even properly
maintaint bindings, what to speak of native GUI lib.
However, having, at least, one bindings with higher-level D-ish API
would be very welcome.
I think the original plan was to build that on top of something.

So you have a straight porting of some general API, and then
another layer on top of that with a more highlevel approach ?

But using all those wrappers-on-wrappers do get a bit "oniony".
Post by Gour
Post by Anders F Björklund
Or maybe it just doesn't have the same shine that it did, 5 years ago.
What?
Using a new shiny language, tends to naturally fade after a while.

--anders
Gour
2011-11-29 09:16:40 UTC
Permalink
On Tue, 29 Nov 2011 09:34:27 +0100
Post by Anders F Björklund
1. Move to github.com
2. ?
3. Profit!
It's a bit puzzling, but I won't beat it further.
Post by Anders F Björklund
I think the original plan was to build that on top of something.
So you have a straight porting of some general API, and then
another layer on top of that with a more highlevel approach ?
Yes, that's logical approach if one approaches from higher-level
language, otherwise, just having a wrapper over C(++) is loss.

That's what I likes in gtk2hs & wxhaskell bindings.
Post by Anders F Björklund
But using all those wrappers-on-wrappers do get a bit "oniony".
gtk2hs provides direct higher-level API.
Post by Anders F Björklund
Using a new shiny language, tends to naturally fade after a while.
Ahh...That's probably the main problem then since "When there is a will,
there is a way."

I spent sufficient time with Haskell that I can appreciate D's blend of
functionality with its elegance and higher-level features, but we need
some spark of functionality as well in the form of GUI, databases etc.


Sincerely,
Gour
--
But a person free from all attachment and aversion and able
to control his senses through regulative principles of
freedom can obtain the complete mercy of the Lord.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/bd87b033/attachment.pgp>
Gerrit Wichert
2011-11-28 22:34:21 UTC
Permalink
Post by Anders F Björklund
Post by Gour
So, is wxD going to continue like now, or do you envision some change
how to proceed for wx-2.9/3.=?
I don't plan to do anything with it, I put it up on github so that it
could be forked and maintained if there are any bugfixes etc needed...
So if i understand you right, the way to keep wxD alive ist to fork your
repository
and continue it as an independent project ?
Andrej Mitrovic
2011-11-28 23:53:20 UTC
Permalink
Honestly I can't even get a simple SWIG project working (the demo from
klickverbot's announcement on his blog). Apparently there's some
const-related issues.

Building the examples that come with swig windows binary doesn't work,
tried it via mingw32-make and via MSYS. Apparently there's a missing
"Makefile" in the root dir. Building SWIG from source doesn't work on
Windows anymore either. ("Swig/misc.c:1119:18: fatal error: pcre.h: No
such file or directory"). So you have a project that is only
maintained on some platforms. (this is the swig-2.0.4 release).

Funnily enough the SVN version from a year ago worked perfectly, but
now an official release doesn't work.

The question is, what if you end up finding a bug in the generated
code? Worst case scenario - you have to fix SWIG itself.

Btw, Johannes Pfau wrapped most of TagLib with SWIG and said the
wrapping process was frustrating.

I quite like the 'wxc' wrapper library, if you screw something up it
doesn't look like too much work to fix it. Obviously you have to write
everything by hand, so it's repetitive work. But at least you get a
readable codebase + you get to statically link with the library.
Gour
2011-11-29 06:54:24 UTC
Permalink
On Tue, 29 Nov 2011 00:53:20 +0100
Post by Andrej Mitrovic
Honestly I can't even get a simple SWIG project working (the demo from
klickverbot's announcement on his blog). Apparently there's some
const-related issues.
Hmm...have you reported the issue to klickverbot?
Post by Andrej Mitrovic
Building the examples that come with swig windows binary doesn't work,
tried it via mingw32-make and via MSYS. Apparently there's a missing
"Makefile" in the root dir. Building SWIG from source doesn't work on
Windows anymore either. ("Swig/misc.c:1119:18: fatal error: pcre.h: No
such file or directory").
Have you submitted report to SWIG devs?
Post by Andrej Mitrovic
So you have a project that is only maintained on some platforms. (this
is the swig-2.0.4 release).
I'll install dev env on my Windows under vbox to check it out.
Post by Andrej Mitrovic
The question is, what if you end up finding a bug in the generated
code? Worst case scenario - you have to fix SWIG itself.
What's the difference if you find bug in DMD?
Post by Andrej Mitrovic
Btw, Johannes Pfau wrapped most of TagLib with SWIG and said the
wrapping process was frustrating.
Well, I'd like to hear more about his experiences...Which version of
SWIG he used?

Otoh, is there better tool for providing bindings which can automate
(some of) the work?
Post by Andrej Mitrovic
I quite like the 'wxc' wrapper library, if you screw something up it
doesn't look like too much work to fix it. Obviously you have to write
everything by hand, so it's repetitive work.
wxC also has to be maintained...As I wrote in another thread, it would
be nice to have stable wxC project so that all language bindings can
profit from it.
Post by Andrej Mitrovic
But at least you get a
readable codebase + you get to statically link with the library.
Let's hope something will change in regard to the linking process.

At the end, the purpose of my posting was to find out what's the status
of current GUI-bindings-related projects in terms of current &
near-future support, so, this is something which one has to take into
consideration despite of upstream status which is OK for the main 3
toolkits (somehow, I do not count much on SWT/DWT.)

Moreover, although wxWidgets has some advantage over the other two related
to offering native look, seeing there is not much initiative to push wxD
forward in the short-term, this thread is closed for me (except if I
don't get signal that using wxWidgets is optimal toolkit for our use in
the *longer-term*.)

Thank you to all for your input.


Sincerely,
Gour
--
You have a right to perform your prescribed duty,
but you are not entitled to the fruits of action.
Never consider yourself the cause of the results
of your activities, and never be attached to not doing your duty.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/7e58e387/attachment.pgp>
Johannes Pfau
2011-11-29 11:04:44 UTC
Permalink
Post by Gour
Post by Andrej Mitrovic
Btw, Johannes Pfau wrapped most of TagLib with SWIG and said the
wrapping process was frustrating.
Well, I'd like to hear more about his experiences...Which version of
SWIG he used?
I think the last version I used was a svn snapshot after the 2.0.2
release. It's not that using swig was especially frustrating, but the
TagLib C++ API offers little over the much simpler C API. So I thought
wrapping the complete C++ API just wasn't worth it.

Some problems I had with swig:

As I was new to swig I had no idea how to organize a big project
consisting of multiple C++ headers. There are questions like include
vs. import; simply editing the C++ headers vs. including the headers and
placing rename directives etc. into own files; how to organize the
project, so that changes to the c++ library can be merged easily...

The swig manual is *huge* and works well as a reference, but a simple
introduction tutorial doesn't exist AFAIK.

It took me some time to get template instances working, somehow I
didn't understand the syntax or whatever.

And there are some 'cosmetic issues' that don't matter for
functionality, but I found these to be annoying:
* IIRC free functions or variables/properties always go into the main
file and it's not possible to place those into a specific namespace
* I think it's the same for template instances and hand written code,
but I'm not sure
* Namespace duplication: Namespaces look like this: "TagLib.APE.APE".
This is needed to support some corner cases where C++
namespaces wouldn't map well to D namespaces otherwise. But
for simple namespaces I'd like to have proper namespaces
("TagLib.APE")
* swig always generates a main module, and IIRC it even has to be a
toplevel module (TagLibBase, not TagLib.Base). And as D doesn't allow
packages and modules to have the same name, it wasn't possible to
simply name this main module "TagLib", so I named it "TagLibD"
instead. But this still sucks, as your namespaces then look like this:

TagLibD
TagLib.TagLib
TagLib.APE.APE
TagLib.ID3v2.ID3v2

Having two different toplevel namespaces especially annoyed me.

However, I'd nevertheless say swig is the best solution to wrap a C++
project unless there's a manually written, well supported C API.

Also, in case you're interested, the source for that TagLib swig
wrapper is here:
https://github.com/jpf91/TagLibD/
--
Johannes Pfau
Anders F Björklund
2011-11-29 06:56:34 UTC
Permalink
Post by Gerrit Wichert
Post by Anders F Björklund
Post by Gour
So, is wxD going to continue like now, or do you envision some change
how to proceed for wx-2.9/3.=?
I don't plan to do anything with it, I put it up on github so that it
could be forked and maintained if there are any bugfixes etc needed...
So if i understand you right, the way to keep wxD alive ist to fork your
repository
and continue it as an independent project ?
The way to keep the project alive was to contribute to SourceForge,
moving the repository to github is to connect with the D community.

Either way, to keep it alive you just need to use it. By using git,
it doesn't matter to which repository the commits are actually done.

--anders
Gour
2011-11-29 08:30:55 UTC
Permalink
On Tue, 29 Nov 2011 07:56:34 +0100
Post by Anders F Björklund
The way to keep the project alive was to contribute to SourceForge,
moving the repository to github is to connect with the D community.
Have you read http://zbowling.github.com/blog/2011/11/25/github/ ?

Github & forks are not panacea if there are not people ready to work
together on the project.

Moreover, your announcement to step down set the tone for the project...


Sincerely,
Gour
--
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/12ec1958/attachment.pgp>
Anders F Björklund
2011-11-29 08:54:40 UTC
Permalink
Post by Gour
Post by Anders F Björklund
The way to keep the project alive was to contribute to SourceForge,
moving the repository to github is to connect with the D community.
Have you read http://zbowling.github.com/blog/2011/11/25/github/ ?
Github& forks are not panacea if there are not people ready to work
together on the project.
Apparently CVS was getting in the way. I was fine with either myself.

Main repo is at http://sourceforge.net/scm/?type=git&group_id=133831
Post by Gour
Moreover, your announcement to step down set the tone for the project...
It's been drifting for a year, I don't think there's any announcement.

All I said was that I don't have the energy to start over with wx3/D2.
The project should be fine for wxWidgets 2.8.12, maybe I just didn't
emphasize that fact enough. It even "works" with 2.9.2 and DMD 2.054,
although not using any of the newer features. That's not too shabby ?

It's been 5 years. http://www.algonet.se/~afb/wx/wxWidgets-Minimal.html

--anders
Gour
2011-11-29 09:07:19 UTC
Permalink
On Tue, 29 Nov 2011 09:54:40 +0100
Post by Anders F Björklund
It's been drifting for a year, I don't think there's any announcement.
Well, on 26th of August you wrote: "I am also stepping down as a
maintainer, including the pre-built GDC distribution
(gdcwin/gdcgnu/gdcmac) and the Code::Blocks support for D." and after
being questioned by Andrej: "Do you mean you're stepping down as the
maintainer of wxd, or just the GDC/CodeBlocks stuff?" your answer was:
"All three. Mostly wxD, but also the others - not using." and your firt
message cited above when all this wxD-thingie has started for me. :-)
Post by Anders F Björklund
All I said was that I don't have the energy to start over with wx3/D2.
I understand you.
Post by Anders F Björklund
The project should be fine for wxWidgets 2.8.12, maybe I just didn't
emphasize that fact enough. It even "works" with 2.9.2 and DMD 2.054,
although not using any of the newer features. That's not too shabby ?
Not at all, but considering wx-3.0 is the future, the project is stalled
at the moment.
Post by Anders F Björklund
It's been 5 years.
http://www.algonet.se/~afb/wx/wxWidgets-Minimal.html
Congratulations!

I was not aware you took care so long for the project. Too bad I was not
around earlier since for me it does not make sense to start developing
wxD application now with 2.8.x.

So, I can only say: "Thank you" for pushing so long alone without proper
support of other members within D community.

Let's hope there will be more interest for GUI in D in the future if D
wants to sell itself on 'practicality' ("D is a multi-paradigm
programming language that combines a principled approach with a focus on
practi?cality.")


Sincerely,
Gour
--
From anger, complete delusion arises, and from delusion
bewilderment of memory. When memory is bewildered,
intelligence is lost, and when intelligence is lost
one falls down again into the material pool.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/bd6b76df/attachment.pgp>
Anders F Björklund
2011-11-29 11:09:02 UTC
Permalink
Post by Gour
Post by Anders F Björklund
It's been drifting for a year, I don't think there's any announcement.
Well, on 26th of August you wrote: "I am also stepping down as a
maintainer, including the pre-built GDC distribution
(gdcwin/gdcgnu/gdcmac) and the Code::Blocks support for D." and after
being questioned by Andrej: "Do you mean you're stepping down as the
"All three. Mostly wxD, but also the others - not using." and your firt
message cited above when all this wxD-thingie has started for me. :-)
Ah, right :-)

I do think it would make more sense if it was maintained by someone
actually using the software on a daily basis, but if nobody steps up
I suppose it could also be left (in the current state) for a while ?
Either would be fine: starting over with SWIG, or keeping Status Quo.
Post by Gour
Post by Anders F Björklund
All I said was that I don't have the energy to start over with wx3/D2.
I understand you.
Post by Anders F Björklund
The project should be fine for wxWidgets 2.8.12, maybe I just didn't
emphasize that fact enough. It even "works" with 2.9.2 and DMD 2.054,
although not using any of the newer features. That's not too shabby ?
Not at all, but considering wx-3.0 is the future, the project is stalled
at the moment.
Right, I guess it's "in maintenance" (without ever leaving Alpha stage).

If the 3.0 release would include a C version, that would change things
since that would mean that some of the SWIG code could be shared with
other language bindings (such as C# or Java, or perhaps Python or Ruby).
Currently each extra language has their own set of SWIG interface files.

--anders
Gour
2011-11-29 14:13:40 UTC
Permalink
On Tue, 29 Nov 2011 12:09:02 +0100
Post by Anders F Björklund
I do think it would make more sense if it was maintained by someone
actually using the software on a daily basis, but if nobody steps up
I suppose it could also be left (in the current state) for a while ?
It can even stay eternally so. :-)
Post by Anders F Björklund
Either would be fine: starting over with SWIG, or keeping Status Quo.
My vote is for former...klickverbot told me that SWIG cannot handle Qz
by itself since it is too complex beast, but wx is possible.
Post by Anders F Björklund
If the 3.0 release would include a C version, that would change things
since that would mean that some of the SWIG code could be shared with
other language bindings (such as C# or Java, or perhaps Python or
Ruby). Currently each extra language has their own set of SWIG
interface files.
I'll ask in wxwidgets if there is plan for something like that.


Sincerely,
Gour
--
As a strong wind sweeps away a boat on the water,
even one of the roaming senses on which the mind
focuses can carry away a man's intelligence.

http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111129/ab0944ec/attachment.pgp>
Continue reading on narkive:
Loading...