From: Claus R. <cla...@ta...> - 2004-06-09 18:26:49
|
I've just started playing around with wxhaskell a little bit more seriously, and keep having problems finding my way through the docs. For instance, how do I get arrowheads at the end of my lines? How do I avoid my wxhaskell window to flick to an interim size before settling on the intended size (happens, e.g., with the bouncing ball demo)? I'd like to hack on a little Petri net editor, and while that hasn't been too difficult so far, it sounds like a standard problem, so: is there a graph editor component for wxhaskell that I could build on? The wxwidgets pages mention an "Objects Graphic Library (OGL)" but I can't find any further info on this. The wxhaskell applications page mentions a NetEdit tool but the source doesn't seem to be available? Also, there seem to be a few oddities with the demos on a windows98 box (in addition to the window size problem): - TimeFlows: only "Time" follows the mouse, the other words hang in the upper left corner - Process: responds only with error pings, whatever the input As for installation, I'd prefer to put the library in the ghc dirs instead of the system dirs. And, after registering wx and wxcore with ghc, I still have to give the -package wx flag when starting ghci. Can't ghc/ghci deduce that from the imports [ghc docs, 4.8.1. Using a package: Some packages are automatically available: you don't need to specify any extra flags to use them (except in certain circumstances; see below). All the packages which contain hierarchical libraries fall into this category.]? Oh, and does wxhaskell work with hugs? If yes, easily installable packages to replace the aging HGL/SOEGraphics would be nice:-) Cheers, Claus |
From: Arjan v. I. <af...@cs...> - 2004-06-09 18:48:51
|
Hello Claus, > For instance, how do I get arrowheads > at the end of my lines? I do not know what this means. > How do I avoid my wxhaskell window > to flick to an interim size before settling on the intended size > (happens, e.g., with the bouncing ball demo)? This happens to me too on Windows XP. I think it is a consequence of the way Daan uses wxWidgets. Specifying everything dynamically is not something the C++ library is used to. > The wxhaskell applications page mentions a > NetEdit tool but the source doesn't seem to be available? I develop the NetEdit tool. It is an editor for probabilistic networks (summary: nodes and arcs and probability tables at each node). You can get the source from me if you want. It is growing larger and larger and does much more than just editing networks, but maybe you can partially evaluate it to your needs :-) > Also, there seem to be a few oddities with the demos on > a windows98 box (in addition to the window size problem): Can't help you here. > Oh, and does wxhaskell work with hugs? If yes, easily installable > packages to replace the aging HGL/SOEGraphics would be nice:-) No, its GHC only. It is of course possible to write SOEGraphics on top of wxHaskell. A nice student project I would think... Cheers, Arjan |
From: Claus R. <cla...@ta...> - 2004-06-09 20:02:43
|
Hello Arjan, > > For instance, how do I get arrowheads at the end of my lines? > I do not know what this means. arrow, as in "bow and arrow" - no categories involved;-) useful to indicate directional links in directed graphs, e.g., you use them in your NetEdit screenshot. > I develop the NetEdit tool. It is an editor for probabilistic networks > (summary: nodes and arcs and probability tables at each node). You can > get the source from me if you want. It is growing larger and larger and > does much more than just editing networks, but maybe you can partially > evaluate it to your needs :-) Only if you don't mind me borrowing some ideas/code from it (such as dealing gracefully with arrows;-). I've got a rudimentary graph editor working, but working code for a more complete app would help me to find my way into the documentation, not to mention saving time on more "advanced" user interface features. So, if reuse is ok with you, I'd like to have a look. > It is of course possible to write SOEGraphics on top > of wxHaskell. A nice student project I would think... Yes, but I'm not so much worried about Paul's book. More about something nice, small and working to give to beginners (as in: download over a slow modem and get going with fun stuff quickly). The standard package was Hugs+SOEGraphics, but the latter is -once again- out of sync with the Hugs releases.. But if Daan seems to think that wxhaskell for Hugs wouldn't fall into the "small" category, that's probably not the right replacement. There's still the question of the "standard" Haskell GUI being available for all Haskell systems (Hugs is still popular in academic teaching, I think). Cheers, Claus |
From: Daan L. <daa...@xs...> - 2004-06-09 19:11:17
|
Hi Claus, On Wed, 9 Jun 2004 19:26:25 +0100, Claus Reinke <cla...@ta...> wrote: > I've just started playing around with wxhaskell a little bit > more seriously, and keep having problems finding my way > through the docs. Yes, the documentation is still problematic -- allthough I have worked very hard to document everything *somewhere* :-) Many times, I give all classes a specific widget belongs too in the description of the creation function. Regarding arrowheads, see the "WX.Draw" module documentation. There is no arrowhead primitive, I see, so you need to draw a little triangle yourself :-( -- but don't forget to look at the "penCap" attribute of a DC. > How do I avoid my wxhaskell window > to flick to an interim size before settling on the intended size > (happens, e.g., with the bouncing ball demo)? Yes, annoying. I know how to solve this now, so it will be in version 0.8. (-- which is a big update btw, with automatic memory management of bitmaps etc.) > I'd like to hack on a little Petri net editor, and while that > hasn't been too difficult so far, it sounds like a standard > problem, so: is there a graph editor component for wxhaskell > that I could build on? The wxwidgets pages mention an > "Objects Graphic Library (OGL)" but I can't find any further > info on this. Never heard of it either? Maybe it is in the contributions. I'll look into it -- maybe it is a good addition to include. > Also, there seem to be a few oddities with the demos on > a windows98 box (in addition to the window size problem): > > - TimeFlows: only "Time" follows the mouse, the other > words hang in the upper left corner > - Process: responds only with error pings, whatever the > input Hmm, I never tested it myself on windows98 -- I can imagine that Process doesn't work as it uses multi threading, but the "Time" behaviour is strange indeed -- probably the "idle" events don't come through correctly (or getCPUTime is broken?) > As for installation, I'd prefer to put the library in the ghc dirs > instead of the system dirs. And, after registering wx and wxcore > with ghc, I still have to give the -package wx flag when starting > ghci. Can't ghc/ghci deduce that from the imports [ghc docs, > 4.8.1. Using a package: Some packages are automatically > available: you don't need to specify any extra flags to use > them (except in certain circumstances; see below). All the > packages which contain hierarchical libraries fall into this > category.]? I never looked into "automatic" loading. If I can find out how it works, I'll try to include it in version 0.8. Maybe you can instruct ghc yourself to include it by default? (using ghc-pkg) > Oh, and does wxhaskell work with hugs? If yes, easily installable > packages to replace the aging HGL/SOEGraphics would be nice:-) Never tried it, but I think that the library might be a bit heavy weight for Hugs. However, I never particularly rely on GHC features so it might just work. All the best, Daan. > > Cheers, > Claus > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: GNOME Foundation > Hackers Unite! GUADEC: The world's #1 Open Source Desktop Event. > GNOME Users and Developers European Conference, 28-30th June in Norway > http://2004/guadec.org > _______________________________________________ > wxhaskell-users mailing list > wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > |
From: Claus R. <cla...@ta...> - 2004-06-09 20:06:44
|
Hi Daan, > Yes, the documentation is still problematic -- allthough I have worked > very hard to document everything *somewhere* :-) I guess part of the problem is that Haddock doesn't know about modelling OO hierarchies in Haskell, and another that alphabetical indices are defeated by generic prefixes. Well, I'll have to rely on this list, then!-) > Regarding arrowheads, see the "WX.Draw" module documentation. > There is no arrowhead primitive, I see, so you need to draw a little > triangle yourself :-( -- but don't forget to look at the "penCap" > attribute of a DC. penCap/CapStyle was indeed where I'd expected to find this. "draw it yourself"? So much for the "industrial strength library with 11 years of evolution behind it".. or are such standard goodies in the missing 25% ?-) but at least that explains my difficulties in finding docs about this :-| > > ..window resizing at creation time.. > Yes, annoying. I know how to solve this now, so it will be in > version 0.8. (-- which is a big update btw, with automatic > memory management of bitmaps etc.) ok, thanks. > Never heard of it either? Maybe it is in the contributions. I'll > look into it -- maybe it is a good addition to include. Here's what I found: Object Graphics Library OGL defines an API for applications that need to display objects connected by lines. The objects can be moved around and interacted with. You can find this in contrib/src/ogl, contrib/include/wx/ogl, and contrib/samples/ogl. sounds like just the ticket, but given the scarcity of www-references, it might have been abandoned, or renamed.. Cheers, Claus |
From: klaus <has...@ya...> - 2004-06-09 20:18:41
|
Hi all, Daan, thanks for the really good wxHaskell binding. I'm using wxwindows/widgets for over 3 years. IMO the best choice for multiplatform developing. But i'm a newbie in Haskell. ;) > > I've just started playing around with wxhaskell a little bit > > more seriously, and keep having problems finding my way > > through the docs. > > Yes, the documentation is still problematic -- allthough I have worked > very hard to document everything *somewhere* :-) Many times, I give > all classes a specific widget belongs too in the description of the > creation function. For a complete rewrite, very good! > > "Objects Graphic Library (OGL)" but I can't find any further > > info on this. > Never heard of it either? Maybe it is in the contributions. I'll > look into it -- maybe it is a good addition to include. please have a look at wxart2d, http://wiki.wxwidgets.org/wiki.pl?WxArt2d the first release is coming soon. IMO a very big gift for the wxWidget-World, and perhaps for the wxHaskell users too? Note: not only for 2D-graphics, although it contents a very good document/view module, which overcomes the standard (very limited) wxdocview classes. BTW i have to questions: Did you managed "the more then once start main problem" in ghci? Why are the wxHaskell executables are so big? Regards Klaus |
From: <wxh...@al...> - 2004-06-09 20:25:19
|
> Why are the wxHaskell executables are so big? All Haskell executables are big. :) Those produced by GHC are anyways. I usually reduce mine to 1/10 size by running strip and upx. $ ls -l a.out -rwx------ 1 user user 6681158 May 22 01:51 a.out $ ldd a.out libwxc-gtk2.4.2-0.7.so => /usr/lib/libwxc-gtk2.4.2-0.7.so (0x00ab9000) libdl.so.2 => /lib/libdl.so.2 (0x44d69000) libreadline.so.4 => /usr/lib/libreadline.so.4 (0x45af5000) libncurses.so.5 => /usr/lib/libncurses.so.5 (0x45ab3000) libm.so.6 => /lib/tls/libm.so.6 (0x44d45000) libgmp.so.3 => /usr/lib/libgmp.so.3 (0x44d6e000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x44e71000) libc.so.6 => /lib/tls/libc.so.6 (0x44c0a000) libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x44efe000) libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x4bb68000) libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x45133000) libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x4bb2d000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x4510c000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x4bba2000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x44e4e000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00111000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x45b23000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4524b000) libtiff.so.3 => /usr/lib/libtiff.so.3 (0x001ef000) libz.so.1 => /usr/lib/libz.so.1 (0x44e5e000) libGL.so.1 => /usr/X11R6/lib/tls/libGL.so.1 (0x4528d000) libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x00230000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x453d1000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x45385000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x44bf2000) libgpm.so.1 => /usr/lib/libgpm.so.1 (0x450b3000) $ strip a.out $ ls -l a.out -rwx------ 1 user user 2860808 Jun 9 15:20 a.out $ upx a.out Ultimate Packer for eXecutables Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 UPX 1.24 Markus F.X.J. Oberhumer & Laszlo Molnar Nov 7th 2002 File size Ratio Format Name -------------------- ------ ----------- ----------- 2860808 -> 620806 21.70% linux/386 a.out Packed 1 file. $ ls -l a.out -rwx------ 1 user user 620806 Jun 9 15:20 a.out |
From: Daan L. <daa...@xs...> - 2004-06-21 09:55:25
|
On Wed, 9 Jun 2004 22:18:30 +0200, klaus <has...@ya...> wrote: > please have a look at wxart2d, http://wiki.wxwidgets.org/wiki.pl?WxArt2d > the first release is coming soon. IMO a very big gift for the wxWidget-World, > and perhaps for the wxHaskell users too? > Note: not only for 2D-graphics, although it contents a very good document/view module, > which overcomes the standard (very limited) wxdocview classes. Sorry for the late reply. The library looks very advanced. I don't think I will spend time on adding this to wxHaskell though (see my next mail..) -- however, I might just write a document that will help others to add interfaces like this one to wxHaskell and contribute in this way. > BTW i have to questions: > Did you managed "the more then once start main problem" in ghci? > Why are the wxHaskell executables are so big? As said already, one reason is that Haskell executables are big. The other reason is that I don't "split" the Haskell object files which leads to inclusion of a lot of redundant code. I can probably solve this rather easily but it is not high on the priority list right now -- but it just moved up due to your complaint :-) (I use a lazy, demand driven, development strategy for wxHaskell) All the best, Daan. |