mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-12 00:50:40 +00:00
872f694c63
Now, nsIWidget::ExecuteNativeKeyBinding() isn't used by anybody for executing edit commands. Instead, they need array of edit commands for the key combination. So, the method should be renamed to GetEditCommands() and just return edit commands as an array. MozReview-Commit-ID: 4G0B1lJ8Lbe --HG-- extra : rebase_source : 4a5829281d59677c773950c34d91a1cd8074d243
47 lines
1.3 KiB
Objective-C
47 lines
1.3 KiB
Objective-C
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_widget_NativeKeyBindings_h_
|
|
#define mozilla_widget_NativeKeyBindings_h_
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
#include "mozilla/Attributes.h"
|
|
#include "mozilla/EventForwards.h"
|
|
#include "nsDataHashtable.h"
|
|
#include "nsIWidget.h"
|
|
|
|
namespace mozilla {
|
|
namespace widget {
|
|
|
|
typedef nsDataHashtable<nsPtrHashKey<struct objc_selector>, CommandInt>
|
|
SelectorCommandHashtable;
|
|
|
|
class NativeKeyBindings final
|
|
{
|
|
typedef nsIWidget::NativeKeyBindingsType NativeKeyBindingsType;
|
|
|
|
public:
|
|
static NativeKeyBindings* GetInstance(NativeKeyBindingsType aType);
|
|
static void Shutdown();
|
|
|
|
void Init(NativeKeyBindingsType aType);
|
|
|
|
void GetEditCommands(const WidgetKeyboardEvent& aEvent,
|
|
nsTArray<CommandInt>& aCommands);
|
|
|
|
private:
|
|
NativeKeyBindings();
|
|
|
|
SelectorCommandHashtable mSelectorToCommand;
|
|
|
|
static NativeKeyBindings* sInstanceForSingleLineEditor;
|
|
static NativeKeyBindings* sInstanceForMultiLineEditor;
|
|
}; // NativeKeyBindings
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_widget_NativeKeyBindings_h_
|