[comp.sys.mac.programmer] Splitbars and TCL problem

ack@eleazar.dartmouth.edu (Andy J. Williams) (05/04/90)

[]

I am working on a conferencing application which has in its main window
2 text panes (one editable, one display) which are seperated by a split
bar. The user types messages in the lower of the two text panes and
received messages are displayed in the top pane as such:

+--------------------------+
|-[]------ Movies ------[]-|
+--------------------------+
|Fred: Has anyone seen   |^|
|The Little Mermaid yet? +-+
|                        | | <- Received messages w/ scrollbar
|Jon: Yeah, it was great!+-+
|                        |v|
+--------------------------- <- Split bar
|I saw it last week and  |^|
|liked it a lot. I am    +-+
|going to reccomend it   | |
|to some friends.        | | <- Where user types new messags w/ scrollbar
|                        +-+
|                        |v|
+--------------------------+
|                          | <- Button to send to all, pop-up menu of users
| (Send to all) [ Send... ]|    to send to (if you don't want to send to all)
|                        []| <- and grow icon.
+--------------------------+

Note that the two panes are two separate panaramas, not one. Each of the
two panes are completely different from each other.

The problems:

As Pascal and C (I happen to be using Pascal for this one, but the
question remains the same) defines sizing options, this cannot be done.
Any option you use they either get a fixed size which means they cannot
be dynamically resized (a pane insists on remaining 100 pixels high and
that is that!) or they change proportionally to the change in window
size such that they are suddenly both very small or too big for the
window.

What I need is some advice on how to have splitbar seperated panes and
have them resize correctly. One possible solution is to define a new
sizing option like "sizFIXTOPSPLITBOT" and "sizFIXBOTSPLITTOP" which
would change the size of the pane to fit either the top of the window
and the split bar (for the top pane) or the bottom and the split bar
(for the bottom). However, we are told not to override the AdjustVert
or the AdjustToEnclosure methods. So, do I do it anyway or is there a
simpler solution I am missing entirely.

Also, where does the splitbar get drawn? Do I have to have another pane
behind the text panes just to draw the buttons and the splitbar? If
not, where then?  Which pane encloses them?

Feel free to post or eMail responses. If I haven't explained this well
enough, let me know and I will try again.

Thanks for the help!

-ajw
--
Andy J. Williams '90  Systems Programmer, Kiewit Computation Center
Dartmouth College     Macintosh Interface Design, Critique & Programming
603-643-2177          (Well, that's my job until June.  What then?)
ack@dartmouth.edu     "Argue for your limitations, and they're yours" - R. Bach