本文整理汇总了C++中ContainerNode::isContentEditable方法的典型用法代码示例。如果您正苦于以下问题:C++ ContainerNode::isContentEditable方法的具体用法?C++ ContainerNode::isContentEditable怎么用?C++ ContainerNode::isContentEditable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContainerNode
的用法示例。
在下文中一共展示了ContainerNode::isContentEditable方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doApply
void RemoveNodeCommand::doApply()
{
ContainerNode* parent = m_node->parentNode();
if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable
&& !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->renderer()))
return;
ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->renderer());
m_parent = parent;
m_refChild = m_node->nextSibling();
m_node->remove(IGNORE_EXCEPTION);
}
示例2: doApply
void RemoveNodeCommand::doApply()
{
ContainerNode* parent = m_node->parentNode();
if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable
&& !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->attached()))
return;
ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->attached());
m_parent = parent;
m_refChild = m_node->nextSibling();
ExceptionCode ec;
m_node->remove(ec);
}
示例3: doApply
void InsertNodeBeforeCommand::doApply()
{
ContainerNode* parent = m_refChild->parentNode();
if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable)))
return;
ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable));
parent->insertBefore(m_insertChild.get(), m_refChild.get(), IGNORE_EXCEPTION);
}
示例4: doApply
void RemoveNodeCommand::doApply(EditingState* editingState)
{
ContainerNode* parent = m_node->parentNode();
if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable
&& !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) && parent->inActiveDocument()))
return;
ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable) || !parent->inActiveDocument());
m_parent = parent;
m_refChild = m_node->nextSibling();
m_node->remove(IGNORE_EXCEPTION);
// Node::remove dispatch synchronous events such as IFRAME unload events,
// and event handlers may break the document. We check the document state
// here in order to prevent further processing in bad situation.
ABORT_EDITING_COMMAND_IF(!m_node->document().frame());
ABORT_EDITING_COMMAND_IF(!m_node->document().documentElement());
}
示例5: doReapply
void SplitTextNodeCommand::doReapply()
{
if (!m_text1 || !m_text2)
return;
ContainerNode* parent = m_text2->parentNode();
if (!parent || !parent->isContentEditable())
return;
insertText1AndTrimText2();
}
示例6: doApply
void InsertNodeBeforeCommand::doApply()
{
ContainerNode* parent = m_refChild->parentNode();
if (!parent || (m_shouldAssumeContentIsAlwaysEditable == DoNotAssumeContentIsAlwaysEditable && !parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable)))
return;
ASSERT(parent->isContentEditable(Node::UserSelectAllIsAlwaysNonEditable));
parent->insertBefore(m_insertChild.get(), m_refChild.get(), IGNORE_EXCEPTION);
if (AXObjectCache* cache = document().existingAXObjectCache())
cache->nodeTextChangeNotification(m_insertChild.get(), AXObjectCache::AXTextInserted, 0, m_insertChild->nodeValue());
}
示例7: doApply
void RemoveNodeCommand::doApply()
{
ContainerNode* parent = m_node->parentNode();
if (!parent || !parent->isContentEditable())
return;
m_parent = parent;
m_refChild = m_node->nextSibling();
ExceptionCode ec;
m_node->remove(ec);
}
示例8: doApply
void SplitTextNodeCommand::doApply()
{
ContainerNode* parent = m_text2->parentNode();
if (!parent || !parent->isContentEditable())
return;
ExceptionCode ec = 0;
String prefixText = m_text2->substringData(0, m_offset, ec);
if (prefixText.isEmpty())
return;
m_text1 = Text::create(document(), prefixText);
ASSERT(m_text1);
document()->markers()->copyMarkers(m_text2.get(), 0, m_offset, m_text1.get(), 0);
insertText1AndTrimText2();
}