An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
.. Rob
---------------------------------------------------------------------
1. Uses the latest Squeak (3.8) and wxWidgets (2.6.0) releases.
2. Virtual method callbacks. It is now possible to create Squeak subclasses of wx classes such as wxGrid and wxListCtrl (and many others) that redefine parts of the default wx behavior. For example, renderers and editors written in Squeak can be assigned to cells of a wxGrid. About 90 methods for 18 classes have been added so far.
3. Client data may be added to items in list and tree controls.
4. More demos. Most of the wxPython demos that involve non-custom controls (around 75 or so) have been reproduced.
5. All ordinal arguments and return values have been converted to be 1-based instead of 0-based. This applies to list indexes, grid coordinates, pages in book controls, menu items, etc.
6. More assertions have been added to primitives. The short term goal is to intercept all of the assertions that may appear when using a debug build. Long term, the goal is to prevent any primitive from causing a crash because of bad arguments.
7. A VM linked with a debug build of wxWidgets is now provided. Using this avoids crashes caused by assertions in the wxWidget library code.
8. More support for XRC. Most components built with an XRC editor (e.g., DialogBlocks, wxDesigner, wxGlade, XRCed) can be instantiated now in wxSqueak. This will be the basis for a future GUI builder.
9. Monticello packaging. The Squeak source code is now organized into 5 Monticello packages. The Bootstrap package must be loaded first, followed by the WxWidgets package. The Tools, CodeGeneration, and Tests packages are all optional.
Issues:
1. In wxMac, a few demos don't work, and there are display problems with some controls. wxMac is less mature than other platforms, but is catching up quickly.
2. Errors in virtual callbacks are sometimes fatal.
3. Memory leaks are less common, but still an issue.
4. Under Win32, the executable compiled with Visual C++ is only 50% as fast (as measured with tinyBenchmarks)
Tentative Roadmap:
0.5 Unicode, Linux (GTK) version, custom controls, GCC build for Win32
0.6 API complete
0.7 Memory leaks fixed, more efficient event handling
0.8 GUI builder
0.9 Shrinking/modularization, app builder
1.0 Squeak 4.0
Rob Gayvert rtg@rochester.rr.com wrote:
An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
Wow! You know, if it were to have more problems, it would give us more to talk about.... Really, this is fine work. It provides a great way to deploy Squeak-based programs that integrate nicely onto existing desktop OS's.
Okay, one random question. Do you have any idea if the tinyBenchmarks result you reported matters for larger chunks of code? Any idea what is going on there? I don't see why your extensions would affect tinyBenchmark -- maybe you are using different compilation settings than Andreas?
Lex
Hi!
"Lex Spoon" lex@cc.gatech.edu wrote:
Rob Gayvert rtg@rochester.rr.com wrote:
An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
Wow! You know, if it were to have more problems, it would give us more to talk about.... Really, this is fine work. It provides a great way to deploy Squeak-based programs that integrate nicely onto existing desktop OS's.
In fact, I think wxSqueak is one of the coolest things going right now, next to Exupery and Seaside. :) Finally we can build nice looking "native" apps using Squeak and, hey, that is what a lot of people want to be able to do. Dolphin just got some serious competition IMHO.
Okay, one random question. Do you have any idea if the tinyBenchmarks result you reported matters for larger chunks of code? Any idea what is going on there? I don't see why your extensions would affect
I am just guessing - but didn't Rob write he used Visual C++ to build the VM? Then I guess the gnuification isn't used. Or my memory may be off.
regards, Göran
goran.krampe@bluefish.se wrote:
"Lex Spoon" lex@cc.gatech.edu wrote:
Wow! You know, if it were to have more problems, it would give us more
to talk about.... Really, this is fine work. It provides a great way to deploy Squeak-based programs that integrate nicely onto existing desktop OS's.
In fact, I think wxSqueak is one of the coolest things going right now, next to Exupery and Seaside. :) Finally we can build nice looking "native" apps using Squeak and, hey, that is what a lot of people want to be able to do. Dolphin just got some serious competition IMHO.
Thanks, guys! There's still a long way to go, but the core is looking pretty solid.
Okay, one random question. Do you have any idea if the tinyBenchmarks result you reported matters for larger chunks of code? Any idea what is going on there? I don't see why your extensions would affect
I am just guessing - but didn't Rob write he used Visual C++ to build the VM? Then I guess the gnuification isn't used. Or my memory may be off.
That's precisely the problem. I'm currently building the Win32 app with internal plugins using VC6. Steve Swerling did some benchmarking with different compiler settings and found that nothing could come closer than 50% of the speed of the gnuified build.
BTW, the OS X build does use a gnuified interpreter. The speedup from gnuify is less dramatic with gcc3.3 -O2, but still significant.
In the not-too-distant future I plan to move to external plugins, so I should be able to use the normal build process for the VM.
.. Rob
Rob Gayvert rtg@rochester.rr.com wrote: [SNIP]
In the not-too-distant future I plan to move to external plugins, so I should be able to use the normal build process for the VM.
Great! And tell me when you have a Linux build up - then I will start playing ASAP. :) Sure, I could dig into it myself, and almost did the other day but couldn't find a good .dmg unpacker... ;) (guessed that the OS X sources would be a good starting point)
.. Rob
regards, Göran
goran.krampe@bluefish.se wrote:
Great! And tell me when you have a Linux build up - then I will start playing ASAP. :) Sure, I could dig into it myself, and almost did the other day but couldn't find a good .dmg unpacker... ;) (guessed that the OS X sources would be a good starting point)
Linux is next on the list. I tried a build on Fedora Core 3 last weekend, and it doesn't look too bad. The sources are identical across platforms -- the only difference is where the files go in the VM build structure. I'll let you know as soon as I get something working.
.. Rob
On 5/22/05, Rob Gayvert rtg@rochester.rr.com wrote:
An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
.. Rob
Rob, just downloaded the 0.4 demo on Windows and it is AWESOME!!
That's all I have to say :)
Rob Gayvert wrote:
An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
.. Rob
I full agree with the previous opinions, VERY GOOD work!
Thanks Rob.
On 5/23/05, Rob Gayvert rtg@rochester.rr.com wrote:
An update of my interface to wxWidgets is available at
http://homepage.mac.com/rgayvert/wxsqueak.html
Below are some notes on what has changed in this version.
Any comments or suggestions are appreciated.
Rob,
Really, really great work. A couple of minor notes after trying it out on OS X: - if you try to run it directly off the disk image, it hangs at startup. Presumably it needs to have write access to the file system; this might be something to mention in the readme. Also, unless I'm missing some Finder trick, it would be convenient if the .dmg had all of the files within a wxSqueak folder rather than at the disk root. - the "Squeak Tools" demo would work a lot better if UseWxTools was set to true by default - did I mention this was great work?
Cheers, Avi
Avi Bryant wrote:
Really, really great work. A couple of minor notes after trying it out on OS X:
- if you try to run it directly off the disk image, it hangs at
startup. Presumably it needs to have write access to the file system; this might be something to mention in the readme. Also, unless I'm missing some Finder trick, it would be convenient if the .dmg had all of the files within a wxSqueak folder rather than at the disk root.
- the "Squeak Tools" demo would work a lot better if UseWxTools was
set to true by default
- did I mention this was great work?
Cheers, Avi
Thanks, Avi. I obviously didn't test the .dmg distribution beyond "hey, the files are all there!". It looks like it's unhappy if it can't get write access to the changes file. I should bundle this as a package instead of a dmg to make it cleaner.
You're right about the tools demo. I should add a checkbox there to set/unset UseWxTools, so that you can see more than just the browser. I didn't make any changes to the tools for this release; for the next release, I plan to rework the tools to fit into the ToolBuilder framework.
.. Rob
squeak-dev@lists.squeakfoundation.org