[seek-dev] Re: [kepler-dev] scrollbar additions to kepler

Edward A Lee eal at eecs.berkeley.edu
Tue Jul 27 13:23:54 PDT 2004


I'm a bit confused about the basic motivation here...

A while ago, we had quite a bit of internal discussion about how
to handle navigation, and we ruled out scrollbars because they
make less sense for an infinite canvas...  How do you intend
the scrollbars to work?  How do you choose the boundaries?

The other question is about why you want scrollbars in the first place.
Is it mainly to create a familiar feeling, or is there really
a functionality issue?  They take some of the real estate
away from the drawing area... Maybe if you give the users some
time with the panner they will get used to it and decide they
like it after all...

Photoshop, IMHO, is not a UI to emulate... But in any case, it
always has a finite canvas size, so this is less of an issue.
I think our infinite canvas is really much nicer for our purposes,
since limiting to a "page size" makes no sense in our case.

I agree with Steve that the major pitfall with the hand is
that you have to set a "hand mode" for the UI to use it.
It seems the prevailing "religion" in UI circles is that
modal behavior is a bad thing... and it is a nuisance to
have to be switching back and forth between modes...
If you can find a way to do without modes (and within
the Mac's one-button limitation), then that would be great.

Edward



At 10:47 AM 7/27/2004 -0700, Chad Berkley wrote:
>Hi,
>
>I've been working the last 4 days to add scrollbars to the vergil 
>canvas.  I've had limited success and I've run into a couple problems. I 
>wanted to see what others thought of this before I continue.
>
>There are two different places where this functionality can be added. The 
>first one (and probably the technically correct place) is in the Diva 
>library.  Diva is the library ptolemy uses to provide all of the graph 
>editing functionality.  Diva also provides the panner (the widget in the 
>bottom left that allows you to move around the workspace).  The second 
>place this functionality can be added is to the Vergil gui classes.
>
>Placing the code in diva is probably the best way to do this because then 
>it would integrate seamlessly into the current view and allow the 
>scrollbars to interact with the panner.  Changing Diva to do this is not 
>trivial.  Diva has it's own layer system built around AWT with some Swing 
>components.  Also, if we change diva, it's going to be much harder to make 
>this a "pluggable" change without making some architectural change to diva 
>itself.
>
>Placing the code in the BasicGraphFrame class of vergil is the most 
>straight forward way to do it because the vergil gui uses all swing 
>components and places diva widgets inside the swing components.  This is 
>the way I have partially implemented the scrollbars now (using a 
>JScrollPane).  There are several problems with this.  First of all, 
>getting the scrollbars to interact with the panner correctly seems mostly 
>impossible.  Basically, i have to remove the panner or else things get 
>chaotic real quick.  If the user moves the workspace via the panner, there 
>is no event to catch when this happens, so the scrollbars can't be updated 
>accordingly.  I've also had to make major changes to the zoom code.  The 
>two advantages of doing it this way are that it's easier to code since one 
>can work with only swing components and i think it will be easier to make 
>this a pluggable change since some people have said they don't want 
>scrollbars on the canvas.
>
>Another thing I thought of the other day while working with photoshop 
>(which has scrollbars on it's canvas), is that we could add a "hand" tool 
>which would serve one of the purposes of the panner (to let you move 
>around the workspace).  I like the panner and don't really want to get rid 
>of it anyway.  I think the panner, scrollbars and a potential hand tool 
>would work well together.  It's just a matter of figuring out the best way 
>to do it.  Ptolemy folks: how hard do you think it would be to add this to 
>Diva?
>
>thoughts?
>
>chad
>_______________________________________________
>kepler-dev mailing list
>kepler-dev at ecoinformatics.org
>http://www.ecoinformatics.org/mailman/listinfo/kepler-dev

------------
Edward A. Lee, Professor
518 Cory Hall, UC Berkeley, Berkeley, CA 94720
phone: 510-642-0455, fax: 510-642-2739
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal




More information about the Seek-dev mailing list