本文整理汇总了C++中TextEditor::InsertTextAsAction方法的典型用法代码示例。如果您正苦于以下问题:C++ TextEditor::InsertTextAsAction方法的具体用法?C++ TextEditor::InsertTextAsAction怎么用?C++ TextEditor::InsertTextAsAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextEditor
的用法示例。
在下文中一共展示了TextEditor::InsertTextAsAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
NS_IMETHODIMP
InsertPlaintextCommand::DoCommandParams(const char* aCommandName,
nsICommandParams* aParams,
nsISupports* aCommandRefCon) {
if (NS_WARN_IF(!aParams)) {
return NS_ERROR_INVALID_ARG;
}
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
if (NS_WARN_IF(!editor)) {
return NS_ERROR_FAILURE;
}
// Get text to insert from command params
nsAutoString text;
nsresult rv = aParams->AsCommandParams()->GetString(STATE_DATA, text);
if (NS_WARN_IF(NS_FAILED(rv))) {
return rv;
}
TextEditor* textEditor = editor->AsTextEditor();
MOZ_ASSERT(textEditor);
// XXX InsertTextAsAction() is not same as OnInputText(). However, other
// commands to insert line break or paragraph separator use OnInput*().
// According to the semantics of those methods, using *AsAction() is
// better, however, this may not cause two or more placeholder
// transactions to the top transaction since its name may not be
// nsGkAtoms::TypingTxnName.
rv = textEditor->InsertTextAsAction(text);
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Failed to insert the text");
return NS_OK;
}