Last update December 4, 2006

Unnamed RAD

Information about a RAD tool for DMD+DIG, by CarlosSantander.

I've started to develop a RAD for D (a real one, now) using dig. There are 2 problems: time and tools. Time is an understanding. Tools... well... dig isn't fully usable yet. But I really want to do it in D. So the other idea I have is use an existing tool, develop a RAD fair enough, and develop a new one using the previous as tool (am I too confusing?).

Now, I don't have experience developing RADs, but I believe I need a tool which lets me modify the forms (windows/frames) runtime. So far, the only one I see lets me do that is the .net framework. I tried VB6 and Delphi6 with no success. (note that dig does let me do that... great!).

[ Something important: I started to use Borland C# Builder and it has a PropertyGrid control (actually it's the .net framework). I just have to set the object and all the properties are automagically shown (and modified!). While they're not the same as dig's, but they help a lot. If I do it in dig, I'll have to create that too. ]

I'll try to check this page every other day to see if someone has suggested anything. You can get the first prototype (in D) at, under the Designer section.


There's support for buttons, labels and edittexts, grid fitting (grid and sticky properties), caption and text. Still no code generation, but that could wait a bit.

Ok, changed the design a bit (trying to do what Antonio said, but not quite yet). Added some other basic things. Seems like the design isn't so bad, but that could change.



I'm very found of these RAD tools projects. I started one in java a couple years ago. (should be on some CD somewhere). The funny thing is I never used those tools either profissionaly or other wise...

So I'm willing to contribute (very limited on time, as you can imagine I'm saving my free time for DUI), here are the first two things:

  1. it's not DUI based (grrrr)
  2. it doesn't have an open discussion group independent of the D group.
if you fix the second point we can talk

maybe the final message (excluding announcements) for this rad tool on the d ng could be the location of the new news group...

as for the name: DID IT! D d I interface D designer I intuitive T tool

Hope this new tool will help D. Probably a rad for DUI could be glade-2, glade use to generate pseudo code in same kind of markup language (XML?), so converting it to D/DUI should be much, much easy then creating a new tool.


The main thing I need now is for someone to give me "thumbs up" about the design. So far it seems to be good, but I don't know if it could work when adding more controls and more properties and more features. I mean, I've already changed it a couple of times to support more things (actually this is like the third time that I start), and so far I only have frames and buttons, captions and grid fitting. And I don't know any rad tool which only generates code: they also have editors, so eventually, hopefully, this one will also have one. As for the name, thanks. I'll have it as an option. Newsgroup... I dunno if it's worth it yet. Besides, I don't know where or how I could open one. And finally, I didn't use DUI because, as I previously said in the D ng, I had lots of trouble compiling it, so that fact kind of let me down and I haven't used it much. I like Linux, but it can get so complex sometimes... Once again, thanks. In my site, I'll try to put some information about the advance. In the Wiki4D, me and Helmut are talking mainly about DIG: maybe you can get some information to improve DUI, if you feel like.


The basic idea of wrapping seems good to me. Now, the implementation is all wrong. (well, as I see it, what do I know...)

  • DidWrapper should be a package not a module
  • each wrap should be a module inside the digwrap package
You need to separate the interface from the implementation: create an (or several) interface to define what is your extra control.

Every thing else should evolve around those intefaces not the actual classes. Maybe it will be possible to have a base abstract class to implemente most of the methods on the interface and then subclassing it for each extra control.

I don't know how you did it but probably each extra comtrol should know how to generate it's own code. If you plan things realy well changing the digwapper package would allow the use different toolkits. (I had this idea when revewing fro spelling. it's probably dumb)

(any way I don't think you are going any here with your current implementation of your ideas, again maybe you know better the I do...)

I didn't check the latest version of glade (glade-2) but glade use to generate only the pseudo code. And it didn't have any support for editing the code. (my java tool did have) glade use to came with a couple of code generators from the pseudo code. (once I have time I'll look into generating D/DUI from glade-2, and I'll have all the chances to beet you on the rad race

One of the dificulties you are going to have is to read back the code you generated into the graphical interface. You should think on the glade model (generating a pseudo code intermidiary)

I is more like a kick start to let the ideas flow.

I'ts already to late!!! aren't we changing ideas?...

go to create a profile and start a new group. They are banner supported but work well if you can live with that. If you wich I can create the group for you. just tell me the name for it. I'll not continue this conversation until you do so. please copy all there messages there.

hey, at least you tried! I don't know if the thing even unzips on systems other then mine. I had no feed back at all beside your posts! AFAIK I'm the only person in the entire universe to sucessefully ran DUITests... DUI is living up to is second objective, spreading the word on D. When OpenGL extensions are more complete I'll try to list DUI on the mesa page (sorry I had to include a paragragh on DUI ...

How do we use that? can we move this discussion there?

that would be nice...

FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: December 4, 2006 15:53 (diff))