X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95bfd958bda8955ac81277c78e5627c926154f39..99109c0ff1c29c7c977c073f9f8e0bf4b8e728f7:/wxPython/demo/EventManager.py?ds=sidebyside diff --git a/wxPython/demo/EventManager.py b/wxPython/demo/EventManager.py index 8d77084aa7..861fb471a1 100644 --- a/wxPython/demo/EventManager.py +++ b/wxPython/demo/EventManager.py @@ -64,7 +64,6 @@ class TestPanel(wx.Panel): sizer.Add(Tile(buttonPanel, log, factor, target), 0, wx.ALIGN_CENTER) sizer.Add((0,0),1) - buttonPanel.SetAutoLayout(1) buttonPanel.SetSizer(sizer) sizer.Fit(buttonPanel) @@ -77,12 +76,11 @@ class TestPanel(wx.Panel): sizer.Add(title3, 0, wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT, 16) sizer.Add(message2, 0, wx.ALIGN_CENTER | wx.ALL, 6) sizer.Add(targetPanel, 2, wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, 16) - self.SetAutoLayout(1) self.SetSizer(sizer) -class Tile(wx.Panel): +class Tile(wx.Window): """ This outer class is responsible for changing its border color in response to certain mouse @@ -93,14 +91,14 @@ class Tile(wx.Panel): hover = wx.Colour(210,220,210) def __init__(self, parent, log, factor=1, thingToWatch=None, bgColor=None, active=1, size=(38,38), borderWidth=3): - wx.Panel.__init__(self, parent, -1, size=size, style=wx.CLIP_CHILDREN) + wx.Window.__init__(self, parent, -1, size=size, style=wx.CLIP_CHILDREN) self.tile = InnerTile(self, log, factor, thingToWatch, bgColor) self.log = log sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.tile, 1, wx.EXPAND | wx.ALL, borderWidth) - self.SetAutoLayout(1) self.SetSizer(sizer) self.Layout() + em.eventManager.Register(self.doLayout, wx.EVT_SIZE, self) self.SetBackgroundColour(Tile.normal) if active: # Register myself for mouse events over self.tile in order to @@ -111,6 +109,10 @@ class Tile(wx.Panel): em.eventManager.Register(self.setHover, wx.EVT_LEFT_UP, self.tile) + def doLayout(self, event): + self.Layout() + + def setHover(self, event): self.SetBackgroundColour(Tile.hover) self.Refresh() @@ -127,7 +129,7 @@ class Tile(wx.Panel): -class InnerTile(wx.Panel): +class InnerTile(wx.Window): IDLE_COLOR = wx.Colour( 80, 10, 10) START_COLOR = wx.Colour(200, 70, 50) FINAL_COLOR = wx.Colour( 20, 80,240) @@ -141,7 +143,7 @@ class InnerTile(wx.Panel): events over the 'thingToWatch'. """ def __init__(self, parent, log, factor, thingToWatch=None, bgColor=None): - wx.Panel.__init__(self, parent, -1) + wx.Window.__init__(self, parent, -1) self.log=log if bgColor: self.SetBackgroundColour(bgColor) @@ -283,5 +285,5 @@ by Robb Shecter (robb@acm.org) if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])