summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/tab_controller.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cocoa/tab_controller.mm')
-rw-r--r--chrome/browser/cocoa/tab_controller.mm53
1 files changed, 53 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/tab_controller.mm b/chrome/browser/cocoa/tab_controller.mm
new file mode 100644
index 0000000..1c10172
--- /dev/null
+++ b/chrome/browser/cocoa/tab_controller.mm
@@ -0,0 +1,53 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "chrome/browser/cocoa/tab_controller.h"
+
+@implementation TabController
+
+@synthesize image = image_;
+@synthesize loading = loading_;
+@synthesize target = target_;
+@synthesize action = action_;
+
++ (float)minTabWidth { return 64.0; }
++ (float)maxTabWidth { return 160.0; }
+
+- (TabView*)tabView {
+ return static_cast<TabView*>([self view]);
+}
+
+- (id)init {
+ self = [super initWithNibName:@"TabView" bundle:nil];
+ if (self != nil) {
+ [self setImage:[NSImage imageNamed:@"nav"]];
+ }
+ return self;
+}
+
+// Called when the tab's nib is done loading and all outlets are hooked up.
+- (void)awakeFromNib {
+ [[self view] addSubview:backgroundButton_
+ positioned:NSWindowBelow
+ relativeTo:nil];
+ // TODO(alcor): figure out what to do with the close button v. cell. Note
+ // there is no close button in the nib at the moment.
+ [closeButton_ setWantsLayer:YES];
+ [closeButton_ setAlphaValue:0.2];
+ [self setSelected:NO];
+}
+
+- (void)setSelected:(BOOL)selected {
+ if (selected_ != selected) {
+ selected_ = selected;
+ [backgroundButton_ setState:selected];
+ [[self view] setNeedsDisplay:YES];
+ }
+}
+
+- (BOOL)selected {
+ return selected_;
+}
+
+@end