本文整理汇总了C++中editor::Command::execute方法的典型用法代码示例。如果您正苦于以下问题:C++ Command::execute方法的具体用法?C++ Command::execute怎么用?C++ Command::execute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类editor::Command
的用法示例。
在下文中一共展示了Command::execute方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleKeyboardEvent
void EditorClientAndroid::handleKeyboardEvent(KeyboardEvent* event) {
ASSERT(m_page);
Frame* frame = m_page->focusController()->focusedOrMainFrame();
if (!frame)
return;
const PlatformKeyboardEvent* keyEvent = event->keyEvent();
// TODO: If the event is not coming from Android Java, e.g. from JavaScript,
// PlatformKeyboardEvent is null. We should support this later.
if (!keyEvent)
return;
Editor::Command command = frame->editor()->command(interpretKeyEvent(event));
if (keyEvent->type() == PlatformKeyboardEvent::RawKeyDown) {
if (!command.isTextInsertion() && command.execute(event)) {
// This function mimics the Windows version. However, calling event->setDefaultHandled()
// prevents the javascript key events for the delete key from happening.
// Update: Safari doesn't send delete key events to javascript so
// we will mimic that behavior.
event->setDefaultHandled();
}
return;
}
if (command.execute(event)) {
event->setDefaultHandled();
return;
}
// Don't insert null or control characters as they can result in unexpected behaviour
if (event->charCode() < ' ')
return;
if (frame->editor()->insertText(keyEvent->text(), event))
event->setDefaultHandled();
}
示例2: handleKeyDown
static void handleKeyDown(Frame& frame, KeyboardEvent& event, const PlatformKeyboardEvent&)
{
String commandName = interpretKeyEvent(event);
if (commandName.isEmpty())
return;
// We shouldn't insert text through the editor. Let WebCore decide
// how to handle that (say, Tab, which could also be used to
// change focus).
Editor::Command command = frame.editor().command(commandName);
if (command.isTextInsertion())
return;
command.execute();
event.setDefaultHandled();
}