]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/EventManager.py
Warning fixes and source cleaning.
[wxWidgets.git] / wxPython / demo / EventManager.py
index b492ecc59936b42f0b59b3c68c64dbf027c0228e..7f794289c29e404067f3f372fa8844f8dbfab536 100644 (file)
@@ -8,16 +8,6 @@
 # Copyright:   (c) 2002 by Robb Shecter (robb@acm.org)
 # Licence:     wxWindows license
 #---------------------------------------------------------------------------
 # 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
 
 import  wx
 import  wx.lib.evtmgr   as  em
@@ -62,19 +52,18 @@ class TestPanel(wx.Panel):
         message2 = wx.StaticText(self, -1, txt)
         message2.SetFont(f1)
 
         message2 = wx.StaticText(self, -1, txt)
         message2.SetFont(f1)
 
-        targetPanel = Tile(self, log, bgColor=wxColour(80,10,10), active=0)
-        buttonPanel = wxPanel(self ,-1)
-        sizer       = wxBoxSizer(wxHORIZONTAL)
+        targetPanel = Tile(self, log, bgColor=wx.Colour(80,10,10), active=0)
+        buttonPanel = wx.Panel(self ,-1)
+        sizer       = wx.BoxSizer(wx.HORIZONTAL)
         target      = targetPanel.tile
 
         sizer.Add((0,0), 1)
         for factor in [0.2, 0.3, 0.4, 0.5, 0.6, 0.7]:
         target      = targetPanel.tile
 
         sizer.Add((0,0), 1)
         for factor in [0.2, 0.3, 0.4, 0.5, 0.6, 0.7]:
-            sizer.Add(Tile(buttonPanel, log, factor-0.05, target), 0, wxALIGN_CENTER)
+            sizer.Add(Tile(buttonPanel, log, factor-0.05, target), 0, wx.ALIGN_CENTER)
             sizer.Add((0,0),1)
             sizer.Add((0,0),1)
-            sizer.Add(Tile(buttonPanel, log, factor,      target), 0, wxALIGN_CENTER)
+            sizer.Add(Tile(buttonPanel, log, factor,      target), 0, wx.ALIGN_CENTER)
             sizer.Add((0,0),1)
 
             sizer.Add((0,0),1)
 
-        buttonPanel.SetAutoLayout(1)
         buttonPanel.SetSizer(sizer)
         sizer.Fit(buttonPanel)
 
         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(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)
         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)
 
 
 
         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
     """
     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):
     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.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()
         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
         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)
 
 
             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()
     def setHover(self, event):
         self.SetBackgroundColour(Tile.hover)
         self.Refresh()
@@ -137,7 +129,7 @@ class Tile(wx.Panel):
 
 
 
 
 
 
-class InnerTile(wxPanel):
+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)
     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(wxPanel):
     events over the 'thingToWatch'.
     """
     def __init__(self, parent, log, factor, thingToWatch=None, bgColor=None):
     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)
         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
 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:])