home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.sgi.graphics
- Path: sparky!uunet!cis.ohio-state.edu!pacific.mps.ohio-state.edu!linac!uwm.edu!ux1.cso.uiuc.edu!cs.uiuc.edu!vela!sglanger
- From: sglanger@vela.acs.oakland.edu (LANGER STEVEN C)
- Subject: motif child windows
- Message-ID: <1992Dec16.001739.673@vela.acs.oakland.edu>
- Organization: Oakland University, Rochester MI.
- Distribution: usa
- Date: Wed, 16 Dec 1992 00:17:39 GMT
- Lines: 115
-
- Several days ago I posted a question on this group regarding an application
- I am writing. I realized from the varied responses thet people were kind
- enough to send that I did a poor job of stating the problem so here is
- a more verbose and hopefully clearer statement of it.
-
- I am just beginning to write a large app (50-100K lines of code
- eventually) that will run on our hospitals SGI machines. Said
- program consists of a foreground process to collect user input
- and various info displays. This process is also responsible for launching
- and monitoring processes that control several other machines.
- Ultimately, the system will control simultaneous radiation treatment, heat
- treatment and incorporate CAT or MRI images. We have already implemented
- parts of this software under MS-Windows, but as you can imagine, such
- machines just don't have the power to pull off the whole job. A schematic
- might look like this;
-
- USER
- |
- Main Process & Display Code
- ^ ^ ^
- | | |
- ------- | |
- | XRay CAT
- Heating Device & Machine or MRI Scanner
- Thermometry Device Driver Driver
- Drivers | | |
- | | |
- | | Hardware
- Hardware Hardware
-
- Commands are issued by the user and sent to the appropriate device
- driver process, then sent on to the various machines. Data must also
- come back from these drivers for display. I have launched these other
- processes from the main, but have yet to get 2-way communication via
- the pipes.
-
- Now to the Motif part. I want the app mainWindow to act as nothing more
- than a backdrop to contain a menu and clip the miriad displays which this system
- will eventually produce. The child windows MUST be dragable and resizable
- within the mainWindow, but not leave it. Something like this;
-
- | -- / App Main Window /Small / Big |
- | Heat Commands | XRay | Scanner | Display | Help |
- |------------------------------------------------------------------------|
- | | Temp Bar Graph | |
- | | Temp History Graph | |
- | | Heating Parameters | |
- | | XRay Parameters | |
- | | MRI Image ---> | Posterior |
- | | CAT Image | Anterior |
- | ---------------------- Bla |
- | Bla |
- | |
- | | -- /TempBar /Small/Big| |
- | |-------------------------| |
- | | # | |
- | | # # | |
- | | # # # # | | -- /TempHistogram /Sma|
- | |------------------------xx |------------------------|
- | resize | |
- | | .-. . . |
- | | ./ \./ \._ ../ |
- | | -- /Brain-Ant /Small/Big| | |
- | |--------------------------| |------------------------|
- | | | |
- | | Pixmap from MRI | |
- | | | |
- | |-------------------------xx |
- ------------------------------------------------------------------------xx
-
- The physicians require that the pixmaps display the entire image, not
- a viewport of an image (that knocks out ScrolledWindows) so that they
- get a global perspective. For fine detail, they want to be able to
- resize the window big and have it rescale itself to reveal more detail.
- So that's the problem. I need dragable resizable windows within the
- main window. I cannot compel the physicians to accept a grid of
- equally sized windows so that knocks out RowColumn and PanedWindows.
-
- Questions:
-
- 1. Is there any known Xm or Xt Widget that will accomplish this?
-
- 2. If not, what is the quickest method (from a coding point of view)
- to make a dragable, sizeable window that can be assigned a DrawingArea?
-
- a. Xlib primitives
- b. Xt intrinsics
- c. a custom Widget
-
- 3. If the answer to 2 is c, what would be the best Widget to start
- modifying?
-
- 4. If the answer to 2 is a or b, could you supply a code snippet or
- reference?
-
- Tomorrow marks my one week anniversary of coding in X so I'm probably
- missing something obvious. If so I apoligise for boring everyone. But
- I've figured out how to make child windows drag, resize and clip in their
- parents on Macs, Amigas and even (ach) MS-Windows and I'm totally at a loss
- on X. Any and all responses are welcome and if there is sufficient interest
- in this problem, I'll post any and all solution(s) to the group.
-
- --sincerely, steve
-
- --
- Steve Langer sglanger@argo.acs.oakland.edu (VMS)
- Oakland University sglanger@vela.acs.oakland.edu (Ultrix)
- ---------------------------------------------------------------------------
- Standard disclaimers apply. In addition, the author makes no guarantees,
- concerning the grammatical accuracy of his writing. Therefore, any ^B's, ^C's,
- midword character additions/deletions and other non-sense which occurs (after
- the work leaves the author's decade old text editor via his decade old Amiga,
- struggles through a local 1200 baud Merit server to be further mauled via the
- remote VAX mail servers) is someone elses problem - namely yours.
- ---------------------------------------------------------------------------
-