diff options
Diffstat (limited to 'WebCore/editing/IndentOutdentCommand.h')
-rw-r--r-- | WebCore/editing/IndentOutdentCommand.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/WebCore/editing/IndentOutdentCommand.h b/WebCore/editing/IndentOutdentCommand.h index 8644cc5..201e794 100644 --- a/WebCore/editing/IndentOutdentCommand.h +++ b/WebCore/editing/IndentOutdentCommand.h @@ -26,32 +26,34 @@ #ifndef IndentOutdentCommand_h #define IndentOutdentCommand_h +#include "ApplyBlockElementCommand.h" #include "CompositeEditCommand.h" namespace WebCore { -class IndentOutdentCommand : public CompositeEditCommand { +class IndentOutdentCommand : public ApplyBlockElementCommand { public: enum EIndentType { Indent, Outdent }; static PassRefPtr<IndentOutdentCommand> create(Document* document, EIndentType type, int marginInPixels = 0) { return adoptRef(new IndentOutdentCommand(document, type, marginInPixels)); } - + virtual bool preservesTypingStyle() const { return true; } private: IndentOutdentCommand(Document*, EIndentType, int marginInPixels); - virtual void doApply(); virtual EditAction editingAction() const { return m_typeOfAction == Indent ? EditActionIndent : EditActionOutdent; } void indentRegion(const VisiblePosition&, const VisiblePosition&); void outdentRegion(const VisiblePosition&, const VisiblePosition&); void outdentParagraph(); - bool tryIndentingAsListItem(const VisiblePosition&); - void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>&); - bool splitTextNodes(const VisiblePosition& start, int numParagraphs); + bool tryIndentingAsListItem(const Position&, const Position&); + void indentIntoBlockquote(const Position&, const Position&, RefPtr<Element>&); + + void formatSelection(const VisiblePosition& startOfSelection, const VisiblePosition& endOfSelection); + void formatRange(const Position&, const Position&, RefPtr<Element>& blockquoteForNextIndent); EIndentType m_typeOfAction; int m_marginInPixels; |