Greg FYI
Suhaib > > Thanks, I just subscribed! > > Greg's description of what they did sounds *very* > interesting. I forwarded > it on to Scott (the BX project lead). > > I am curious on whether Greg's enhancements worked for > applications that > didn't use DX. We do have builtin callbacks (and I think > that you can add > them, although I don't think you can add them dynamically > as he describes). > I am going to re-read his comments again and maybe drop > Greg some email. > > I want to better understand things here. It sounds very > promising in which > case I would be interested in seeing how we can work > together on this. > > Thanks again! > > Mark > > At 03:50 PM 2/14/2000 -0500, you wrote: > > > >Mark > >For your info, about OpenDx. If you wish to follow this thread > >I suggest you go to http://www.research.ibm.com/dx and > subscribe to > >Opendx-dev (DX Developers list). It is a low traffic list. > > > >I do have BX Pro 5.0.1 copy for Linux which you sent > several months > >ago > >and if you think it's worth while pursuing it, we may consider > >adding some features for BX Pro. > > > >Regards > > > >Suhaib > > > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] Behalf Of > > > [EMAIL PROTECTED] > > > Sent: Monday, February 14, 2000 3:33 PM > > > To: [email protected] > > > Subject: Re: [opendx-dev] BX Pro and OpenDX > > > > > > > > > BXDX. - a prototype integration of Builder Xcessory and > > > DX. I never got > > > around to showing it to ICS; I certainly should have. In > > > addition to > > > neatly integrating the two, it addressed what I perceived > > > to be the chief > > > shortcoming of BX at that time (maybe still) - the basic > > > approach that you > > > build a UI, test it in "play mode" with some limited > > > built-in Motif > > > callbacks, and then write out C code, which you then > > > hack, using good old > > > vi (or emacs, if you must) to build the bulk of the > > > functionality of the > > > app. Forget running the ap itself under BX; BX isn't > > > an app builder, its > > > a UI builder - and it shows. Using BXDX, you can write > > > and install > > > callbacks while you are building the app, and then use > > > them in play mode - > > > never exitting BX. You can build the functionality of > > > your application > > > concurrently as you build its UI - not as a > > > post-process, after the fact - > > > and to use DX to provide a high-level progamming > > > interface to build that > > > functionality. So BXDX is a fully functioned > > > visualization application > > > builder. You write out the code, compile it and you have > > > a complete app. > > > > > > I never understood why BX didn't allow you to edit and > > > link in callbacks > > > on the fly. > > > > > > A couple paragraphs on motive. We long believed that the > > > ability to build > > > end-user applications was important for DX's commercial > > > success. While we > > > had originally conceived it as a tinkerer's tool, in > > > which the VPE network > > > editor was a central piece that the end-user would > want to use to > > > interactively re-program the visualization on the fly, we > > > came to believe > > > that people might want to build canned applications that > > > they could turn > > > around and deliver to their customers as closed > > > applications. To this end > > > we made several modifications to DX, including the > > > ability to encode > > > networks so that the application provider could protect > > > their intellectual > > > property, the ability to convert DX-ish control panels to > > > a look much > > > closer to standard Motif, and the ability to deliver > > > constrained versions > > > of DX that did not include the VPE (along with a > > > lower-cost license). > > > > > > Even so, the applications you could deliver were > > > constrained by the > > > limitations of DX's GUI builder. DXUI, while extremely > > > easy to use, > > > provides only a limited GUI-builder capability: image > windows, the > > > collection of interactors into control panels, and some > > > limited control > > > over the management of those types of windows. Above > > > all, I was always > > > irked by the inability to create a single frame that > > > contained both > > > interactors and image windows. Like a trivial isosurface > > > viewer: a control > > > bar at the top with a File pulldown to load a data file, > > > aybe an Options > > > pulldown to turn axes annotation on and off, a slider at > > > the side to > > > interactively select an isovalue, and an Image window to > > > spin the resulting > > > isosurface around. Couldn't do it then, can't now. > > > > > > So I was looking into alternatives. At which time a > > > prospective customer > > > came and challenged us to a bake-off against AVS. They > > > proposed an > > > application, and paid me (or rather, paid IBM) to come in > > > and build it in > > > front of them, and paid AVS to do the same. Since the > > > app as spec'd had > > > that single-frame appearance, I knew I couldn't build it > > > in straight DX, so > > > I asked them what GUI builder they were accustomed to, > > > and suggested I use > > > it. They were BX users, so I fotched together a little > > > code to interface > > > the two, and went down there. I'll leave it to them to > > > comment on the > > > outcome of the bake-off. > > > > > > So. Back to the trivial example, but lets elaborate it a > > > tiny bit to make > > > it interesting. Suppose we want to feed the area of the > > > isosurface back to > > > the UI to show up in another widget. > > > > > > (I might get the details wrong - its been a couple > years - but the > > > following is the basic idea). > > > > > > Any BX user can assemble the widgets necessary; I won't > > > go into that beyond > > > saying that you use the ImageWindow widget BXDX provides, > > > and when you do > > > so, a DX manager panel appears. You press a button and > > > DX starts. You do > > > two things that you normally wouldn't need to do: you > > > give both the > > > destination text widget and the ImageWindow unique names. > > > > > > So. You have to build a network. You push a button in > > > the DX manager > > > panel, and up comes the VPE. You put together a little > > > net, with two > > > NamedInputs to receive the isovalue and the filename, > > > plus what? Import, > > > Isosurface, SuperviseWindow (with the name you assigned > > > to the ImageWindow > > > as a parameter), SuperviseState, Display, Measure. At > > > the bottom you > > > format a string that looks something like "set text > > > widget xxxx to \"The > > > Area Is yyyy\"" (I don't recall the syntax) and passes it > > > to a special > > > module. Save the net. > > > > > > Now you need to add a callback to the UI to pass down the > > > filename. You > > > push a button in the DX manager window, and the callback > > > editor appears. > > > You type in code that pulls the file name from the widget > > > that comes in as > > > a parameter, and calls DXLink to send it to the > > > NamedInput in the net. A > > > button compiles it and a button installs it. Edit the > > > file selector > > > dialog. Find the correct callback resource, and type in > > > the name of the > > > one you just coded. You do the same for a slider widget > > > - create, compile > > > and install a callback that extracts the value from the > > > slider widget and > > > sends it to the named input of the net. > > > > > > Put it in play mode. It all works - even the area > > > message, that is > > > automatically routed to the correct widget by the > infrastructure. > > > > > > If people are interested, I might be able to put the > > > pieces together for a > > > show-and-tell. > > > > > > Greg > > > > > > > > > > > > Please respond to [email protected] > > > > > > Sent by: [EMAIL PROTECTED] > > > > > > > > > To: "[EMAIL PROTECTED] Ibm. Com" > <[email protected]> > > > cc: > > > Subject: [opendx-dev] BX Pro and OpenDX > > > > > > > > > > > > > > > Greg and Pete > > > > > > Any comments on the following message from Mark Hatch > from ICS? > > > Is the BX Pro feature still exists or can this code > be activated > > > again? > > > > > > Thanks > > > > > > Suhaib > > > > > > > > > > -----Original Message----- > > > > From: Mark Hatch [mailto:[EMAIL PROTECTED] > > > > Sent: Monday, February 14, 2000 12:35 PM > > > > To: Suhaib Siddiqi > > > > Subject: RE: lesstif on cygwin > > > > > > > > > > > > > > > > > > > > > > > > > > >What kind of BX Pro hooks was it having? Was it an > > > > added advantage > > > > >for data visualization? > > > > > > > > Primarily we were used to build the user interface . A > > > > widget was added to > > > > the BX palette for DX (the closed one ;-) ). Basically, > > > > a developer would > > > > build the ui to his/her application and then drop a DX > > > > widget on the UI. At > > > > that point, DX took over for the actual display. This was > > > > suppose to > > > > compete with the AVS product that combined their 3D > > > > Visualization tool with > > > > our competitor, UIM/X (Visual Edge). > > > > > > > > I suspect that they lost a couple deals to AVS, and this > > > > lack of a GUI > > > > builder integration was mentioned by the customer as > > > > being key to their > > > > decision. Hard to imagine that there was that big an > > > > advantage to having a > > > > visualization object on a GUI builder palette! > > > > > > > > Mark > > > > ~ > > > > Integrated Computer Solutions, Inc. > > > > Visual Development Tools for Professionals > > > > > > > > 617-621-0060 x108 (voice) > > > > 617-621-9555 (fax) > > > > > > > > 201 Broadway > > > > Cambridge, MA 02139 > > > > > > > > > > > ~ > Integrated Computer Solutions, Inc. > Visual Development Tools for Professionals > > 617-621-0060 x108 (voice) > 617-621-9555 (fax) > > 201 Broadway > Cambridge, MA 02139
