[PATCH 24/30] Make canvas a class method.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* iw/partition_gui.py (StripeGraph, method, getCanvas, setDisplayed)
(_createStripe, __init__): The canvas used to paint the graphs will be
the same for all the classes.  Access the canvas through getCanvas,
which is a classmethod now.
---
 iw/partition_gui.py |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/iw/partition_gui.py b/iw/partition_gui.py
index 94e1631..e5262e6 100644
--- a/iw/partition_gui.py
+++ b/iw/partition_gui.py
@@ -258,8 +258,8 @@ class Stripe:
 class StripeGraph:
     """ This class will only handle one stripe."""
 
+    __canvas = None
     def __init__(self, tree, editCB):
-        self.canvas = gnomecanvas.Canvas()
         self.stripe = None
         self.tree = tree
         self.editCB = editCB
@@ -275,8 +275,11 @@ class StripeGraph:
 
         self.next_ypos = 0.0
 
-    def getCanvas(self):
-        return self.canvas
+    @classmethod
+    def getCanvas(cls):
+        if not cls.__canvas:
+            cls.__canvas = gnomecanvas.Canvas()
+        return cls.__canvas
 
     def setDisplayed(self, obj):
         # Check to see if we already have the correct obj displayed.
@@ -290,7 +293,7 @@ class StripeGraph:
         self.stripe.put_on_canvas(0)
 
         # Trying to center the picture.
-        apply(self.canvas.set_scroll_region, self.canvas.root().get_bounds())
+        apply(self.getCanvas().set_scroll_region, self.getCanvas().root().get_bounds())
 
     def getDisplayed(self):
         return self.stripe
@@ -332,7 +335,7 @@ class DiskStripeGraph(StripeGraph):
         # Create the stripe
         drivetext = _("Drive %s (%-0.f MB) (Model: %s)") % (drive.path,
                 drive.size, drive.model)
-        stripe = Stripe(self.canvas, drivetext, self.editCB, obj = drive)
+        stripe = Stripe(self.getCanvas(), drivetext, self.editCB, obj = drive)
 
         # Create the slices.
         for part in drive.format.partedDisk.getFreeSpacePartitions() \
@@ -401,7 +404,7 @@ class LVMStripeGraph(StripeGraph):
     def _createStripe(self, vg):
         # Create the stripe
         vgtext = _("LVM Volume Group %s (%-0.f MB)") % (vg.name, vg.size)
-        stripe = Stripe(self.canvas, vgtext, self.editCB, obj = vg)
+        stripe = Stripe(self.getCanvas(), vgtext, self.editCB, obj = vg)
 
         # Create the slices.
         # Since se don't have a start and length like in the partitions, we
@@ -455,7 +458,7 @@ class MDRaidArrayStripeGraph(StripeGraph):
 
     def _createStripe(self, md):
         mdtext = _("MD RAID ARRAY %s (%-0.f MB)") % (md.path, md.size)
-        stripe = Stripe(self.canvas, mdtext, self.editCB, obj = md)
+        stripe = Stripe(self.getCanvas(), mdtext, self.editCB, obj = md)
 
         # Since we can't really create subslices with md devices we will only
         # show the md device size in the bar.
-- 
1.6.4.2

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux