Home | History | Annotate | Download | only in tab_contents
      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