[Kst] kdeextragear-2/kst/kst

George Staikos staikos at kde.org
Wed Jul 28 20:01:43 CEST 2004


CVS commit by staikos: 

- plot groups need to fully paint themselves
- background colour should be loaded by viewobject base class
CCMAIL: 86116-done at bugs.kde.org


  M +0 -9      kst2dplot.cpp   1.185
  M +14 -5     kstplotgroup.cpp   1.14
  M +5 -0      kstviewobject.cpp   1.79


--- kdeextragear-2/kst/kst/kst2dplot.cpp  #1.184:1.185
@@ -73,8 +73,4 @@ Kst2DPlot::Kst2DPlot(const QString& in_t
   commonConstructor(in_tag, yscale_in, xscale_in, xmin_in, ymin_in,
                     xmax_in, ymax_in);
-
-  // Use default foreground and background colours in KstSettings
-  _foregroundColor = KstSettings::globalSettings()->foregroundColor;
-  _backgroundColor = KstSettings::globalSettings()->backgroundColor;
 }
 
@@ -91,9 +87,4 @@ Kst2DPlot::Kst2DPlot(QDomElement& e)
   bool x_log = false, y_log = false;
 
-  // Use default foreground and background colours in KstSettings
-  //  if there are no colurs in the xml file...
-  _foregroundColor = KstSettings::globalSettings()->foregroundColor;
-  _backgroundColor = KstSettings::globalSettings()->backgroundColor;
-
   // Must stay here for plot loading correctness
   _pos_x = 0.0;

--- kdeextragear-2/kst/kst/kstplotgroup.cpp  #1.13:1.14
@@ -51,7 +51,6 @@ KstObject::UpdateType KstPlotGroup::upda
 bool KstPlotGroup::removeChild(KstViewObjectPtr obj, bool recursive) {
   KstViewObjectList::Iterator it;
-  bool bRetVal = false;
 
-  if (KstViewObject::removeChild(obj,recursive)) {
+  if (KstViewObject::removeChild(obj, recursive)) {
     if (_children.count() > 1) {
       QRect gg = _children.first()->geometry();
@@ -63,5 +62,5 @@ bool KstPlotGroup::removeChild(KstViewOb
       updateAspect();
       for (KstViewObjectList::Iterator i = _children.begin(); i != _children.end(); ++i) {
-        updateAspect( );
+        updateAspect();
       }
     } else {
@@ -69,8 +68,8 @@ bool KstPlotGroup::removeChild(KstViewOb
     }
 
-    bRetVal = true;
+    return true;
   }
 
-  return bRetVal;
+  return false;
 }
 
@@ -78,4 +77,5 @@ bool KstPlotGroup::removeChild(KstViewOb
 void KstPlotGroup::flatten() {
   assert(_parent);
+  // FIXME: remove dependency on _parent
   for (KstViewObjectList::Iterator i = _children.begin(); i != _children.end(); ++i) {
     (*i)->setSelected(false);
@@ -102,5 +102,14 @@ void KstPlotGroup::saveTag(QTextStream& 
 
 void KstPlotGroup::paint(KstPaintType type, QPainter& p) {
+  QRegion clipRegion(geometry());
+  p.setClipRegion(clipRegion);
   KstMetaPlot::paint(type, p);
+  for (KstViewObjectList::Iterator i = _children.begin(); i != _children.end(); ++i) {
+    clipRegion = clipRegion.subtract(QRegion((*i)->geometry()));
+  }
+  p.setClipRegion(clipRegion);
+  QBrush brush(_backgroundColor);
+  p.fillRect(geometry(), brush);
+  p.setClipping(false);
 }
 

--- kdeextragear-2/kst/kst/kstviewobject.cpp  #1.78:1.79
@@ -38,4 +38,5 @@
 #include "kstdoc.h"
 #include "kstplotgroup.h"
+#include "kstsettings.h"
 #include "kstviewobject.h"
 #include "kstviewobjectfactory.h"
@@ -51,8 +52,12 @@ KstViewObject::KstViewObject(const QStri
   _focus = false;
   _selected = false;
+  _foregroundColor = KstSettings::globalSettings()->foregroundColor;
+  _backgroundColor = KstSettings::globalSettings()->backgroundColor;
 }
 
 
 KstViewObject::KstViewObject(QDomElement& e) : KstObject() {
+  _foregroundColor = KstSettings::globalSettings()->foregroundColor;
+  _backgroundColor = KstSettings::globalSettings()->backgroundColor;
   load(e);
 }





More information about the Kst mailing list