| 74 | | def SaveSidePositions(self, key, l,t,w,h): |
|---|
| 75 | | self._LockingSides[self.Left][0][key] = [(l-self._DeltaAttract, t, l+self._DeltaResist, t+h, l)] |
|---|
| 76 | | self._LockingSides[self.Right][0][key] = [(l+w-self._DeltaResist, t, l+w+self._DeltaAttract, t+h, l+w)] |
|---|
| 77 | | self._LockingSides[self.Bottom][0][key] = [(l, t+h-self._DeltaResist, l+w, t+h+self._DeltaAttract, t+h)] |
|---|
| 78 | | self._LockingSides[self.Top][0][key] = [(l, t-self._DeltaAttract, l+w, t+self._DeltaResist, t)] |
|---|
| 79 | | |
|---|
| 80 | | self._LockingSides[self.LeftInner][0][key] = [(l-self._DeltaResist, t-self._DeltaWing, l+self._DeltaAttract, t, l), (l-self._DeltaResist, t+h, l+self._DeltaAttract, t+h+self._DeltaWing, l)] |
|---|
| 81 | | self._LockingSides[self.RightInner][0][key] = [(l+w-self._DeltaAttract, t-self._DeltaWing, l+w+self._DeltaResist, t, l+w), (l+w-self._DeltaAttract, t+h, l+w+self._DeltaResist, t+h+self._DeltaWing, l+w)] |
|---|
| 82 | | self._LockingSides[self.BottomInner][0][key] = [(l-self._DeltaWing, t+h-self._DeltaAttract, l, t+h+self._DeltaResist, t+h), (l+w, t+h-self._DeltaAttract, l+w+self._DeltaWing, t+h+self._DeltaResist, t+h)] |
|---|
| 83 | | self._LockingSides[self.TopInner][0][key] = [(l-self._DeltaWing, t-self._DeltaResist, l, t+self._DeltaAttract, t), (l+w, t-self._DeltaResist, l+w+self._DeltaWing, t+self._DeltaAttract, t)] |
|---|
| 84 | | |
|---|
| 85 | | def SetupScreenLockingSides(Class): |
|---|
| 86 | | l,t,w,h = wx.wxGetClientDisplayRect().asTuple() |
|---|
| 87 | | Class._LockingSides[Class.LeftInner][0][None] = [(l-Class._DeltaResist, t, l+Class._DeltaAttract, t+h, l)] |
|---|
| 88 | | Class._LockingSides[Class.RightInner][0][None] = [(l+w-Class._DeltaAttract, t, l+w+Class._DeltaResist, t+h, l+w)] |
|---|
| 89 | | Class._LockingSides[Class.BottomInner][0][None] = [(l, t+h-Class._DeltaAttract, l+w, t+h+Class._DeltaResist, t+h)] |
|---|
| 90 | | Class._LockingSides[Class.TopInner][0][None] = [(l, t-Class._DeltaResist, l+w, t+Class._DeltaAttract, t)] |
|---|
| 91 | | SetupScreenLockingSides = classmethod(SetupScreenLockingSides) |
|---|
| | 74 | def SaveSidePositions(self, key, rect): |
|---|
| | 75 | return self.SaveSidePositionsEx(key, rect, outsides=True, insides=True, deltas=(self._DeltaAttract, self._DeltaResist, self._DeltaWing)) |
|---|
| | 76 | |
|---|
| | 77 | def SaveSidePositionsEx(Class, key, rect, outsides=True, insides=True, deltas=None): |
|---|
| | 78 | l,t,w,h = rect |
|---|
| | 79 | dAttract, dResist, dWing = deltas or (Class._DeltaAttract, Class._DeltaResist, Class._DeltaWing) |
|---|
| | 80 | if outsides: |
|---|
| | 81 | Class._LockingSides[Class.Left][0][key] = [(l-dAttract, t, l+dResist, t+h, l)] |
|---|
| | 82 | Class._LockingSides[Class.Right][0][key] = [(l+w-dResist, t, l+w+dAttract, t+h, l+w)] |
|---|
| | 83 | Class._LockingSides[Class.Bottom][0][key] = [(l, t+h-dResist, l+w, t+h+dAttract, t+h)] |
|---|
| | 84 | Class._LockingSides[Class.Top][0][key] = [(l, t-dAttract, l+w, t+dResist, t)] |
|---|
| | 85 | |
|---|
| | 86 | if insides: |
|---|
| | 87 | Class._LockingSides[Class.LeftInner][0][key] = [(l-dResist, t-dWing, l+dAttract, t, l), (l-dResist, t+h, l+dAttract, t+h+dWing, l)] |
|---|
| | 88 | Class._LockingSides[Class.RightInner][0][key] = [(l+w-dAttract, t-dWing, l+w+dResist, t, l+w), (l+w-dAttract, t+h, l+w+dResist, t+h+dWing, l+w)] |
|---|
| | 89 | Class._LockingSides[Class.BottomInner][0][key] = [(l-dWing, t+h-dAttract, l, t+h+dResist, t+h), (l+w, t+h-dAttract, l+w+dWing, t+h+dResist, t+h)] |
|---|
| | 90 | Class._LockingSides[Class.TopInner][0][key] = [(l-dWing, t-dResist, l, t+dAttract, t), (l+w, t-dResist, l+w+dWing, t+dAttract, t)] |
|---|
| | 91 | SaveSidePositionsEx = classmethod(SaveSidePositionsEx) |
|---|
| | 92 | |
|---|
| | 93 | def SetupInternalLockingSides(Class, key, rect, deltas=None): |
|---|
| | 94 | l,t,w,h = rect |
|---|
| | 95 | dAttract, dResist, dWing = deltas or (Class._DeltaAttract, Class._DeltaResist, Class._DeltaWing) |
|---|
| | 96 | Class._LockingSides[Class.LeftInner][0][key] = [(l-dResist, t, l+dAttract, t+h, l)] |
|---|
| | 97 | Class._LockingSides[Class.RightInner][0][key] = [(l+w-dAttract, t, l+w+dResist, t+h, l+w)] |
|---|
| | 98 | Class._LockingSides[Class.BottomInner][0][key] = [(l, t+h-dAttract, l+w, t+h+dResist, t+h)] |
|---|
| | 99 | Class._LockingSides[Class.TopInner][0][key] = [(l, t-dResist, l+w, t+dAttract, t)] |
|---|
| | 100 | SetupInternalLockingSides = classmethod(SetupInternalLockingSides) |
|---|