[Kst] branches/work/kst/portto4/kst

Barth Netterfield netterfield at astro.utoronto.ca
Tue May 26 06:46:21 CEST 2009


SVN commit 972953 by netterfield:

Implement default X vectors...



 M  +3 -0      devel-docs/Kst2Specs/Bugs  
 M  +6 -1      devel-docs/Kst2Specs/FixedBugs  
 M  +0 -12     devel-docs/Kst2Specs/Wishlist  
 M  +1 -0      src/libkstapp/curvedialog.cpp  
 M  +2 -0      src/libkstapp/curvedialog.h  
 M  +2 -1      src/libkstapp/datawizard.cpp  
 M  +1 -0      src/libkstapp/equationdialog.cpp  
 M  +2 -0      src/libkstapp/equationdialog.h  
 M  +10 -0     src/widgets/vectorselector.cpp  
 M  +3 -0      src/widgets/vectorselector.h  


--- branches/work/kst/portto4/kst/devel-docs/Kst2Specs/Bugs #972952:972953
@@ -52,10 +52,12 @@
 3. toggling log-x axis (key 'g') doesn't do anything until you poke at
 the plot. (My impression is that a re-draw is being missed.)  toggling
 log-y (key 'l') works as expected.
+(cbn sees: the mouse needs to leave the plot for the plot to be redrawn)
 
 4. toggling log-x doesn't change the x-axis tick labels/positions, even
 though the curves are drawn on a log scale.  Zooming in and pressing
 "M" fixes this.  Again, y-log works as expected.
+(cbn says 'confirmed')
 
 5. All the dialog boxes appear to be modal now (they block interaction
 with the main window while open).  This slows me down significanlly.
@@ -89,6 +91,7 @@
 changing it while shift is depressed.  After doing this it's difficult
 to get back to xy-zoom mode.  (I have to right click twice to open and
 close the context menu.)
+(cbn says 'not confirmed - more info needed)
 
 15. The text label behaviour is un-intuitive.  The typical interface is
 to choose a position first, and then input some text.
--- branches/work/kst/portto4/kst/devel-docs/Kst2Specs/FixedBugs #972952:972953
@@ -646,10 +646,15 @@
 
 Crash case: edit vector button is active in vector selectors
 for error bar vectors which aren't yet set.  Clicking crashes.
+---------
 
+Default X vector field:
+  We need to guess that is wanted for an X vector in dialogs which take an X vector	:
+
 ------------
 
 10. In the content tab, double clicking on a curve in 1.x would move
 it from the list it used to be in of the lists to the other.  This
 saved the tedious click-on-curve, click-arrow-button,
-click-on-next-curve, click-on-arrow-button, &c.
\ No newline at end of file
+click-on-next-curve, click-on-arrow-button 
+
--- branches/work/kst/portto4/kst/devel-docs/Kst2Specs/Wishlist #972952:972953
@@ -70,15 +70,3 @@
 same data field.  ie, if the XY curve of [sine] is red, the spectrum
 curve of [sine] should also be red.
 
----------
-
-Default X vector field:
-  We need to guess that is wanted for an X vector in dialogs which take an X vector	:
-    -wizard, or a create curve dialog called from a vector selector for an X vector: 
-	remember last X vector field name, or INDEX if last field name doesn't exist.
-    -Equations and Curves: Try in order
-	1) remember last vector used on X axis and use it again.
-	2) remember descriptive name last used on X axis and use any vector with this name.
-	3) Use a vector named INDEX
-	4) Use a generated vector
-   
\ No newline at end of file
--- branches/work/kst/portto4/kst/src/libkstapp/curvedialog.cpp #972952:972953
@@ -315,6 +315,7 @@
 void CurveDialog::configureTab(ObjectPtr object) {
   if (!object) {
     _curveTab->curveAppearance()->loadWidgetDefaults();
+    _curveTab->setToLastX();
   } else if (CurvePtr curve = kst_cast<Curve>(object)) {
     _curveTab->curveAppearance()->loadWidgetDefaults();
     _curveTab->setXVector(curve->xVector());
--- branches/work/kst/portto4/kst/src/libkstapp/curvedialog.h #972952:972953
@@ -65,6 +65,8 @@
     void hidePlacementOptions();
     void clearTabValues();
 
+    void setToLastX() {_xVector->setToLastX();}
+
   Q_SIGNALS:
     void vectorsChanged();
 
--- branches/work/kst/portto4/kst/src/libkstapp/datawizard.cpp #972952:972953
@@ -383,7 +383,8 @@
    setupUi(this);
 
   _xVectorExisting->setObjectStore(store);
-
+  _xVectorExisting->setToLastX();
+  _xAxisUseExisting->setChecked(_xVectorExisting->count()>0);
   dataRange()->loadWidgetDefaults();
   getFFTOptions()->loadWidgetDefaults();
 
--- branches/work/kst/portto4/kst/src/libkstapp/equationdialog.cpp #972952:972953
@@ -260,6 +260,7 @@
 void EquationDialog::configureTab(ObjectPtr object) {
   if (!object) {
     _equationTab->curveAppearance()->loadWidgetDefaults();
+    _equationTab->setToLastX();
   } else if (EquationPtr equation = kst_cast<Equation>(object)) {
     _equationTab->setXVector(equation->vXIn());
     _equationTab->setEquation(equation->equation());
--- branches/work/kst/portto4/kst/src/libkstapp/equationdialog.h #972952:972953
@@ -47,6 +47,8 @@
     void hideCurveOptions();
     void clearTabValues();
 
+    void setToLastX() {_xVectors->setToLastX();}
+
   public Q_SLOTS:
     void updateVectorCombos();
 
--- branches/work/kst/portto4/kst/src/widgets/vectorselector.cpp #972952:972953
@@ -15,6 +15,7 @@
 #include "datacollection.h"
 #include "objectstore.h"
 #include "dialogdefaults.h"
+#include "curve.h"
 
 namespace Kst {
 
@@ -145,6 +146,15 @@
   emit contentChanged();
 }
 
+void VectorSelector::setToLastX() {
+  if (!_store) {
+    return;
+  }
+  CurveList objects = _store->getObjects<Curve>();
+  if (objects.count()>0) {
+    setSelectedVector(objects.at(objects.count()-1)->xVector());
+  }
+}
 
 void VectorSelector::fillVectors() {
   if (!_store) {
--- branches/work/kst/portto4/kst/src/widgets/vectorselector.h #972952:972953
@@ -41,7 +41,10 @@
     void clearSelection();
 
     void fillVectors();
+    void setToLastX();
+
     void setIsX(bool is_x) {_isX = is_x;}
+    int count() {return _vector->count();}
 
   Q_SIGNALS:
     void selectionChanged(const QString&);


More information about the Kst mailing list