And, of course, the simple approach is to simply use the wx.FRAME_FLOAT_ON_PARENT
style...
class DockingFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, title="Last Hand",
style=wx.CAPTION | wx.FRAME_FLOAT_ON_PARENT)
parent.Bind(wx.EVT_MOVE, self.OnParentMove)
parent.Bind(wx.EVT_SHOW, self.OnParentShow)
def SnapToParent(self):
print "*Snapping to parent"
pr = positioning.position(
self.Rect,
my='right_top', at='left_top', of=self.Parent.Rect)
self.Move(pr.top_left)
def OnParentMove(self, moveEvent):
moveEvent.Skip()
self.SnapToParent()
def OnParentShow(self, event):
event.Skip()
print "Parent %s" % ("Hide", "Show")[event.GetShow()]
self.Show(event.GetShow())