Andrew Miller | 20 Feb 2007 00:01
Picon
Picon
Favicon
Gravatar

Switching between graphs in PCEnv: Opinions sought

Hi all,

PCEnv currently supports multiple graphs by using splitters - the user 
decides how much vertical space to assign to each graph by dragging the 
splitter with the mouse. Splitters will 'collapse' if they are brought 
close to a window boundary or another splitter. Collapsed splitters take 
up very little screen space. Initially, all but one of the graphs are 
collapsed.

This approach is good for comparing two graphs against each other, 
because both graphs are on the screen at the same time. However, it has 
several disadvantages:
1) There is a finite number of graphs available (currently 3). This 
number is set in advance by the layout designer, and not the end user.
2) The approach is difficult to use if you want only one graph visible 
on the screen, but want to switch between the graphs. In this case, you 
need to spend quite a bit of time collapsing one graph and expanding 
another to get the sizes you want.
3) Because the graphs are potentially displayed at the same time, they 
are each represented by distinct objects in Mozilla's XUL. This means 
that even hidden graphs impose a performance and memory overhead. This 
is not a big problem with only 3 graphs, but as more are added, it will 
become more serious.

It is worth keeping the splitter approach (although perhaps we could 
limit it down to 2 graphs, as graphs get very squashed by the time you 
have three on the screen at once. If you have an opinion on this issue, 
I would like to hear from you), but also adding in a method to switch 
the graph shown in each splitter pane.

(Continue reading)

Peter Hunter | 24 Feb 2007 17:07
Picon
Picon
Favicon

Re: Switching between graphs in PCEnv: Opinions sought

Hi Andrew,

My preference is for Tabs but you could still keep the title bar – just 
use a shorter one (say half the width of the pane) and put the tabs 
after that.
It is important to be able to preserve the layout of windows and which 
traces are displayed so that you can get back quickly to a configuration 
you've set up. It also would allow us to create good default setups to 
suit particular models in the repository.

I’m still inclined to tab the whole RHS window (set of panes) - maybe as 
well as Tabs in individual panes? An example of where this would be 
useful is that when you have a combined electrophysiology and signal 
transduction model and want to display voltages, currents, etc v time in 
one window and the signal transduction pathways laid out in SVG in 
another window.

BTW, in the graphing window if you set time as x-variable then all other 
created traces for that pane should default to time (since it doesn’t 
make sense to display any other variable along a time axis).

Cheers,
Peter

Andrew Miller wrote:
> Hi all,
>
> PCEnv currently supports multiple graphs by using splitters - the user 
> decides how much vertical space to assign to each graph by dragging the 
> splitter with the mouse. Splitters will 'collapse' if they are brought 
(Continue reading)

Andrew Miller | 27 Feb 2007 22:43
Picon
Picon
Favicon
Gravatar

Re: Switching between graphs in PCEnv: Opinions sought

Peter Hunter wrote:
> Hi Andrew,
>
> My preference is for Tabs but you could still keep the title bar – 
> just use a shorter one (say half the width of the pane) and put the 
> tabs after that.
> It is important to be able to preserve the layout of windows and which 
> traces are displayed so that you can get back quickly to a 
> configuration you've set up. It also would allow us to create good 
> default setups to suit particular models in the repository.
Hi Peter,

I have asked the question as for what approach to use at the CellML 
meeting on Monday, and after some discussion, there was unanimous 
agreement that the drop-down combo-box approach would be the best (this 
decision included Poul, Jonna, and David Cumin). There were several main 
reasons given at the meeting for the combo-box approach:
1) With tabs, the screen will become too cluttered, and you won't be 
able to tell which graph is which. However, with combo-box approach, 
each graph will have its own line.
2) The combo-box approach allows there to be one list of graphs shared 
for all graph panels. This means that a graph is not tied to a 
particular panel, and for example, you can set up a two voltage vs time 
graphs, and show them side-by-side, and then you can show the 
sequentially while keeping a current vs time graph at the bottom. If we 
tried to do this with tabs, creating a tab in one panel would have to 
cause the creation of the tab in all panels, which is unintuitive, and 
would further compound the cluttering problem.
Are you happy to go with this decision?

(Continue reading)

David Nickerson | 28 Feb 2007 03:01
Picon

Re: Switching between graphs in PCEnv: Opinionssought

> Regarding the setups for a model, there is a minor UI inconsistency 
> here, because PCEnv adopts a many to many relationship between models 
> and graph panels (otherwise you wouldn't, for example, be able to 
> compare two model runs on the same set of axes). However, this conflicts 
> with the idea of providing the layout for the graph panels in the model 
> (because you could have two models open, which could provide conflicting 
> information for how to lay out the same graph panels). We could work 
> around this by setting the layout when a model is first loaded, but not 
> changing it on subsequent model changes (otherwise, we would be 
> repeatedly destroying a user's changes to the layout as they switch back 
> and forwards between models).

In terms of graphing metadata, it generally makes sense to define the 
graphs outside the scope of any individual model. And the approach I 
have taken with my own little simulation tool is to allow graphing 
and/or simulation metadata (RDF/XML) to be used directly as the 
user-input. The metadata can then be queried to determine what models 
need to be loaded and the simulations to be run.

Perhaps a similar approach could be used in PCEnv and users could be 
allowed to load metadata directly in addition to straight CellML models. 
And then it is this "independent" metadata that is being edited by the 
user when they manipulate graphs in PCEnv.

Gmane