Re: Joust in Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg98295] Re: Joust in Mathematica
- From: dbreiss at gmail.com
- Date: Sun, 5 Apr 2009 06:37:09 -0400 (EDT)
- References: <gr21m6$lr4$1@smc.vnet.net> <gr4jqm$ag6$1@smc.vnet.net>
It was sort of difficult to see what Joust is from looking at its website and documentation. There wasn't a quick explaination of what it does. My sense is that it was a navigation tool of some sort. Creating things of that general sort in Mathematica should be quite doable. The front end is very plastic in terms of what you cn create in it (though it certainly does have limitations...). But the key issue is that anything of this sort takes considerable time to create. So one (one who does not have lots of free time) needs a business model that supports its creation. Sadly, in my experience with http://scientificarts.com/worklife there is very little interest in general tools. And so, thes things only can get created in one's spare time. Any thoughts on how viable businesses can get created based on Mathematica? My experience over the years is that it's quite difficult to do... On Apr 3, 5:10 am, Albert Retey <a... at gmx-topmail.de> wrote: > Hi, > > > I've been wondering how to set up something that behaves like the Java = Joust > > in Mathematica: http://www.ivanpeters.com/ we all use them every d= ay > on on > > windows machines, so I am wondering how to implement something like it = in > > Mathematica. At first, I thought of using GraphPlot or TreePlot, but > > then started to wonder if OpenerView and Opener could be trained to beh= ave in > a more > > general way. Has anyone thought about this already, or got some > > working examples? > > I think OpenerView isn't providing the looks, but the functionality, > depending of course what exactly you have in mind. What exactly are you > missing? Here is some code for Mathematica 7 you might want to play with: > > tree = "A"["B"["x", "y", "z"], "C"["f"["g"["asdf"]]]] > > ov[a_String] := Button[a, content = a] > > ov[expr_] := OpenerView[{Head[expr], Column[ov /@ (List @@ expr)]}] > > CreateDialog[{Dynamic[ > Row[{Panel[ > Pane[ov[tree], ImageSize -> {100, 200}, > Scrollbars -> {False, True}]], > Panel[Pane[Dynamic[content], ImageSize -> {200, 200}]]}]]}] > > hth, > > albert