[Kst] [Bug 118457] legends do not update automatically
George Staikos
staikos at kde.org
Tue Dec 20 15:45:45 CET 2005
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=118457
staikos kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
------- Additional Comments From staikos kde org 2005-12-20 15:45 -------
SVN commit 490029 by staikos:
Remove curves from the legend too - another case of not using the accessor.
Also some minor cleanups and a FIXME for something that could be inefficient.
BUG: 118457
M +2 -4 kst2dplot.cpp
M +1 -1 kstdatacollection-gui.cpp
M +7 -27 kstiface_impl.cpp
M +4 -1 kstplotdialog_i.cpp
--- trunk/extragear/graphics/kst/kst/kst2dplot.cpp #490028:490029
@ -3176,17 +3176,15 @
void Kst2DPlot::removeCurve(int id) {
KstBaseCurvePtr curve = *(Curves.findTag(_curveRemoveMap[id]));
if (curve) {
- Curves.remove(curve);
- setDirty();
+ removeCurve(curve);
if (_menuView) {
_menuView->paint();
}
- KstApp::inst()->document()->setModified();
}
}
-bool Kst2DPlot::popupMenu (KPopupMenu *menu, const QPoint& pos, KstViewObjectPtr topLevelParent) {
+bool Kst2DPlot::popupMenu(KPopupMenu *menu, const QPoint& pos, KstViewObjectPtr topLevelParent) {
bool hasEntry = false;
KstMouseModeType mode;
--- trunk/extragear/graphics/kst/kst/kstdatacollection-gui.cpp #490028:490029
@ -229,7 +229,7 @
void KST::removeCurveFromPlots(KstBaseCurve *c) {
Kst2DPlotList pl = Kst2DPlot::globalPlotList();
for (Kst2DPlotList::Iterator i = pl.begin(); i != pl.end(); ++i) {
- (*i)->Curves.remove(c);
+ (*i)->removeCurve(c);
}
}
--- trunk/extragear/graphics/kst/kst/kstiface_impl.cpp #490028:490029
@ -660,6 +660,7 @
return false;
}
+
QStringList KstIfaceImpl::plotContents(const QString& name) {
//iterate through the windows until plot is found
KstApp *app = KstApp::inst();
@ -681,6 +682,7 @
return QStringList();
}
+
bool KstIfaceImpl::addCurveToPlot(KMdiChildView *win, const QString& plot, const QString& curve) {
KstViewWindow *w = dynamic_cast<KstViewWindow*>(win);
@ -693,13 +695,8 @
KstBaseCurveList::Iterator ci = bcl.findTag(curve);
Kst2DPlotPtr p = *(plots.findTag(plot));
if (p && ci != bcl.end()) {
- (*ci)->writeLock();
p->addCurve(*ci);
- (*ci)->writeUnlock();
-
_doc->forceUpdate();
- _doc->setModified();
-
return true;
}
}
@ -711,18 +708,12 @
bool KstIfaceImpl::addCurveToPlot(const QString& window, const QString& plot, const QString& curve) {
- KstApp *app = KstApp::inst();
- KMdiChildView *activewin = app->findWindow(window);
-
- return addCurveToPlot(activewin, plot, curve);
+ return addCurveToPlot(KstApp::inst()->findWindow(window), plot, curve);
}
bool KstIfaceImpl::addCurveToPlot(const QString& plot, const QString& curve) {
- KstApp *app = KstApp::inst();
- KMdiChildView *activewin = app->activeWindow();
-
- return addCurveToPlot(activewin, plot, curve);
+ return addCurveToPlot(KstApp::inst()->activeWindow(), plot, curve);
}
@ -738,13 +729,8 @
KstBaseCurveList bcl = kstObjectSubList<KstDataObject,KstBaseCurve>(KST::dataObjectList);
KstBaseCurveList::Iterator ci = bcl.findTag(curve);
if (p && ci != bcl.end()) {
- (*ci)->readLock();
- p->Curves.remove(*ci);
- (*ci)->readUnlock();
-
+ p->removeCurve(*ci);
_doc->forceUpdate();
- _doc->setModified();
-
return true;
}
}
@ -755,18 +741,12 @
}
bool KstIfaceImpl::removeCurveFromPlot(const QString& window, const QString& plot, const QString& curve) {
- KstApp *app = KstApp::inst();
- KMdiChildView *activewin = app->findWindow(window);
-
- return removeCurveFromPlot(activewin, plot, curve);
+ return removeCurveFromPlot(KstApp::inst()->findWindow(window), plot, curve);
}
bool KstIfaceImpl::removeCurveFromPlot(const QString& plot, const QString& curve) {
- KstApp *app = KstApp::inst();
- KMdiChildView *activewin = app->activeWindow();
-
- return removeCurveFromPlot(activewin, plot, curve);
+ return removeCurveFromPlot(KstApp::inst()->activeWindow(), plot, curve);
}
--- trunk/extragear/graphics/kst/kst/kstplotdialog_i.cpp #490028:490029
@ -817,9 +817,12 @
static_cast<KstViewWindow*>(c)->view()->cleanup(_plotColumns->value());
}
+ // FIXME: be more efficient here. Only remove the curves that we need, only
+ // add the curves that we need
+
// add the curves
KstBaseCurveList curves = kstObjectSubList<KstDataObject, KstBaseCurve>(KST::dataObjectList);
- plot->Curves.clear();
+ plot->clearCurves();
for (unsigned i = 0; i < DisplayedCurveList->count(); i++) {
KstBaseCurveList::Iterator it = curves.findTag(DisplayedCurveList->text(i));
if (it != curves.end()) {
More information about the Kst
mailing list