Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
October 24, 2002 Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
I've put up the first alpha release of my GUI wrapper for Windows. I embarked on this partly because I wanted one and Pavel has disappeared, but largely to teach myself Windows GDI, as someone who's never so much as linked a Windows program before. It's been... a... period of time. The supported widget set is fairly bare, but I think nice to use, courtesy of your friendly neighbourhood "with" statement and delegates. I've put up on-line API documentation. All at: http://www.opend.org/dig (Website) http://www.opend.org/dig/arc/dig-0.0.1.zip (Release) http://www.opend.org/dig/doc (Documentation) You build by running "go.bat". It expects that DMD and DMC are installed in the root directory on the same drive. You build the example by running the "go.bat" in the examples directory. |
October 24, 2002 Re: Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | Burton Radons <loth@users.sourceforge.net> wrote in news:ap7e01$dmd$1 @digitaldaemon.com:
> http://www.opend.org/dig/doc
I'm curious. Did doxygen just work with D
your D source or did you have to do something
to it?
|
October 24, 2002 Re: Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
Posted in reply to Patrick Down | Patrick Down wrote: > Burton Radons <loth@users.sourceforge.net> wrote in news:ap7e01$dmd$1 > @digitaldaemon.com: > > >>http://www.opend.org/dig/doc > > I'm curious. Did doxygen just work with D > your D source or did you have to do something > to it? It just works mostly. Doxygen doesn't understand what it parses; it just picks up keywords and has a faint clue about function arguments. So I have some blocks reading: /+ #ifndef DOXYGEN_SHOULD_SKIP_THIS +/ ... /+ #endif +/ When it needs to go through something that would confuse it; alias, delegate, and extern (Windows), that kind of thing. For alias and delegate I put the C analogue in the nested comment; for example: /+ typedef void (*Method) (Event e); /**< (DELEGATE) Used for dispatch. */ #ifndef DOXYGEN_SHOULD_SKIP_THIS +/ typedef void delegate (Event e) Method; /+ #endif +/ Although now that I think of it you could predefine alias to be typedef; I had no luck trying to fool Doxygen into handling delegates. I also have to set public access mode on classes. But most code just goes in; Doxygen's ignorance is my reward. Oh, one other thing. When you have methods like: void foo (char [] x); This works fine in the brief description, but if the full description is used it comes out like: void foo (charx []); I dislike Doxygen's full description format anyway. Perhaps I can get the author to put in an option to repeat the brief description signature. Oh! And you have to use }; to end classes, structs, and enums, instead of just }. |
October 24, 2002 Re: Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | Cool! (Also glad someone found a great use for the with statement!) "Burton Radons" <loth@users.sourceforge.net> wrote in message news:ap7e01$dmd$1@digitaldaemon.com... > I've put up the first alpha release of my GUI wrapper for Windows. I embarked on this partly because I wanted one and Pavel has disappeared, but largely to teach myself Windows GDI, as someone who's never so much as linked a Windows program before. It's been... a... period of time. > > The supported widget set is fairly bare, but I think nice to use, > courtesy of your friendly neighbourhood "with" statement and delegates. > I've put up on-line API documentation. All at: > > http://www.opend.org/dig (Website) > http://www.opend.org/dig/arc/dig-0.0.1.zip (Release) > http://www.opend.org/dig/doc (Documentation) > > You build by running "go.bat". It expects that DMD and DMC are installed in the root directory on the same drive. You build the example by running the "go.bat" in the examples directory. > |
October 24, 2002 Re: Announce: D GUI Interface (to request for module initializer) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | On first glance: nice library! It sure looks cleaner in D than it would have in most other languages. One thing I noted, is this bit of code for the sample: digInit (); (new Program ()).showModal (); // Run our program. digTerm (); This is such a typical pattern (starting and stopping a global module) that I feel it deserves special language support. This turned into such a big post that I decided it needed its own thread. See thread "request for module initializer". Sean "Burton Radons" <loth@users.sourceforge.net> wrote in message news:ap7e01$dmd$1@digitaldaemon.com... > I've put up the first alpha release of my GUI wrapper for Windows. I embarked on this partly because I wanted one and Pavel has disappeared, but largely to teach myself Windows GDI, as someone who's never so much as linked a Windows program before. It's been... a... period of time. > > The supported widget set is fairly bare, but I think nice to use, > courtesy of your friendly neighbourhood "with" statement and delegates. > I've put up on-line API documentation. All at: > > http://www.opend.org/dig (Website) > http://www.opend.org/dig/arc/dig-0.0.1.zip (Release) > http://www.opend.org/dig/doc (Documentation) > > You build by running "go.bat". It expects that DMD and DMC are installed in the root directory on the same drive. You build the example by running the "go.bat" in the examples directory. |
October 24, 2002 Re: Announce: D GUI Interface (to request for module initializer) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean L. Palmer | Sean L. Palmer wrote: > On first glance: > > nice library! It sure looks cleaner in D than it would have in most other > languages. Thanks. Could I have some suggestions on how to model it? I've seen dismissive criticisms here of pretty much every native GUI library I know of. > One thing I noted, is this bit of code for the sample: > > digInit (); > (new Program ()).showModal (); // Run our program. > digTerm (); > > This is such a typical pattern (starting and stopping a global module) that > I feel it deserves special language support. digInit and digTerm are simply calling the D construction functions (gc_init and _moduleCtor etc.); I use normal static constructors for the library itself. If WinMain is rendered obsolete - one entry point regardless of program type, and D is initialised properly - then these symbols will disappear. |
October 24, 2002 Re: Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | Burton Radons wrote:
> Patrick Down wrote:
>
>> Burton Radons <loth@users.sourceforge.net> wrote in news:ap7e01$dmd$1
>> @digitaldaemon.com:
>>
>>
>>> http://www.opend.org/dig/doc
>>
>>
>> I'm curious. Did doxygen just work with D
>> your D source or did you have to do something
>> to it?
>
>
> It just works mostly. Doxygen doesn't understand what it parses; it just picks up keywords and has a faint clue about function arguments. So I have some blocks reading:
>
I posted a question to the Doxygen mailing list about adding support to
Doxygen for additional languages. It can be done...how difficult really
depends on how close the language is to C/C++ syntax:
1. Doxygen allows for input filters. With it one can convert D into
something more C/C++ like.
2. With some knowledge of flex, one could create a new src/scanner.l
file for D and build support for D into Doxygen.
Given that Burton has already generated documentation from "raw" D
source, both of the above methods should not be too difficult.
Jason
|
October 24, 2002 Re: Announce: D GUI Interface (to request for module initializer) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | I'm no expert in GUI libraries, or I'd offer my opinion. Sorry! Haven't worked with Windows widgets much since Windows 95. Sean "Burton Radons" <loth@users.sourceforge.net> wrote in message news:ap8iq1$2gub$1@digitaldaemon.com... > Sean L. Palmer wrote: > > On first glance: > > > > nice library! It sure looks cleaner in D than it would have in most other > > languages. > > Thanks. Could I have some suggestions on how to model it? I've seen dismissive criticisms here of pretty much every native GUI library I know of. |
October 24, 2002 Re: Announce: D GUI Interface (to request for module initializer) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | "Burton Radons" <loth@users.sourceforge.net> wrote in message news:ap8iq1$2gub$1@digitaldaemon.com... > If WinMain is rendered obsolete - one entry point regardless of program type, [...] That may not be practical. WinMain and main take completely different parameters, and the build system needs to know if it is a console or a gui app in order to flag the executable binary. |
October 25, 2002 Re: Announce: D GUI Interface | ||||
---|---|---|---|---|
| ||||
Posted in reply to Burton Radons | Great stuff. You've sure been working hard in D lately, Burton. Keep up the great work! "Burton Radons" <loth@users.sourceforge.net> wrote in message news:ap7e01$dmd$1@digitaldaemon.com... > I've put up the first alpha release of my GUI wrapper for Windows. I embarked on this partly because I wanted one and Pavel has disappeared, but largely to teach myself Windows GDI, as someone who's never so much as linked a Windows program before. It's been... a... period of time. > > The supported widget set is fairly bare, but I think nice to use, > courtesy of your friendly neighbourhood "with" statement and delegates. > I've put up on-line API documentation. All at: > > http://www.opend.org/dig (Website) > http://www.opend.org/dig/arc/dig-0.0.1.zip (Release) > http://www.opend.org/dig/doc (Documentation) > > You build by running "go.bat". It expects that DMD and DMC are installed in the root directory on the same drive. You build the example by running the "go.bat" in the examples directory. > |
Copyright © 1999-2021 by the D Language Foundation