From f1c005149f275c7c72d40b3700110a488469d135 Mon Sep 17 00:00:00 2001 From: gregw <> Date: Sat, 18 Nov 2000 01:45:19 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/gui/Button.py | 25 ++++++++++++++++--------- direct/src/gui/Frame.py | 28 ++++++++++++++++++---------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/direct/src/gui/Button.py b/direct/src/gui/Button.py index 93fef8c288..5f06c02426 100644 --- a/direct/src/gui/Button.py +++ b/direct/src/gui/Button.py @@ -9,46 +9,53 @@ font = (loader.loadModelOnce("fonts/ttf-comic")).node() class Button: - def __init__(self, name): + def __init__(self, name, label=None): self.name = name - self.managed = 0 + # if no label given, use the button name + if (label == None): + self.label = name + else: + self.label = label # up - self.l1 = GuiLabel.GuiLabel.makeSimpleTextLabel(name, font) + self.l1 = GuiLabel.GuiLabel.makeSimpleTextLabel(self.label, font) self.l1.setForegroundColor(0., 0., 0., 1.) self.l1.setBackgroundColor(1., 1., 1., 1.) # roll-over up - self.l2 = GuiLabel.GuiLabel.makeSimpleTextLabel(name, font) + self.l2 = GuiLabel.GuiLabel.makeSimpleTextLabel(self.label, font) self.l2.setForegroundColor(0., 0., 0., 1.) self.l2.setBackgroundColor(1., 1., 0., 1.) # roll-over down - self.l3 = GuiLabel.GuiLabel.makeSimpleTextLabel(name, font) + self.l3 = GuiLabel.GuiLabel.makeSimpleTextLabel(self.label, font) self.l3.setForegroundColor(1., 1., 1., 1.) self.l3.setBackgroundColor(0., 0., 0., 1.) - self.button = GuiButton.GuiButton(name, self.l1, self.l2, + self.button = GuiButton.GuiButton(self.name, self.l1, self.l2, self.l3, self.l3, self.l1) self.setScale(0.1) self.setPos(0., 0.) + self.managed = 0 def __del__(self): if (self.managed): self.button.unmanage() - del(self.button) del(self.l1) del(self.l2) + del(self.button) def __str__(self): return "Button: %s" % self.name def getName(self): return self.name + + def getLabel(self): + return self.label def getGuiItem(self): return self.button def getWidth(self): - # assume all buttons have the same width + # assume all labels have the same width return self.l1.getWidth() - def setWidth(self, width): self.l1.setWidth(width) diff --git a/direct/src/gui/Frame.py b/direct/src/gui/Frame.py index 668d0193fe..4d68b0f39e 100644 --- a/direct/src/gui/Frame.py +++ b/direct/src/gui/Frame.py @@ -24,19 +24,11 @@ class Frame: def __str__(self): return "Frame: %s = %s" % self.name, self.items - # frame functions + # accessing def getName(self): return self.name - def manage(self): - self.frame.manage(guiMgr, base.eventMgr.eventHandler) - self.managed = 1 - - def unmanage(self): - self.frame.unmanage() - self.unmanage = 0 - - def setPos(Self, x, y): + def setPos(self, x, y): v3 = Vec3.Vec3(x, 0., y) self.frame.setPos(v3) @@ -48,12 +40,28 @@ class Frame: def setOffset(self, offset): self.offset = offset + + # actions + def manage(self): + self.frame.manage(guiMgr, base.eventMgr.eventHandler) + self.managed = 1 + + def unmanage(self): + self.frame.unmanage() + self.managed = 0 + + def recompute(self): + self.frame.recompute() # content functions def addItem(self, item): self.frame.addItem(item.getGuiItem()) self.items.append(item) + def removeItem(self, item): + self.frame.removeItem(item.getGuiItem()) + self.items.remove(item) + def getItems(self): return self.items