Переглянути джерело

*** empty log message ***

gregw 25 роки тому
батько
коміт
5a047399ef
3 змінених файлів з 115 додано та 1 видалено
  1. 52 0
      direct/src/gui/Background.py
  2. 59 0
      direct/src/gui/Collection.py
  3. 4 1
      direct/src/gui/Frame.py

+ 52 - 0
direct/src/gui/Background.py

@@ -0,0 +1,52 @@
+from ShowBaseGlobal import *
+from DirectObject import *
+from GuiGlobals import *
+import GuiBackground
+
+class Background(DirectObject):
+
+    def __init__(self, name, item, label):
+        self.name = name
+        self.item = item
+        self.label = label
+        self.background = GuiBackground.GuiBackground(name, self.item,
+                                                      self.label)
+        self.managed = 0
+	return None
+
+    def cleanup(self):
+	"""cleanup(self)
+	"""
+        if (self.managed):
+            self.unmanage()
+        self.background = None
+	return None
+
+    def __str__(self):
+        return "Background: %s behind %s" % (self.name, self.item )
+    
+    # accessing
+    def getName(self):
+        return self.name
+
+    def getGuiItem(self):
+        return self.background
+
+    def setPos(self, x, y):
+        v3 = Vec3.Vec3(x, 0, y)
+        self.background.setPos(v3)
+        
+    def setScale(self, scale):
+        self.background.setScale(scale)
+
+    # actions
+    def manage(self):
+        self.managed = 1
+        self.background.manage(guiMgr, base.eventMgr.eventHandler)
+
+    def unmanage(self):
+        self.managed = 0
+        self.background.unmanage()
+
+    def getItem(self):
+        return self.item

+ 59 - 0
direct/src/gui/Collection.py

@@ -0,0 +1,59 @@
+from ShowBaseGlobal import *
+from DirectObject import *
+from GuiGlobals import *
+import GuiCollection
+import Vec3
+
+class Collection(DirectObject):
+
+    def __init__(self, name):
+        self.name = name
+        self.collection = GuiCollection.GuiCollection(self.name)
+        self.items= []
+        self.managed = 0
+	return None
+
+    def cleanup(self):
+	"""cleanup(self)
+	"""
+        if (self.managed):
+            self.unmanage()
+        self.collection = None
+	return None
+
+    def __str__(self):
+        return "Collection: %s = %s" % (self.name, self.items)
+    
+    # accessing
+    def getName(self):
+        return self.name
+
+    def getGuiItem(self):
+        return self.collection
+
+    def setPos(self, x, y):
+        v3 = Vec3.Vec3(x, 0, y)
+        self.collection.setPos(v3)
+        
+    def setScale(self, scale):
+        self.collection.setScale(scale)
+
+    # actions
+    def manage(self):
+        self.managed = 1
+        self.collection.manage(guiMgr, base.eventMgr.eventHandler)
+
+    def unmanage(self):
+        self.managed = 0
+        self.collection.unmanage()
+
+    def addItem(self, item):
+        self.items.append(item)
+        self.collection.addItem(item.getGuiItem())
+
+    def removeItem(self, item):
+        self.items.remove(item)
+        self.collection.removeItem(item.getGuiItem())
+
+    def getItems(self):
+        return self.items

+ 4 - 1
direct/src/gui/Frame.py

@@ -72,7 +72,10 @@ class Frame(DirectObject):
     def removeItem(self, item):
     def removeItem(self, item):
         self.frame.removeItem(item.getGuiItem())
         self.frame.removeItem(item.getGuiItem())
         self.items.remove(item)
         self.items.remove(item)
-        
+
+    def getGuiItem(self):
+        return self.frame
+    
     def getItems(self):
     def getItems(self):
         return self.items
         return self.items