|
1 | | -import weakref |
2 | 1 | from Foundation import NSObject |
3 | 2 | from AppKit import NSViewController,\ |
4 | 3 | NSTabViewController, NSTabView, NSTabViewItem,\ |
|
15 | 14 | NSViewControllerTransitionSlideBackward,\ |
16 | 15 | NSFont |
17 | 16 | from vanilla.vanillaBase import VanillaBaseObject, _breakCycles, _sizeStyleMap, VanillaCallbackWrapper, \ |
18 | | - _reverseSizeStyleMap |
| 17 | + _reverseSizeStyleMap |
19 | 18 | from vanilla.nsSubclasses import getNSSubclass |
20 | 19 |
|
21 | 20 |
|
22 | 21 | class VanillaTabView(NSTabView): |
23 | 22 |
|
24 | 23 | def viewDidMoveToWindow(self): |
25 | | - wrapper = self.vanillaWrapper() |
26 | | - wrapper._positionViews() |
| 24 | + if self.window() is not None: |
| 25 | + wrapper = self.vanillaWrapper() |
| 26 | + wrapper._positionViews() |
27 | 27 | super().viewDidMoveToWindow() |
28 | 28 |
|
29 | 29 |
|
@@ -125,6 +125,30 @@ def __init__(self): |
125 | 125 | +-----------+ |
126 | 126 | | "mini" | |
127 | 127 | +-----------+ |
| 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 | +
|
128 | 152 | """ |
129 | 153 |
|
130 | 154 | nsTabViewClass = VanillaTabView |
@@ -153,7 +177,6 @@ def __init__(self, posSize, titles=["Tab"], callback=None, sizeStyle="regular", |
153 | 177 | self._setSizeStyle(sizeStyle) |
154 | 178 | self._tabViewController.setTransitionOptions_(_tabTransitionMap[transitionStyle]) |
155 | 179 | self._tabItems = [] |
156 | | - contentRect = self._nsObject.contentRect() |
157 | 180 | for title in titles: |
158 | 181 | tab = self.vanillaTabItemClass(title) |
159 | 182 | self._tabItems.append(tab) |
@@ -192,9 +215,6 @@ def _setCallback(self, callback): |
192 | 215 | if callback is not None: |
193 | 216 | self._target = VanillaCallbackWrapper(callback) |
194 | 217 | delegate = self._nsObject.delegate() |
195 | | - if delegate is None: |
196 | | - self._delegate = delegate = getNSSubclass(VanillaTabsDelegate).alloc().init() |
197 | | - self._nsObject.setDelegate_(delegate) |
198 | 218 | delegate._target = self._target |
199 | 219 |
|
200 | 220 | def _setSizeStyle(self, value): |
|
0 commit comments