sad_tab_view.h revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_
6#define CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_
7
8#include "base/mac/scoped_nsobject.h"
9#include "ui/base/cocoa/base_view.h"
10
11#import <Cocoa/Cocoa.h>
12
13@class SadTabController;
14@class HyperlinkTextView;
15
16// A view that displays the "sad tab" (aka crash page).
17@interface SadTabView : BaseView<NSTextViewDelegate> {
18 @private
19  IBOutlet NSImageView* image_;
20  IBOutlet NSTextField* title_;
21  IBOutlet NSTextField* message_;
22  IBOutlet NSTextField* helpPlaceholder_;
23
24  base::scoped_nsobject<NSColor> backgroundColor_;
25  NSSize messageSize_;
26
27  // Text fields don't work as well with embedded links as text views, but
28  // text views cannot conveniently be created in IB. The xib file contains
29  // a text field |helpPlaceholder_| that's replaced by this text view |help_|
30  // in -awakeFromNib.
31  base::scoped_nsobject<HyperlinkTextView> help_;
32
33  // A weak reference to the parent controller.
34  IBOutlet SadTabController* controller_;
35}
36
37// Designated initializer is -initWithFrame: .
38
39// Called by SadTabController to remove the help text and link.
40- (void)removeHelpText;
41
42// Sets |help_| based on |helpPlaceholder_|, sets |helpPlaceholder_| to nil.
43- (void)initializeHelpText;
44
45@end
46
47#endif  // CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_
48