blob: e8902c630571bbbf096f15513be93a32e2139662 [file] [log] [blame]
// Copyright 2013 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.
#ifndef UI_MESSAGE_CENTER_COCOA_SETTINGS_ENTRY_VIEW_H_
#define UI_MESSAGE_CENTER_COCOA_SETTINGS_ENTRY_VIEW_H_
#import <Cocoa/Cocoa.h>
#import "base/mac/scoped_nsobject.h"
#import "ui/base/cocoa/hover_image_button.h"
#include "ui/message_center/notifier_settings.h"
@class MCSettingsController;
// The view that renders individual notifiers in the settings sheet. This
// includes an enable/disable checkbox, icon, name, and learn more button,
// and an optional horizontal separator line.
@interface MCSettingsEntryView : NSBox {
@private
// Weak. Owns us.
MCSettingsController* controller_;
// Weak, owned by MCSettingsController.
message_center::Notifier* notifier_;
// The image that will be displayed next to the notifier name, loaded
// asynchronously.
base::scoped_nsobject<NSImage> notifierIcon_;
// The button that can be displayed after the notifier name, that when
// clicked on causes an event to be fired for more information.
base::scoped_nsobject<HoverImageButton> learnMoreButton_;
// The button that contains the label, notifier icon and checkbox.
base::scoped_nsobject<NSButton> checkbox_;
// The border on the bottom of the view.
BOOL hasSeparator_;
base::scoped_nsobject<NSBox> separator_;
}
- (id)initWithController:(MCSettingsController*)controller
notifier:(message_center::Notifier*)notifier
frame:(NSRect)frame
hasSeparator:(BOOL)hasSeparator;
- (void)setNotifierIcon:(NSImage*)notifierIcon;
- (NSButton*)checkbox;
@end
@interface MCSettingsEntryView (TestingAPI)
- (void)clickLearnMore;
@end
#endif // UI_MESSAGE_CENTER_COCOA_SETTINGS_ENTRY_VIEW_H_