Bug 136780

Summary: Add quick curve creation dialog to plot RMB
Product: [Applications] kst Reporter: Nicolas Brisset <nicolas.brisset>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: wishlist CC: syntheticpp
Priority: NOR    
Version: 1.10.0   
Target Milestone: ---   
Platform: unspecified   
OS: Solaris   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: JPEG mockup of the UI
Qt Designer mockup file

Description Nicolas Brisset 2006-11-03 17:35:00 UTC
Version:           1.3.2_devel (using KDE 3.4.0, compiled sources)
Compiler:          gcc version 3.4.3
OS:                SunOS (sun4u) release 5.8

As announced on the list, this is the first of a few improvement suggestions coming from extensive discussions with users as to what they find cumbersome in the current UI.

This suggestion aims at streamlining one of the most common operations: adding one or more curve(s) to a given (or new) plot. Sure, the datawizard can do it and it is also possible to do it by creating a new vector, then a new curve. But all these processes take many clicks, and require the user to know which plot name corresponds to what contents (which is already a showstopper in many cases). And that's not all: as I described in bug #124942, adding curves from more than one datafile (e.g. when comparing two similar files) is very painful. 
Now imagine you can right-click on a plot, call a "quick curve" entry, and get the dialog attached to this report. You select the var(s) to add, click "Add to current plot" and you're done. Very easy :-) And the best is you can add curves from more than one source easily (for a more thorough discussion on this issue see bug #124942 as I won't repeat the whole argument here). In fact, this proposal is mostly a stripped-down datawizard, with a multi-file extension (and some ideas from gaiw). From the user feedback I get here, it would be a very useful addition usability-wise !

Some points are worth noting: 
- computing the intersection of variable names should be done intelligently as it can take very long (remember, we routinely use files with tens of thousands of vars). Probably with QDict or QMap (I never know) ?
- to speed things up we should cache the common variable list as it is likely that users will not change selected datasources so often
- selected (checked) datasources should be remembered
- the X vector combobox should contain the list of X vectors currently in use in the selected plot, provided that the corresponding field exists in all selected datasources. The X vectors should be reused.
Comment 1 Nicolas Brisset 2006-11-03 17:36:28 UTC
Created attachment 18382 [details]
JPEG mockup of the UI

What it could look like, does it look somewhat familiar :-) ?
Comment 2 Nicolas Brisset 2006-11-03 17:37:26 UTC
Created attachment 18383 [details]
Qt Designer mockup file 

The designer file it was created from. Yes, I cheated for the checkboxes :-)
Comment 3 Netterfield 2007-01-19 15:02:09 UTC
How are the following decided:
 -Frame ranges
 -Line/point/colour properties
 -plot addition policy (regrid, etc)

These are the things which complicate the new curve/new vector dialogs and what make the wizard several pages.... so if we get rid of them, we have to have a good idea of what the correct defaults are.
Comment 4 Nicolas Brisset 2007-01-24 15:57:37 UTC
> How are the following decided: 
>  -Frame ranges 
Reuse the last values entered in the datawizard, or "Change sample ranges" dialog (are they actually synchronized in some way ?)

>  -Line/point/colour properties 
Use default settings as they would be used in the data wizard. My experience is that people don't change them so often. The only very useful thing here would be a sticky "color per file" setting, as reported in bug #124558, especially when dealing with multiple datasources

>  -plot addition policy (regrid, etc) 
As I imagine it, the dialog would be called from a plot context menu, so the curves would just be added to that plot. If you need a new one, you can create it with the Plots->New plot... entry (which by the way should not have an ellipsis, and possibly be added to the RMB menu in zoom/layout modes ?)

> These are the things which complicate the new curve/new vector dialogs and 
> what make the wizard several pages.... so if we get rid of them, we have to 
> have a good idea of what the correct defaults are.
Sure, but I believe the above suggestions are reasonable answers. 

Thoughts ?
Comment 5 Peter Kümmel 2010-08-14 14:16:38 UTC
Could be still open in Kst 1.
Comment 6 Netterfield 2018-09-30 22:01:11 UTC
Git commit bcde7de620256fe950fec290400779802012c945 by Barth Netterfield.
Committed on 30/09/2018 at 21:55.
Pushed by netterfield into branch 'master'.

Add create curve to right click menu in plots.

M  +18   -0    src/libkstapp/curvedialog.cpp
M  +3    -0    src/libkstapp/curvedialog.h
M  +4    -1    src/libkstapp/dialoglaunchergui.cpp
M  +1    -1    src/libkstapp/dialoglaunchergui.h
M  +11   -1    src/libkstapp/plotitem.cpp
M  +2    -0    src/libkstapp/plotitem.h
M  +2    -1    src/libkstmath/dialoglauncher.cpp
M  +1    -1    src/libkstmath/dialoglauncher.h

https://commits.kde.org/kst-plot/bcde7de620256fe950fec290400779802012c945