KHTML
htmlediting_impl.cpp
Go to the documentation of this file.
159 if (prev != pos && prev.node()->inSameContainingBlockFlowElement(pos.node()) && prev.node()->isTextNode()) {
176 if (next != pos && next.node()->inSameContainingBlockFlowElement(pos.node()) && next.node()->isTextNode()) {
344 // sugary-sweet convenience functions to help create and apply edit commands in composite commands
357 RefPtr<InsertNodeBeforeCommandImpl> cmd = new InsertNodeBeforeCommandImpl(document(), insertChild, refChild);
372 void CompositeEditCommandImpl::insertNodeAt(NodeImpl *insertChild, NodeImpl *refChild, long offset)
374 if (refChild->hasChildNodes() || (refChild->renderer() && refChild->renderer()->isBlockFlow())) {
409 RefPtr<RemoveNodeAndPruneCommandImpl> cmd = new RemoveNodeAndPruneCommandImpl(document(), pruneNode, stopNode);
415 RefPtr<RemoveNodePreservingChildrenCommandImpl> cmd = new RemoveNodePreservingChildrenCommandImpl(document(), removeChild);
450 void CompositeEditCommandImpl::replaceText(TextImpl *node, long offset, long count, const DOMString &replacementText)
452 RefPtr<DeleteTextCommandImpl> deleteCommand = new DeleteTextCommandImpl(document(), node, offset, count);
454 RefPtr<InsertTextCommandImpl> insertCommand = new InsertTextCommandImpl(document(), node, offset, replacementText);
476 RefPtr<DeleteCollapsibleWhitespaceCommandImpl> cmd = new DeleteCollapsibleWhitespaceCommandImpl(document());
482 RefPtr<DeleteCollapsibleWhitespaceCommandImpl> cmd = new DeleteCollapsibleWhitespaceCommandImpl(document(), selection);
488 RefPtr<RemoveCSSPropertyCommandImpl> cmd = new RemoveCSSPropertyCommandImpl(document(), decl, property);
494 RefPtr<RemoveNodeAttributeCommandImpl> cmd = new RemoveNodeAttributeCommandImpl(document(), element, attribute);
498 void CompositeEditCommandImpl::setNodeAttribute(ElementImpl *element, int attribute, const DOMString &value)
500 RefPtr<SetNodeAttributeCommandImpl> cmd = new SetNodeAttributeCommandImpl(document(), element, attribute, value);
510 styleElement->setAttribute(ATTR_STYLE, document()->part()->editor()->typingStyle()->cssText().implementation());
524 AppendNodeCommandImpl::AppendNodeCommandImpl(DocumentImpl *document, NodeImpl *parentNode, NodeImpl *appendChild)
566 ApplyStyleCommandImpl::ApplyStyleCommandImpl(DocumentImpl *document, CSSStyleDeclarationImpl *style)
640 Position start(endingSelection().start().equivalentDownstreamPosition().equivalentRangeCompliantPosition());
702 if (runStart->parentNode() != node->parentNode() || node->isHTMLElement() || node == end.node() ||
770 if (map && (map->length() == 1 || (map->length() == 2 && elem->getAttribute(ATTR_STYLE).isEmpty())) &&
814 bool ApplyStyleCommandImpl::splitTextAtStartIfNeeded(const Position &start, const Position &end)
816 if (start.node()->isTextNode() && start.offset() > start.node()->caretMinOffset() && start.offset() < start.node()->caretMaxOffset()) {
818 kDebug() << "[split start]" << start.offset() << start.node()->caretMinOffset() << start.node()->caretMaxOffset() << endl;
822 RefPtr<SplitTextNodeCommandImpl> cmd = new SplitTextNodeCommandImpl(document(), text, start.offset());
824 setEndingSelection(Selection(Position(start.node(), 0), Position(end.node(), end.offset() - endOffsetAdjustment)));
830 NodeImpl *ApplyStyleCommandImpl::splitTextAtEndIfNeeded(const Position &start, const Position &end)
832 if (end.node()->isTextNode() && end.offset() > end.node()->caretMinOffset() && end.offset() < end.node()->caretMaxOffset()) {
834 kDebug() << "[split end]" << end.offset() << end.node()->caretMinOffset() << end.node()->caretMaxOffset() << endl;
837 RefPtr<SplitTextNodeCommandImpl> cmd = new SplitTextNodeCommandImpl(document(), text, end.offset());
839 NodeImpl *startNode = start.node() == end.node() ? cmd->node()->previousSibling() : start.node();
841 setEndingSelection(Selection(Position(startNode, start.offset()), Position(cmd->node()->previousSibling(), cmd->node()->previousSibling()->caretMaxOffset())));
847 void ApplyStyleCommandImpl::surroundNodeRangeWithElement(NodeImpl *startNode, NodeImpl *endNode, ElementImpl *element)
866 static bool /*ApplyStyleCommandImpl::*/checkIfNewStylingNeeded(ElementImpl* element, CSSStyleDeclarationImpl *style)
890 void ApplyStyleCommandImpl::applyStyleIfNeeded(DOM::NodeImpl *startNode, DOM::NodeImpl *endNode)
896 if (parent->id() == ID_SPAN && parent->firstChild() == startNode && parent->lastChild() == endNode) {
907 bool ApplyStyleCommandImpl::currentlyHasStyle(const Position &pos, const CSSProperty *property) const
917 ApplyStyleCommandImpl::StyleChange ApplyStyleCommandImpl::computeStyleChange(const Position &insertionPoint, CSSStyleDeclarationImpl *style)
961 RefPtr<SplitTextNodeCommandImpl> split = new SplitTextNodeCommandImpl(document(), static_cast<TextImpl *>(pos.node()), pos.offset());
1001 DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl(DocumentImpl *document)
1006 DeleteCollapsibleWhitespaceCommandImpl::DeleteCollapsibleWhitespaceCommandImpl(DocumentImpl *document, const Selection &selection)
1007 : CompositeEditCommandImpl(document), m_charactersDeleted(0), m_selectionToCollapse(selection), m_hasSelectionToCollapse(true)
1011 DeleteCollapsibleWhitespaceCommandImpl::~DeleteCollapsibleWhitespaceCommandImpl()
1103 kDebug(6200) << " deleteText 1:" << textNode << "t len:" << textNode->length()<<"start:" << deleteStart.offset() << "del len:" << (it.current().offset() - deleteStart.offset());
1126 kDebug(6200) << " deleteText 2:"<< textNode<< "t len:" << textNode->length() <<"start:" <<deleteStart.offset() << "del len:" << count;
1182 DeleteSelectionCommandImpl::DeleteSelectionCommandImpl(DocumentImpl *document, const Selection &selection)
1183 : CompositeEditCommandImpl(document), m_selectionToDelete(selection), m_hasSelectionToDelete(true)
1238 bool DeleteSelectionCommandImpl::containsOnlyWhitespace(const Position &start, const Position &end)
1259 void DeleteSelectionCommandImpl::deleteContentInsideNode(NodeImpl *node, int startOffset, int endOffset)
1329 for (node = upstreamStart.node()->traverseNextNode(); node && node != downstreamEnd.node(); node = next) {
1331 kDebug() << "[traverse and delete]" << node << (node->renderer() && node->renderer()->isEditable()) << endl;
1375 kDebug() << "[{start:end}CompletelySelected]" << startCompletelySelected << endCompletelySelected << endl;
1379 bool startAtStartOfRootEditableElement = startRenderedOffset == 0 && downstreamStart.inFirstEditableInRootEditableElement();
1384 kDebug() << "[startAtStartOfRootEditableElement]" << startAtStartOfRootEditableElement << endl;
1392 kDebug() << "[startBlockEndBlockAreSiblings]" << startBlockEndBlockAreSiblings << startBlock << endBlock << endl;
1424 if ((startAtStartOfBlock && !endAtEndOfBlock) || (!startCompletelySelected && adjustEndingPositionDownstream)) {
1551 DeleteTextCommandImpl::DeleteTextCommandImpl(DocumentImpl *document, TextImpl *node, long offset, long count)
1651 TextImpl *textBeforeNode = document()->createTextNode(textNode->substringData(0, selection.start().offset(), exceptionCode));
1755 TextImpl *textBeforeNode = document()->createTextNode(textNode->substringData(0, selection.start().offset(), exceptionCode));
1857 if (pos.node()->isTextNode() && pos.offset() > pos.node()->caretMinOffset() && pos.offset() < pos.node()->caretMaxOffset()) {
1860 RefPtr<SplitTextNodeCommandImpl> cmd = new SplitTextNodeCommandImpl(document(), text, pos.offset());
1934 if (textNode->length() >= 2 && offset >= 2 && isNBSP(existingText[offset - 1]) && !isWS(existingText[offset - 2])) {
1976 if (offset > 0 && offset <= text.length() - 1 && !isWS(text[offset]) && !isWS(text[offset - 1])) {
1982 if (text.length() >= 2 && offset >= 2 && isNBSP(text[offset - 2]) && isNBSP(text[offset - 1])) {
1997 InsertNodeBeforeCommandImpl::InsertNodeBeforeCommandImpl(DocumentImpl *document, NodeImpl *insertChild, NodeImpl *refChild)
2040 InsertTextCommandImpl::InsertTextCommandImpl(DocumentImpl *document, TextImpl *node, long offset, const DOMString &text)
2080 JoinTextNodesCommandImpl::JoinTextNodesCommandImpl(DocumentImpl *document, TextImpl *text1, TextImpl *text2)
2137 ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl(DocumentImpl *document, DOM::DocumentFragmentImpl *fragment, bool selectReplacement)
2138 : CompositeEditCommandImpl(document), m_fragment(fragment), m_selectReplacement(selectReplacement)
2208 setEndingSelection(Selection(Position(firstLeaf, firstLeaf->caretMinOffset()), Position(lastLeaf, lastLeaf->caretMaxOffset())));
2219 MoveSelectionCommandImpl::MoveSelectionCommandImpl(DocumentImpl *document, DOM::DocumentFragmentImpl *fragment, DOM::Position &position)
2249 RefPtr<ReplaceSelectionCommandImpl> cmd = new ReplaceSelectionCommandImpl(document(), m_fragment, true);
2256 RemoveCSSPropertyCommandImpl::RemoveCSSPropertyCommandImpl(DocumentImpl *document, CSSStyleDeclarationImpl *decl, int property)
2291 RemoveNodeAttributeCommandImpl::RemoveNodeAttributeCommandImpl(DocumentImpl *document, ElementImpl *element, NodeImpl::Id attribute)
2387 RemoveNodeAndPruneCommandImpl::RemoveNodeAndPruneCommandImpl(DocumentImpl *document, NodeImpl *pruneNode, NodeImpl *stopNode)
2410 if (node == m_stopNode || editableBlock != node->enclosingBlockFlowElement() || !shouldPruneNode(node))
2421 RemoveNodePreservingChildrenCommandImpl::RemoveNodePreservingChildrenCommandImpl(DocumentImpl *document, NodeImpl *node)
2449 SetNodeAttributeCommandImpl::SetNodeAttributeCommandImpl(DocumentImpl *document, ElementImpl *element, NodeImpl::Id attribute, const DOMString &value)
2487 SplitTextNodeCommandImpl::SplitTextNodeCommandImpl(DocumentImpl *document, TextImpl *text, long offset)
2613 if (pos.inFirstEditableInRootEditableElement() && pos.offset() <= pos.node()->caretMinOffset()) {
2762 if (listBlock->firstChild() == listBlock->lastChild() && listBlock->firstChild() == startBlock) {
2857 if (startBlock->id() == ID_LI && (startBlock->previousSibling() || startBlock->nextSibling())) {
2881 if (startBlock->id() == ID_LI && endBlock->id() == ID_LI && startBlock->parent() == endBlock->parent()) {
2932 if (startBlock->id() == ID_LI && endBlock->id() == ID_LI && startBlock->parent() == endBlock->parent()) {
virtual void doApply()
Definition: htmlediting_impl.cpp:2015
DOM::Selection startingSelection() const
Definition: htmlediting_impl.h:113
ReplaceSelectionCommandImpl(DOM::DocumentImpl *document, DOM::DocumentFragmentImpl *fragment, bool selectReplacement=true)
Definition: htmlediting_impl.cpp:2137
static void insertNewline0(DocumentImpl *document)
Definition: htmlediting_impl.cpp:2694
DOM::NodeImpl * node() const
Definition: htmlediting_impl.h:539
virtual ~TypingCommandImpl()
Definition: htmlediting_impl.cpp:2559
static bool isBlockLevelStyle(const CSSStyleDeclarationImpl *style)
Definition: htmlediting_impl.cpp:579
RemoveNodePreservingChildrenCommandImpl(DOM::DocumentImpl *, DOM::NodeImpl *)
Definition: htmlediting_impl.cpp:2421
virtual ~RemoveNodePreservingChildrenCommandImpl()
Definition: htmlediting_impl.cpp:2428
Definition: htmlediting_impl.h:592
AppendNodeCommandImpl(DOM::DocumentImpl *, DOM::NodeImpl *parentNode, DOM::NodeImpl *appendChild)
Definition: htmlediting_impl.cpp:524
The CSSPrimitiveValue interface represents a single CSS value .
Definition: css_value.h:372
static bool isOpenForMoreTypingCommand(const EditCommandImpl *command)
Definition: htmlediting_impl.cpp:2675
InsertTextCommandImpl(DOM::DocumentImpl *document, DOM::TextImpl *, long, const DOM::DOMString &)
Definition: htmlediting_impl.cpp:2040
virtual void doUnapply()
Definition: htmlediting_impl.cpp:319
This class resembles the editing API when the associated khtml document is editable (in design mode),...
Definition: editor.h:61
bool isCompositeStep() const
Definition: htmlediting_impl.h:97
virtual ~CompositeEditCommandImpl()
Definition: htmlediting_impl.cpp:315
void deleteCollapsibleWhitespace()
Definition: htmlediting_impl.cpp:474
SetNodeAttributeCommandImpl(DOM::DocumentImpl *, DOM::ElementImpl *, DOM::NodeImpl::Id attribute, const DOM::DOMString &value)
Definition: htmlediting_impl.cpp:2449
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2474
virtual ~RemoveNodeCommandImpl()
Definition: htmlediting_impl.cpp:2351
virtual void doApply()
Definition: htmlediting_impl.cpp:2146
void deleteSelection()
Definition: htmlediting_impl.cpp:458
void splitTextNode(DOM::TextImpl *text, long offset)
Definition: htmlediting_impl.cpp:419
SplitTextNodeCommandImpl(DOM::DocumentImpl *, DOM::TextImpl *, long)
Definition: htmlediting_impl.cpp:2487
virtual ~InsertTextCommandImpl()
Definition: htmlediting_impl.cpp:2051
void setParent(EditCommandImpl *)
Definition: htmlediting_impl.cpp:302
virtual ~InputNewlineCommandImpl()
Definition: htmlediting_impl.cpp:1597
void appendNode(DOM::NodeImpl *parent, DOM::NodeImpl *appendChild)
Definition: htmlediting_impl.cpp:395
virtual void doApply()
Definition: htmlediting_impl.cpp:2463
Object base
virtual void doUnapply()
Definition: htmlediting_impl.cpp:1579
InputNewlineCommandImpl(DOM::DocumentImpl *document)
Definition: htmlediting_impl.cpp:1592
void setStartingSelection(const DOM::Selection &s)
Definition: htmlediting_impl.cpp:277
static void insertText0(DocumentImpl *document, const DOMString &text)
Definition: htmlediting_impl.cpp:2709
DeleteSelectionCommandImpl(DOM::DocumentImpl *document)
static QDebug kDebug(bool cond, int area=KDE_DEFAULT_DEBUG_AREA)
virtual ~InsertListCommandImpl()
Definition: htmlediting_impl.cpp:2736
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2316
virtual void doUnapply()=0
void setEndingSelection(const DOM::Selection &s)
Definition: htmlediting_impl.cpp:287
void inputText(const DOM::DOMString &text)
Definition: htmlediting_impl.cpp:431
static bool hasNextListItem(NodeImpl *node)
Definition: htmlediting_impl.cpp:2913
InputTextCommandImpl(DOM::DocumentImpl *document)
Definition: htmlediting_impl.cpp:1766
static bool textNodesAreJoinable(TextImpl *text1, TextImpl *text2)
Definition: htmlediting_impl.cpp:192
virtual ~RemoveNodeAttributeCommandImpl()
Definition: htmlediting_impl.cpp:2298
void insertNodeBefore(DOM::NodeImpl *insertChild, DOM::NodeImpl *refChild)
Definition: htmlediting_impl.cpp:355
virtual ~AppendNodeCommandImpl()
Definition: htmlediting_impl.cpp:534
virtual void doReapply()
Definition: htmlediting_impl.cpp:331
static void deleteKeyPressed0(DocumentImpl *document)
Definition: htmlediting_impl.cpp:2681
virtual ~JoinTextNodesCommandImpl()
Definition: htmlediting_impl.cpp:2093
virtual bool isTypingCommand() const
Definition: htmlediting_impl.h:123
ApplyStyleCommandImpl(DOM::DocumentImpl *, DOM::CSSStyleDeclarationImpl *style)
Definition: htmlediting_impl.cpp:566
virtual void doApply()
Definition: htmlediting_impl.cpp:2269
void insertText(DOM::TextImpl *node, long offset, const DOM::DOMString &text)
Definition: htmlediting_impl.cpp:438
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2067
DOM::ElementImpl * createTypingStyleElement() const
Definition: htmlediting_impl.cpp:504
virtual ~SetNodeAttributeCommandImpl()
Definition: htmlediting_impl.cpp:2457
RemoveNodeAndPruneCommandImpl(DOM::DocumentImpl *, DOM::NodeImpl *pruneNode, DOM::NodeImpl *stopNode=0)
Definition: htmlediting_impl.cpp:2387
void setState(ECommandState state)
Definition: htmlediting_impl.h:117
static DOMString & nonBreakingSpaceString()
Definition: htmlediting_impl.cpp:200
virtual ~RemoveCSSPropertyCommandImpl()
Definition: htmlediting_impl.cpp:2263
JoinTextNodesCommandImpl(DOM::DocumentImpl *, DOM::TextImpl *, DOM::TextImpl *)
Definition: htmlediting_impl.cpp:2080
void removeNodePreservingChildren(DOM::NodeImpl *node)
Definition: htmlediting_impl.cpp:413
bool strcasecmp(const DOMString &a, const DOMString &b)
Definition: dom_string.cpp:348
void applyCommandToComposite(PassRefPtr< EditCommandImpl >)
Definition: htmlediting_impl.cpp:346
void deleteText(DOM::TextImpl *node, long offset, long count)
Definition: htmlediting_impl.cpp:444
void insertNodeAfter(DOM::NodeImpl *insertChild, DOM::NodeImpl *refChild)
Definition: htmlediting_impl.cpp:361
void setNodeAttribute(DOM::ElementImpl *, int attribute, const DOM::DOMString &)
Definition: htmlediting_impl.cpp:498
InsertListCommandImpl(DOM::DocumentImpl *document, Type type)
Definition: htmlediting_impl.cpp:2731
KAction * next(const QObject *recvr, const char *slot, QObject *parent)
DOM::CSSStyleDeclarationImpl * style() const
Definition: htmlediting_impl.h:212
void removeCSSProperty(DOM::CSSStyleDeclarationImpl *, int property)
Definition: htmlediting_impl.cpp:486
virtual ~ApplyStyleCommandImpl()
Definition: htmlediting_impl.cpp:573
virtual void doApply()
Definition: htmlediting_impl.cpp:2403
virtual void doApply()=0
virtual void doApply()
Definition: htmlediting_impl.cpp:1293
void removeNodeAttribute(DOM::ElementImpl *, int attribute)
Definition: htmlediting_impl.cpp:492
virtual ~InsertNodeBeforeCommandImpl()
Definition: htmlediting_impl.cpp:2007
virtual ~DeleteTextCommandImpl()
Definition: htmlediting_impl.cpp:1561
Definition: htmlediting_impl.h:91
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2371
KGuiItem del()
virtual DOM::DocumentImpl * document() const
Definition: htmlediting_impl.h:111
const KShortcut & end()
virtual ~ReplaceSelectionCommandImpl()
Definition: htmlediting_impl.cpp:2142
virtual ~DeleteSelectionCommandImpl()
Definition: htmlediting_impl.cpp:1187
TypingCommandImpl(DOM::DocumentImpl *document)
Definition: htmlediting_impl.cpp:2554
static Position leadingWhitespacePosition(const Position &pos)
Definition: htmlediting_impl.cpp:153
void removeNode(DOM::NodeImpl *removeChild)
Definition: htmlediting_impl.cpp:401
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2117
static bool shouldPruneNode(NodeImpl *node)
Definition: htmlediting_impl.cpp:116
WTF::PassRefPtr< khtml::EditCommandImpl > lastEditCommand() const
Returns the most recent edit command applied.
Definition: editor.cpp:399
static bool hasPreviousListItem(NodeImpl *node)
Definition: htmlediting_impl.cpp:2903
DOM::Selection endingSelection() const
Definition: htmlediting_impl.h:114
EditCommandImpl(DOM::DocumentImpl *)
Definition: htmlediting_impl.cpp:215
virtual ~SplitTextNodeCommandImpl()
Definition: htmlediting_impl.cpp:2496
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2026
DOM::NodeImpl * pruneNode() const
Definition: htmlediting_impl.h:520
void input(const DOM::DOMString &text)
Definition: htmlediting_impl.cpp:1779
virtual void doApply()
Definition: htmlediting_impl.cpp:2434
MoveSelectionCommandImpl(DOM::DocumentImpl *document, DOM::DocumentFragmentImpl *fragment, DOM::Position &position)
Definition: htmlediting_impl.cpp:2219
static Position trailingWhitespacePosition(const Position &pos)
Definition: htmlediting_impl.cpp:168
IndentOutdentCommandImpl(DocumentImpl *document, Type type)
Definition: htmlediting_impl.cpp:2837
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2280
CompositeEditCommandImpl(DOM::DocumentImpl *)
Definition: htmlediting_impl.cpp:310
RemoveNodeCommandImpl(DOM::DocumentImpl *, DOM::NodeImpl *)
Definition: htmlediting_impl.cpp:2329
void removeNodeAndPrune(DOM::NodeImpl *pruneNode, DOM::NodeImpl *stopNode=0)
Definition: htmlediting_impl.cpp:407
static DOMString & styleSpanClassString()
Definition: htmlediting_impl.cpp:206
virtual bool isInputTextCommand() const
Definition: htmlediting_impl.h:124
static void insertList(DocumentImpl *document, Type type)
Definition: htmlediting_impl.cpp:2826
void insertText(const DOM::DOMString &text)
Definition: htmlediting_impl.cpp:2574
virtual ~EditCommandImpl()
Definition: htmlediting_impl.cpp:225
void replaceText(DOM::TextImpl *node, long offset, long count, const DOM::DOMString &replacementText)
Definition: htmlediting_impl.cpp:450
DeleteCollapsibleWhitespaceCommandImpl(DOM::DocumentImpl *document)
virtual ~MoveSelectionCommandImpl()
Definition: htmlediting_impl.cpp:2224
RemoveCSSPropertyCommandImpl(DOM::DocumentImpl *, DOM::CSSStyleDeclarationImpl *, int property)
Definition: htmlediting_impl.cpp:2256
The Node interface is the primary datatype for the entire Document Object Model.
Definition: dom_node.h:270
virtual void doApply()
Definition: htmlediting_impl.cpp:2304
InsertNodeBeforeCommandImpl(DOM::DocumentImpl *, DOM::NodeImpl *insertChild, DOM::NodeImpl *refChild)
Definition: htmlediting_impl.cpp:1997
virtual void doUnapply()
Definition: htmlediting_impl.cpp:2534
QList< RefPtr< EditCommandImpl > > m_cmds
Definition: htmlediting_impl.h:176
void insertNodeAt(DOM::NodeImpl *insertChild, DOM::NodeImpl *refChild, long offset)
Definition: htmlediting_impl.cpp:372
virtual ~IndentOutdentCommandImpl()
Definition: htmlediting_impl.cpp:2842
static bool checkIfNewStylingNeeded(ElementImpl *element, CSSStyleDeclarationImpl *style)
Definition: htmlediting_impl.cpp:866
RemoveNodeAttributeCommandImpl(DOM::DocumentImpl *, DOM::ElementImpl *, DOM::NodeImpl::Id attribute)
Definition: htmlediting_impl.cpp:2291
DeleteTextCommandImpl(DOM::DocumentImpl *document, DOM::TextImpl *node, long offset, long count)
Definition: htmlediting_impl.cpp:1551
static bool shouldDeleteUpstreamPosition(const Position &pos)
Definition: htmlediting_impl.cpp:1015
void deleteCharacter()
Definition: htmlediting_impl.cpp:1784
static void applyStyleChangeOnTheNode(ElementImpl *element, CSSStyleDeclarationImpl *style)
Definition: htmlediting_impl.cpp:609
Definition: dom2_range.h:79
virtual ~RemoveNodeAndPruneCommandImpl()
Definition: htmlediting_impl.cpp:2396
virtual ~InputTextCommandImpl()
Definition: htmlediting_impl.cpp:1771
void joinTextNodes(DOM::TextImpl *text1, DOM::TextImpl *text2)
Definition: htmlediting_impl.cpp:425
void deleteKeyPressed()
Definition: htmlediting_impl.cpp:2626
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Jan 19 2020 00:00:00 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Jan 19 2020 00:00:00 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.