// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_ #define UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_ #include #include "ui/events/events_export.h" namespace ui { // Represents a command that performs a specific operation on text. // Copy and assignment are explicitly allowed; these objects live in vectors. class EVENTS_EXPORT TextEditCommandAuraLinux { public: enum CommandId { COPY, CUT, DELETE_BACKWARD, DELETE_FORWARD, DELETE_TO_BEGINING_OF_LINE, DELETE_TO_BEGINING_OF_PARAGRAPH, DELETE_TO_END_OF_LINE, DELETE_TO_END_OF_PARAGRAPH, DELETE_WORD_BACKWARD, DELETE_WORD_FORWARD, INSERT_TEXT, MOVE_BACKWARD, MOVE_DOWN, MOVE_FORWARD, MOVE_LEFT, MOVE_PAGE_DOWN, MOVE_PAGE_UP, MOVE_RIGHT, MOVE_TO_BEGINING_OF_DOCUMENT, MOVE_TO_BEGINING_OF_LINE, MOVE_TO_BEGINING_OF_PARAGRAPH, MOVE_TO_END_OF_DOCUMENT, MOVE_TO_END_OF_LINE, MOVE_TO_END_OF_PARAGRAPH, MOVE_UP, MOVE_WORD_BACKWARD, MOVE_WORD_FORWARD, MOVE_WORD_LEFT, MOVE_WORD_RIGHT, PASTE, SELECT_ALL, SET_MARK, UNSELECT, INVALID_COMMAND }; TextEditCommandAuraLinux(CommandId command_id, const std::string& argument, bool extend_selection) : command_id_(command_id), argument_(argument), extend_selection_(extend_selection) {} CommandId command_id() const { return command_id_; } const std::string& argument() const { return argument_; } bool extend_selection() const { return extend_selection_; } // We communicate these commands back to blink with a string representation. // This will combine the base command name with "AndModifySelection" if we // have |extend_selection_| set. std::string GetCommandString() const; private: CommandId command_id_; std::string argument_; // In addition to executing the command, modify the selection. bool extend_selection_; }; } // namespace ui #endif // UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_