Browse Source

add barTexture

David Rose 19 years ago
parent
commit
d7dcd2bc0b
2 changed files with 15 additions and 0 deletions
  1. 2 0
      direct/src/gui/DirectGuiBase.py
  2. 13 0
      direct/src/gui/DirectWaitBar.py

+ 2 - 0
direct/src/gui/DirectGuiBase.py

@@ -994,6 +994,8 @@ class DirectGuiWidget(DirectGuiBase, NodePath):
                 texture = loader.loadTexture(texture)
             if texture:
                 self.frameStyle[i].setTexture(texture)
+            else:
+                self.frameStyle[i].clearTexture()
         self.updateFrameStyle()
 
     def setFrameVisibleScale(self):

+ 13 - 0
direct/src/gui/DirectWaitBar.py

@@ -5,6 +5,7 @@ __all__ = ['DirectWaitBar']
 from pandac.PandaModules import *
 import DirectGuiGlobals as DGG
 from DirectFrame import *
+import types
 
 """
 import DirectWaitBar
@@ -31,6 +32,7 @@ class DirectWaitBar(DirectFrame):
             ('value',          0,                  self.setValue),
             ('barBorderWidth', (0, 0),             self.setBarBorderWidth),
             ('barColor',       (1, 0, 0, 1),       self.setBarColor),
+            ('barTexture',     None,               self.setBarTexture),
             ('barRelief',      DGG.FLAT,           self.setBarRelief),
             ('sortOrder',      NO_FADE_SORT_INDEX, None),
             )
@@ -80,6 +82,17 @@ class DirectWaitBar(DirectFrame):
         self.barStyle.setColor(color[0], color[1], color[2], color[3])
         self.updateBarStyle()
 
+    def setBarTexture(self):
+        # this must be a single texture (or a string).
+        texture = self['barTexture']
+        if isinstance(texture, types.StringTypes):
+            texture = loader.loadTexture(texture)
+        if texture:
+            self.barStyle.setTexture(texture)
+        else:
+            self.barStyle.clearTexture()
+        self.updateBarStyle()
+
     def update(self, value):
         self['value'] = value