Version: 1.1.0_devel (using KDE 3.3.2 Level "a" , SUSE 9.2 UNSUPPORTED) Compiler: gcc version 3.3.4 (pre 3.3.5 20040809) OS: Linux (i686) release 2.6.8-24.11-default If we create an equation using a static X vector, when we edit it, the vector is destroyed and recreated. Now any curves which used the equation are pointing to an orphan vector.... Save fails and changes to the equation's X vector are mysteriously not followed by the curve. There are two solutions to this problem: 1) equations no longer generate or hold static vectors, but vector dialogs gain the ability to create/edit vectors as well as Rvectors. To be compatible w/ old .ksts, we will have to modify the constructor. 2) equations split in two - those with static vectors, handled like psd's currently handle their -freq slave vector (in which case xvector is an output vector), and those with input X vectors handled as they are now, with X vectors as inputs. It will be impossible to change types once created. I like (1) better. Thoughts?
I have decided to pursue method 1. Rather than adding static vector attributes into kstvector, I am creating a new class, KstSVector, which is a kst vector with new constructors (depricating KstVector::generateVector(), and allowing the loading of an <svector> from a .kst file), a save() method, and a changeRange method. For now, I will not override ::update() but eventually we can optimize away all of the calculations...
CVS commit by netterfield: Starting to fix equations. Step 1: introduce svectors, which are static vectors defined over a certain range. The vectorDialog can also create them. They save and load. But -vectorDialog can't edit them yet -data manager doesn't know about them yet. CCBUG:101214 A kstsvector.cpp 1.1 [GPL (v2+)] A kstsvector.h 1.1 [GPL (v2+)] M +1 -0 Makefile.am 1.184 M +1 -1 kstdatamanager_i.cpp 1.98 M +19 -7 kstdoc.cpp 1.156 M +4 -0 kstrvector.cpp 1.83 M +7 -3 kstvector.cpp 1.103 M +6 -0 kstvector.h 1.67 M +96 -77 kstvectordialog_i.cpp 1.65 M +3 -2 kstvectordialog_i.h 1.22 M +44 -37 main.cpp 1.108 M +366 -106 vectordialog.ui 1.33 M +1 -0 vectorselector.ui 1.13 M +25 -12 vectorselector.ui.h 1.15
CVS commit by netterfield: BUG: 101214 GUI: Equations no longer make X vectors. They only use vectors. SVectors can now be edited and viewed from the data manager. M +1 -1 curveappearancewidget.ui 1.27 M +17 -289 eqdialog.ui 1.31 M +21 -19 kst.cpp 1.301 M +65 -1 kstdatamanager_i.cpp 1.100 M +3 -0 kstdatamanager_i.h 1.31 M +26 -85 ksteqdialog_i.cpp 1.80 M +24 -61 kstequation.cpp 1.34 M +0 -4 kstequation.h 1.10