Skip to content

Commit

Permalink
experiment
Browse files Browse the repository at this point in the history
  • Loading branch information
aaroncrespo committed Dec 15, 2011
1 parent 5c6f442 commit 89ee503
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 44 deletions.
4 changes: 2 additions & 2 deletions WILLTabView/WILLTabView/WILLTabView.h
Expand Up @@ -10,8 +10,8 @@
#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>

@interface WILLTabView : NSView {
IBOutlet NSTabView *tabView;
@interface WILLTabView : NSTabView {
// IBOutlet NSTabView *tabView;
NSSegmentedControl *segmentedControl;
}
@property (strong) NSView *barView;
Expand Down
46 changes: 23 additions & 23 deletions WILLTabView/WILLTabView/WILLTabView.m
Expand Up @@ -12,27 +12,27 @@ -(void)awakeFromNib {
// Setup segmented control
segmentedControl = [[NSSegmentedControl alloc] init];
[segmentedControl setCell:[[WILLTabCell alloc] init]];
[segmentedControl setSegmentCount:tabView.numberOfTabViewItems];
for (int i=0; i < tabView.numberOfTabViewItems; i++) {
//[segmentedControl setLabel:[[self tabViewItemAtIndex:i] label] forSegment:i];
[segmentedControl setImage:[NSImage imageNamed:[[tabView tabViewItemAtIndex:i] label]] forSegment:i];
}
[segmentedControl setSegmentCount:self.numberOfTabViewItems];
[segmentedControl setTarget:self];
[segmentedControl setAction:@selector(ctrlSelected:)];
[segmentedControl setSelectedSegment:[tabView indexOfTabViewItem:[tabView selectedTabViewItem]]];
[self addSubview:segmentedControl];
[segmentedControl setSelectedSegment:[self indexOfTabViewItem:[self selectedTabViewItem]]];
for (int i=0; i < self.numberOfTabViewItems; i++) {
//[segmentedControl setLabel:[[self tabViewItemAtIndex:i] label] forSegment:i];
[segmentedControl setImage:[NSImage imageNamed:[[self tabViewItemAtIndex:i] label]] forSegment:i];
}
[[super superview] addSubview:segmentedControl];

barView = [[NSView alloc] init];
[barView setFrame:NSMakeRect(0,self.frame.size.height-BAR_HEIGHT,self.frame.size.width, BAR_HEIGHT)];
[barView setFrame:NSMakeRect(0,0,self.frame.size.width, BAR_HEIGHT)];
[barView setAutoresizingMask:NSViewWidthSizable|NSViewMinYMargin];
[self addSubview:barView];
[[super superview] addSubview:barView];


[segmentedControl setFrame:NSMakeRect(20, self.frame.size.height-BAR_HEIGHT, self.frame.size.width, BAR_HEIGHT)];
[segmentedControl setFrame:NSMakeRect(LEFT_PADDING, self.frame.size.height-BAR_HEIGHT, self.frame.size.width, BAR_HEIGHT)];
[segmentedControl setAutoresizingMask:NSViewMinYMargin];


[tabView setFrameSize:NSMakeSize(_bounds.size.width, _bounds.size.height - BAR_HEIGHT)];
//clipping
[self setFrameSize:NSMakeSize(_bounds.size.width, _bounds.size.height - BAR_HEIGHT)];


}
Expand All @@ -50,36 +50,36 @@ -(void)drawRect:(NSRect)dirtyRect
#pragma mark Callback - link our segementedControl to the tabViewItems

-(void)ctrlSelected:(NSSegmentedControl *)sender {
[tabView selectTabViewItemAtIndex:[sender selectedSegment]];
[super selectTabViewItemAtIndex:[sender selectedSegment]];
}

#pragma mark segment control and tabview sync methods

-(void)selectTabViewItem:(NSTabViewItem *)tabViewItem {
[tabView selectTabViewItem:tabViewItem];
[segmentedControl setSelectedSegment:[tabView indexOfTabViewItem:[tabView selectedTabViewItem]]];
[super selectTabViewItem:tabViewItem];
[segmentedControl setSelectedSegment:[self indexOfTabViewItem:[self selectedTabViewItem]]];
}

-(void)selectTabViewItemAtIndex:(NSInteger)index {
[tabView selectTabViewItemAtIndex:index];
[segmentedControl setSelectedSegment:[tabView indexOfTabViewItem:[tabView selectedTabViewItem]]];
[super selectTabViewItemAtIndex:index];
[segmentedControl setSelectedSegment:[self indexOfTabViewItem:[self selectedTabViewItem]]];
}

-(void)selectTabViewItemWithIdentifier:(id)identifier {
[tabView selectTabViewItemWithIdentifier:identifier];
[segmentedControl setSelectedSegment:[tabView indexOfTabViewItem:[tabView selectedTabViewItem]]];
[super selectTabViewItemWithIdentifier:identifier];
[segmentedControl setSelectedSegment:[self indexOfTabViewItem:[self selectedTabViewItem]]];
}
// skipping selectNext/PreviousTabViewItem - hoping they use above.

-(void)addTabViewItem:(NSTabViewItem *)anItem {
[tabView addTabViewItem:anItem];
[self addTabViewItem:anItem];
[self awakeFromNib];
[tabView setNeedsDisplay:YES];
[self setNeedsDisplay:YES];
}

-(void)removeTabViewItem:(NSTabViewItem *)anItem {
[tabView removeTabViewItem:anItem];
[self removeTabViewItem:anItem];
[self awakeFromNib];
[tabView setNeedsDisplay:YES];
[self setNeedsDisplay:YES];
}
@end
27 changes: 8 additions & 19 deletions WILLTabView/WILLTabView/en.lproj/MainMenu.xib
Expand Up @@ -1332,7 +1332,7 @@
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{-31, 149}, {128, 121}}</string>
<string key="NSFrame">{{-31, 173}, {128, 121}}</string>
<reference key="NSSuperview" ref="272935200"/>
<reference key="NSNextKeyView" ref="641837690"/>
<bool key="NSEnabled">YES</bool>
Expand All @@ -1351,7 +1351,7 @@
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrameSize">{403, 296}</string>
<string key="NSFrameSize">{440, 320}</string>
<reference key="NSNextKeyView" ref="245633836"/>
<string key="NSReuseIdentifierKey">_NS:610</string>
</object>
Expand Down Expand Up @@ -1384,7 +1384,7 @@
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{-24, 89}, {198, 178}}</string>
<string key="NSFrame">{{-24, 113}, {198, 178}}</string>
<reference key="NSSuperview" ref="152869646"/>
<reference key="NSNextKeyView" ref="641837690"/>
<bool key="NSEnabled">YES</bool>
Expand All @@ -1403,7 +1403,7 @@
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrameSize">{403, 296}</string>
<string key="NSFrameSize">{440, 320}</string>
<reference key="NSNextKeyView" ref="942941236"/>
<string key="NSReuseIdentifierKey">_NS:610</string>
</object>
Expand All @@ -1428,7 +1428,7 @@
<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
<string>NeXT TIFF v4.0 pasteboard type</string>
</set>
<string key="NSFrame">{{6, 141}, {134, 118}}</string>
<string key="NSFrame">{{6, 165}, {134, 118}}</string>
<reference key="NSSuperview" ref="143835969"/>
<reference key="NSNextKeyView" ref="641837690"/>
<bool key="NSEnabled">YES</bool>
Expand All @@ -1447,7 +1447,7 @@
<bool key="NSEditable">YES</bool>
</object>
</array>
<string key="NSFrameSize">{403, 296}</string>
<string key="NSFrameSize">{440, 320}</string>
<reference key="NSNextKeyView" ref="295194990"/>
<string key="NSReuseIdentifierKey">_NS:610</string>
</object>
Expand Down Expand Up @@ -3425,7 +3425,6 @@
<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="371.IBWindowTemplateEditedContentRect">{{380, 496}, {480, 360}}</string>
<integer value="1" key="371.NSWindowTemplate.visibleAtLaunch"/>
<string key="372.CustomClassName">WILLTabView</string>
<string key="372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="376.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
Expand Down Expand Up @@ -3503,6 +3502,7 @@
<string key="516.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="517.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="534.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="536.CustomClassName">WILLTabView</string>
<dictionary class="NSMutableDictionary" key="536.IBAttributePlaceholdersKey"/>
<string key="536.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="537.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
Expand Down Expand Up @@ -3609,18 +3609,7 @@
</object>
<object class="IBPartialClassDescription">
<string key="className">WILLTabView</string>
<string key="superclassName">NSView</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">tabView</string>
<string key="NS.object.0">NSTabView</string>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<string key="NS.key.0">tabView</string>
<object class="IBToOneOutletInfo" key="NS.object.0">
<string key="name">tabView</string>
<string key="candidateClassName">NSTabView</string>
</object>
</object>
<string key="superclassName">NSTabView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/WILLTabView.h</string>
Expand Down

0 comments on commit 89ee503

Please sign in to comment.