X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/372bde9b72b67036482dcc170f6260846e7a3b64..0a5bb138a71dfc1c706fc0858fb2801500e2c2e8:/wxPython/demo/EventManager.py diff --git a/wxPython/demo/EventManager.py b/wxPython/demo/EventManager.py index a846958e4b..7f794289c2 100644 --- a/wxPython/demo/EventManager.py +++ b/wxPython/demo/EventManager.py @@ -8,16 +8,6 @@ # Copyright: (c) 2002 by Robb Shecter (robb@acm.org) # Licence: wxWindows license #--------------------------------------------------------------------------- -# -# 11/22/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o Updated for wx namespace -# -# 11/25/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o What happened to wx.Color()? -# - import wx import wx.lib.evtmgr as em @@ -74,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) @@ -83,16 +72,15 @@ class TestPanel(wx.Panel): sizer.Add(message0, 0, wx.ALIGN_CENTER | wx.ALL, 6) sizer.Add(title2, 0, wx.ALIGN_CENTER | wx.LEFT | wx.TOP | wx.RIGHT, 16) sizer.Add(message1, 0, wx.ALIGN_CENTER | wx.ALL, 6) - sizer.Add(buttonPanel, 0, wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, 16) + sizer.Add(buttonPanel, 0, wx.EXPAND | wx.ALL, 16) 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 @@ -103,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 @@ -121,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() @@ -137,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) @@ -151,7 +143,8 @@ 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.SetMinSize((20,20)) self.log=log if bgColor: self.SetBackgroundColour(bgColor) @@ -293,5 +286,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:])