FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

First DWT compilation is DONE !
Goto page 1, 2  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.     Forum Index -> DWT
View previous topic :: View next topic  
Author Message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Wed Jul 14, 2004 12:51 am    Post subject: First DWT compilation is DONE ! Reply with quote

Wow! I'm very excited to announce it. Smile

I've got compiled sources from \branches\0.1, link stage is failed of course. I had to remove some dwt\widgets\.. to get this result faster.
There are files text.d, toolbar.d, toolitem.d, tracker.d, tree.d, treeitem.d have been temporary removed from my local sources. I need some time to make them compiled.

Some code was commented. Some variables and methods were renamed because of 'name clashing'.

In the couple of days I'll take last sources from the SVN, compare them with mine and will send them to Brad to commit changes.

BWT: makefile eventually started breaking the DMD with AV but Scons script works properly!!
_________________
Regards, Yuriy
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 14, 2004 1:06 am    Post subject: Reply with quote

Cool! Great work! Very Happy

I look forward to seeing the changes.
Back to top
View user's profile Send private message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Wed Jul 14, 2004 1:21 am    Post subject: Reply with quote

JJR wrote:
I look forward to seeing the changes.

I'll send them to Brad asap. I got this result this morning before go to work. Smile I've already taken last sources and will compare them in the night checking my changes with other's changes.

Now it's time to think about event subsystem. I'll look at java code also.
_________________
Regards, Yuriy


Last edited by Blandger on Wed Jul 14, 2004 1:46 am; edited 1 time in total
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 14, 2004 1:26 am    Post subject: Reply with quote

Yeah, the event subsystem does need to be worked out still.

We should discuss the event system in these forums as much as necessary.

I'll try to lend a hand with that solution.
Back to top
View user's profile Send private message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Thu Jul 15, 2004 11:23 pm    Post subject: Reply with quote

I have already sent my compiled DWT sources to Brad. I think he will announce when they are ready in SVN.

Some stuff are not fully converted. dwt\widgets\widget.d needs some additional work, search TODO: marks. There are LRESULT stuff in the sources I changed as
Code:

... return LRESULT.ZERO;
->... return 0;

.. if (result != null) return new LRESULT(code);
->>.. if (result != 0) return code;

I hope it's right.

Makefile DON'T WORK again! It failes with AV. So be ready to use Scons.
Linking fails because of missing LIBs as I can see. Please please please somebody improve Sconstruct file to add them all (windows stuff, swt-win32-xxx.dll?).

Let's discuss event subsystem after you'll try to compile sources.

My first opinion:
1. we should use Event class and all it successors also. The tiny problem D doesn't have 'root classes' as java.util.EventObject (interface). The same is about java.util.EventListener (Interface).
2. it seems we will use Listeners also. They should exist but should be realized differently. Don't you think so?

Now we can start move on trying don't break the code. Although it will be nightmare to debug lib.
_________________
Regards, Yuriy
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Fri Jul 16, 2004 1:52 pm    Post subject: Reply with quote

Blandger wrote:
I have already sent my compiled DWT sources to Brad. I think he will announce when they are ready in SVN.


Okay, When he gets the svn updated, I'll take a look at it.

Blanger wrote:
Some stuff are not fully converted. dwt\widgets\widget.d needs some additional work, search TODO: marks. There are LRESULT stuff in the sources I changed as
Code:

... return LRESULT.ZERO;
->... return 0;

.. if (result != null) return new LRESULT(code);
->>.. if (result != 0) return code;

I hope it's right.


I haven't looked at this yet, so I really have no clue to what's going on.

Blanger wrote:
Makefile DON'T WORK again! It failes with AV. So be ready to use Scons.
Linking fails because of missing LIBs as I can see. Please please please somebody improve Sconstruct file to add them all (windows stuff, swt-win32-xxx.dll?).


Well, I guess I have to figure out how to get Scons working again. It's easy to get running on Linux, but my last weak attempt on windows didn't work. It's unfortunate that there are issues with make. I think every initial project should work with a makefile.

Blanger wrote:
Let's discuss event subsystem after you'll try to compile sources.


Will do.

Blanger wrote:
My first opinion:
1. we should use Event class and all it successors also. The tiny problem D doesn't have 'root classes' as java.util.EventObject (interface). The same is about java.util.EventListener (Interface).
2. it seems we will use Listeners also. They should exist but should be realized differently. Don't you think so?


My opinions were discussed to some extent in the topic "Delegatea and DWT" (notice I made a spelling error there). In there I presented a few of my ideas and reasons for them. I got some feedback but not near as much as I had hoped for. My timing was bad then because few were involved in that stage of the project. But it's there for review anyway. I'll be thinking about these things again now. At least the event system is open for discussion again.

Basically my opinion is that we have huge baggage from Java, ie Listener interface's and events classes inherited from the jave EventObject system. Java did it that way because it was the only way it could do these things within the confines of the Java language. D has huge potential to simplify the class heirarchy here. I started doing that within the main trunk but stopped until I could get more expert advice on how to proceed.

So we kind of have two choices:
1) Go with what you suggested: convert directly to the current Java style with all the Levels of Listener Interfaces and Java Event objects.

2) Start the simplifying process: implement simple event objects and delegate tables similar to what other GUI projects for D are currently doing.

The first will be a lot of work simply because it means a more complicated class heirarchy to deal with and more files and more code. This complication can translate to more d headaches as we struggle over conversion details.

The second option means somewhat new territory, but much more clean/efficient code. Replacing code and changing original design details constitues a risk in itself. Fortunately, it's a change that simplifies the design, so it's likely a promising improvement. The main problem, though, with this option is that changing the design of the event system will be hard to do seemlessly, since the original DWT model is buried quite deep in the DWT class heirarchy. It's hard to predict how difficult it would be to force the simplicity upon the current system. Doing so may cause a whole new level of complications.

Once again, you might like to have a read in the topic I mentioned above to get a feel for what I was looking at.

Blanger wrote:
Now we can start move on trying don't break the code. Although it will be nightmare to debug lib.


Yeah...it will be a nightware alright. I guess we'll just take one step at a time. Looking too far ahead might be disturbing.

Later,

John
Back to top
View user's profile Send private message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Sat Jul 17, 2004 12:33 pm    Post subject: Reply with quote

Quote:

Blanger wrote:
Makefile DOESN'T WORK again! It failes with ACCESS VIOLATION. So be ready to use Scons.

Well, I guess I have to figure out how to get Scons working again. It's easy to get running on Linux, but my last weak attempt on windows didn't work.


It's really easy.
1. You setup Python to the folder: C:\Python23 not using a long folder name and spaces in it.
2. You setup Scons for windows. It finds Python and place his files there.
3. You add your C:\Python23 path to the path variable doing:
Control Panel -> System -> Advanced [TAB] -> Environment variables [BUTTON].
Then you can run 'scons' from the 'command prompt'.

Quote:
It's unfortunate that there are issues with make. I think every initial project should work with a makefile.

Makefile is there but it doesn't work. Sad DMD crashes with AV. I've sent sources to Walter. Now I don't have a news from him.

Quote:
My opinions were discussed to some extent in the topic "Delegatea and DWT" (notice I made a spelling error there).

I've read them again.

Quote:
In there I presented a few of my ideas and reasons for them.

I'm sure we'll use them but I think it will be later.

Quote:
I got some feedback but not near as much as I had hoped for.

There is nothing to discuss if someone doesn't know the topic (source code). Sad

Quote:
At least the event system is open for discussion again.

Sure.

Quote:
Basically my opinion is that we have huge baggage from Java, ie Listener interface's and events classes inherited from the jave EventObject system.

I'm almost agree but... do you usually throw away your 'old baggage' when you don't have a 'new one'? I'm not. Wink

Quote:
Java did it that way because it was the only way it could do these things within the confines of the Java language.

May be so but I'm not fully agree with you. Event-Listener is a quite good model for event dispatching.

Quote:
D has huge potential to simplify the class heirarchy here.

Agree but let's make it later.

Quote:
I started doing that within the main trunk but stopped until I could get more expert advice on how to proceed.

I think it's simpler to do then you have a compiled sources. You can strip classes, throw some of them away and check your 'new dispatch event model'.

Quote:
So we kind of have two choices:
1) Go with what you suggested: convert directly to the current Java style with all the Levels of Listener Interfaces and Java Event objects.

2) Start the simplifying process: implement simple event objects and delegate tables similar to what other GUI projects for D are currently doing.

Yep.

Quote:
The first will be a lot of work simply because it means a more complicated class heirarchy to deal with and more files and more code. This complication can translate to more d headaches as we struggle over conversion details.

Don't agree. This 'event classes' are not a 'big deal'. I've already DONE them on my local sources. The dwt\events\* classes are really simple comparing them to \widgets\* Smile

I had to add a couple of 'new' files into the DWT. They are connected with 'event subsystem' (eventlistener.d, eventobject.d)

The worst thing is DMD doesn't work with makefile (AV) as it was before and it has stopped working with Scons also! Smile Now DMD goes into 'internal infinite loop' on first \widgets\button.d file and finally stopes with 'Out of memory' error after a few minutes. Smile

I found it happens when I've added 'private import dwt.widgets.typedlistener;' into the dwt.widgets.eventtable.d class. So I have partially compiled sources which is much better then nothing.

Also I DIDN'T change other 'event processing code' in any \widgets file. I just added new converted files to project: dwt\events\* , dwt\util\eventlistener.d, dwt\util\eventobject.d (two java interface replacements) , dwt\widgets\listener.d, dwt\widgets\typedlistener.d.

I'm sure DMD 'infinite loop' is compiler's problem again. So it's time to wait and time for work with 'new dispatching model'.

Quote:
The second option means somewhat new territory, but much more clean/efficient code. Replacing code and changing original design details constitues a risk in itself.........

Agree.
That's why I'm offer to make DWT with 'old event subsystem' for the first time. And then we'll try to incorporate into it other 'new event subsystem'.

Quote:
Once again, you might like to have a read in the topic I mentioned above to get a feel for what I was looking at.

I've read it.

Quote:
Yeah...it will be a nightware alright. I guess we'll just take one step at a time. Looking too far ahead might be disturbing.

Yes. Smile
_________________
Regards, Yuriy
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Mon Jul 19, 2004 1:28 am    Post subject: Reply with quote

Blandger wrote:
It's really easy.
1. You setup Python to the folder: C:\Python23 not using a long folder name and spaces in it.
2. You setup Scons for windows. It finds Python and place his files there.
3. You add your C:\Python23 path to the path variable doing:
Control Panel -> System -> Advanced [TAB] -> Environment variables [BUTTON].
Then you can run 'scons' from the 'command prompt'.


Thanks for the tips. I guess I just didn't feel like putting in the path so couldn't be bothered. You are right. It's not that big a deal. On linux, though I didn't even have to worry about setting up the path. I'm just lazy sometimes. Razz

Blandger wrote:
Makefile is there but it doesn't work. Sad DMD crashes with AV. I've sent sources to Walter. Now I don't have a news from him.


Yep, it was crashing the compiler for me also back when others were with scons and I still with make.

Ha ha, If you sent him lots of sources, I don't think he will be impressed. Smile

Blandger wrote:
Quote:
I got some feedback but not near as much as I had hoped for.

There is nothing to discuss if someone doesn't know the topic (source code). Sad


That's quite true.

Blandger wrote:
Quote:
Basically my opinion is that we have huge baggage from Java, ie Listener interface's and events classes inherited from the jave EventObject system.

I'm almost agree but... do you usually throw away your 'old baggage' when you don't have a 'new one'? I'm not. Wink


True... must get it working first. My point was that I saw a lot of "not-yet-converted" baggage. It seemed like a lot of work just to adopt another languages baggage.

Blandger wrote:
Quote:
Java did it that way because it was the only way it could do these things within the confines of the Java language.

May be so but I'm not fully agree with you. Event-Listener is a quite good model for event dispatching.


It's good enough in a language that's limited to using it, but it's very unwieldy when simpler coding solutions are available. I looked at some actual SWT tutorials and wasn't too impressed with the way listener model forced the programmer to code just to instantiate an insignificant widget. D can do it better; the current small gui toolkits exemplify this, I think using delegates. But, of course, it's okay to disagree on this point. Smile

Blandger wrote:
Quote:
D has huge potential to simplify the class heirarchy here.

Agree but let's make it later.


Okay.

Blandger wrote:
Quote:
I started doing that within the main trunk but stopped until I could get more expert advice on how to proceed.

I think it's simpler to do then you have a compiled sources. You can strip classes, throw some of them away and check your 'new dispatch event model'.


Okay... you seem to know what you're talking about.


Blandger wrote:
Quote:
The first will be a lot of work simply because it means a more complicated class heirarchy to deal with and more files and more code. This complication can translate to more d headaches as we struggle over conversion details.


Don't agree. This 'event classes' are not a 'big deal'. I've already DONE them on my local sources. The dwt\events\* classes are really simple comparing them to \widgets\* Smile


That's good news. I'm glad have been so successful. I guess I may have made it harder on myself by trying to think up a new system for D. Good work! You were right.

Blandger wrote:
I had to add a couple of 'new' files into the DWT. They are connected with 'event subsystem' (eventlistener.d, eventobject.d)

The worst thing is DMD doesn't work with makefile (AV) as it was before and it has stopped working with Scons also! Smile Now DMD goes into 'internal infinite loop' on first \widgets\button.d file and finally stopes with 'Out of memory' error after a few minutes. Smile

I found it happens when I've added 'private import dwt.widgets.typedlistener;' into the dwt.widgets.eventtable.d class. So I have partially compiled sources which is much better then nothing.


Good going. I guess it will still be some work yet to get that dmd crash figured out. Might be some kind of recursive effect in the language due to forward references. I'm not sure...

Blandger wrote:
Quote:
The second option means somewhat new territory, but much more clean/efficient code. Replacing code and changing original design details constitues a risk in itself.........

Agree.
That's why I'm offer to make DWT with 'old event subsystem' for the first time. And then we'll try to incorporate into it other 'new event subsystem'.


Okay, I see your points now. I agree. Thanks for putting so much work into this, Blandger. I must admit, I lost some momentum when I saw the huge problems with the compiler errors that I couldn't see a way to get around. Glad to see that you were able to stick through with this.

later,

John
Back to top
View user's profile Send private message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Mon Jul 19, 2004 4:29 am    Post subject: Reply with quote

JJR wrote:

Ha ha, If you sent him lots of sources, I don't think he will be impressed. Smile

You are right. It was a foolish try. Better I'll try to eliminate sources to find exact reason(classes) although it won't be easy.

Quote:
That's good news. I'm glad have been so successful. I guess I may have made it harder on myself by trying to think up a new system for D. Good work! You were right.

Don't know if Brad commited my sources to SVN it seems he didn't. I won't sent him a new sources for a while. I'll dig them locally this week trying to make sources suitable for sending to Walter.

Quote:
Blandger wrote:
The worst thing is DMD doesn't work with makefile (AV) as it was before and it has stopped working with Scons also! Smile Now DMD goes into 'internal infinite loop' on first \widgets\button.d file and finally stopes with 'Out of memory' error after a few minutes. Smile

Good going. I guess it will still be some work yet to get that dmd crash figured out. Might be some kind of recursive effect in the language due to forward references. I'm not sure...

I think you are very close to the true with this assumption. I think so also.

Quote:
Okay, I see your points now. I agree. Thanks for putting so much work into this, Blandger. I must admit, I lost some momentum when I saw the huge problems with the compiler errors that I couldn't see a way to get around. Glad to see that you were able to stick through with this.

Thanks John, I'll do my best. Smile

If you want and have a time I can send you my sources (~400kb) by mail. While Brad commites my previouse code you could try to 'boil' with event subsystem and some ideas you have.

PS. The next week I'm going to take a vacation for the couple of weeks. So I'd like to pass my sources to someone by the end of this week.
_________________
Regards, Yuriy
Back to top
View user's profile Send private message
brad
Site Admin


Joined: 22 Feb 2004
Posts: 490
Location: Atlanta, GA USA

PostPosted: Mon Jul 19, 2004 7:39 am    Post subject: Reply with quote

Sorry guys. I spent the weekend building a new server for dsource.org. I should have checked in your code Yuriy. I'll do it when I get to work today.

BA
_________________
I really like the vest!
Back to top
View user's profile Send private message
brad
Site Admin


Joined: 22 Feb 2004
Posts: 490
Location: Atlanta, GA USA

PostPosted: Mon Jul 19, 2004 1:54 pm    Post subject: Reply with quote

I have checked in Yuriy's code, and fixed a bug or two in the makefile. But I'm on Linux, and can't test if it's working or not.

Also, I have moved the /branches/0.1 code to /trunk.

We should continue on by using /trunk...

And Yuriy, congrats on getting it to compile. I haven't had much time recently to look at it. Hopefully that will change.

BA
_________________
I really like the vest!
Back to top
View user's profile Send private message
Blandger



Joined: 21 May 2004
Posts: 50
Location: Ukraine, Kharkov

PostPosted: Tue Jul 20, 2004 3:22 am    Post subject: Reply with quote

brad wrote:
I have checked in Yuriy's code, and fixed a bug or two in the makefile. But I'm on Linux, and can't test if it's working or not.

Thanks Brad.

Quote:
And Yuriy, congrats on getting it to compile. I haven't had much time recently to look at it. Hopefully that will change.

Guys, look it carefully. There are places with TODO: which need to be fully completed. I didn't have my power to fix them all.
_________________
Regards, Yuriy
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Tue Jul 20, 2004 11:32 am    Post subject: Reply with quote

Blandger wrote:
If you want and have a time I can send you my sources (~400kb) by mail. While Brad commites my previouse code you could try to 'boil' with event subsystem and some ideas you have.


Sure please send me the sources... I'll have a look at the TODO sections as well. I'll send you my email address via this forum's private PM system.

Blandger wrote:
PS. The next week I'm going to take a vacation for the couple of weeks. So I'd like to pass my sources to someone by the end of this week.


A well deserved vacation I'm sure... Hope you have a relaxing time.

Later,

John
Back to top
View user's profile Send private message
brad
Site Admin


Joined: 22 Feb 2004
Posts: 490
Location: Atlanta, GA USA

PostPosted: Wed Jul 21, 2004 10:01 pm    Post subject: Reply with quote

I posted a zip file after I cleaned it up a bit. By 'cleaned up' I'm talking about getting it working on my machine, as Yuriy already had it working on his.

Here's the link:
http://svn.dsource.org/svn/projects/dwt/downloads/dwt-20040721.zip

From the README.txt:
README.txt wrote:

2004.07.21

This version of DWT compiles, but doesn't link. If anyone can get it
to link, let me know. (brad at dsource dot org)

I have been trying SCONS and MAKE.

- SCONS compiles everything, but doesn't link properly to \dm\lib\*.LIB
Windows Library.

- MAKE is giving a GPF (Windows crash) with DMD 0.95

UUUUUGGGGGGHHHHH !!!


Does anyone want to take a shot at getting these symbols recognized by DMD?

BA
_________________
I really like the vest!
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Thu Jul 22, 2004 4:02 pm    Post subject: DMD 0.96 Test Reply with quote

Thanks, Brad. I'll see if it compiles a little later.

BTW, we should definitely see if the just released dmd 0.96 compiles DWT better. Has anybody tried it yet? It's supposed to correct some of the infinite loops in the compile process.

Later,

John
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.     Forum Index -> DWT All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group