Skip to content

Commit a9a5c76

Browse files
committed
some fixes
* viewDidMoveToWindow is also called when a view is removed from superview, so window() is None and no wrapper needs to call positionViews * VanillaTabsDelegate is gone, all delegate actions goes to the controller, which is already set. Every tabView has already a delegate * Removing some unnecessary imports and attributes * Adding doc strings
1 parent 75eb1cf commit a9a5c76

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

Lib/vanilla/vanillaTabs.py

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import weakref
21
from Foundation import NSObject
32
from AppKit import NSViewController,\
43
NSTabViewController, NSTabView, NSTabViewItem,\
@@ -15,15 +14,16 @@
1514
NSViewControllerTransitionSlideBackward,\
1615
NSFont
1716
from vanilla.vanillaBase import VanillaBaseObject, _breakCycles, _sizeStyleMap, VanillaCallbackWrapper, \
18-
_reverseSizeStyleMap
17+
_reverseSizeStyleMap
1918
from vanilla.nsSubclasses import getNSSubclass
2019

2120

2221
class VanillaTabView(NSTabView):
2322

2423
def viewDidMoveToWindow(self):
25-
wrapper = self.vanillaWrapper()
26-
wrapper._positionViews()
24+
if self.window() is not None:
25+
wrapper = self.vanillaWrapper()
26+
wrapper._positionViews()
2727
super().viewDidMoveToWindow()
2828

2929

@@ -125,6 +125,30 @@ def __init__(self):
125125
+-----------+
126126
| "mini" |
127127
+-----------+
128+
129+
**showTabs** Boolean representing if the tabview should display tabs.
130+
131+
**transitionStyle** A string rerpresenting a transition style between tabs.
132+
The options are:
133+
134+
+-----------------+
135+
| None |
136+
+-----------------+
137+
| "crossfade" |
138+
+-----------------+
139+
| "slideUp" |
140+
+-----------------+
141+
| "slideDown" |
142+
+-----------------+
143+
| "slideLeft" |
144+
+-----------------+
145+
| "slideRight" |
146+
+-----------------+
147+
| "slideForward" |
148+
+-----------------+
149+
| "slideBackward" |
150+
+-----------------+
151+
128152
"""
129153

130154
nsTabViewClass = VanillaTabView
@@ -153,7 +177,6 @@ def __init__(self, posSize, titles=["Tab"], callback=None, sizeStyle="regular",
153177
self._setSizeStyle(sizeStyle)
154178
self._tabViewController.setTransitionOptions_(_tabTransitionMap[transitionStyle])
155179
self._tabItems = []
156-
contentRect = self._nsObject.contentRect()
157180
for title in titles:
158181
tab = self.vanillaTabItemClass(title)
159182
self._tabItems.append(tab)
@@ -192,9 +215,6 @@ def _setCallback(self, callback):
192215
if callback is not None:
193216
self._target = VanillaCallbackWrapper(callback)
194217
delegate = self._nsObject.delegate()
195-
if delegate is None:
196-
self._delegate = delegate = getNSSubclass(VanillaTabsDelegate).alloc().init()
197-
self._nsObject.setDelegate_(delegate)
198218
delegate._target = self._target
199219

200220
def _setSizeStyle(self, value):

0 commit comments

Comments
 (0)