Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ui / base / accelerators / platform_accelerator_cocoa.h
blob3f72cacd84a4d74d72eaa81a52ba24d69ed4e3c4
1 // Copyright (c) 2011 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.
5 #ifndef UI_BASE_ACCELERATORS_PLATFORM_ACCELERATOR_COCOA_H_
6 #define UI_BASE_ACCELERATORS_PLATFORM_ACCELERATOR_COCOA_H_
8 #include <Foundation/Foundation.h>
10 #include "base/mac/scoped_nsobject.h"
11 #include "ui/base/accelerators/platform_accelerator.h"
13 namespace ui {
15 // This is a Mac specific class for specifing accelerator keys.
16 class UI_BASE_EXPORT PlatformAcceleratorCocoa : public PlatformAccelerator {
17 public:
18 PlatformAcceleratorCocoa();
19 PlatformAcceleratorCocoa(NSString* key_code, NSUInteger modifier_mask);
20 virtual ~PlatformAcceleratorCocoa();
22 // PlatformAccelerator:
23 virtual scoped_ptr<PlatformAccelerator> CreateCopy() const OVERRIDE;
24 virtual bool Equals(const PlatformAccelerator& rhs) const OVERRIDE;
26 // The keyEquivalent of the NSMenuItem associated with the accelerator.
27 NSString* characters() const { return characters_.get(); }
28 // The keyEquivalentModifierMask of the NSMenuItem associated with the
29 // accelerator.
30 NSUInteger modifier_mask() const { return modifier_mask_; }
32 private:
33 // String of characters for the key equivalent.
34 base::scoped_nsobject<NSString> characters_;
35 NSUInteger modifier_mask_;
37 DISALLOW_COPY_AND_ASSIGN(PlatformAcceleratorCocoa);
40 } // namespace ui
42 #endif // UI_BASE_ACCELERATORS_PLATFORM_ACCELERATOR_COCOA_H_