1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_ 6 #define UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_ 7 8 #include <string> 9 10 #include "ui/events/events_export.h" 11 12 namespace ui { 13 14 // Represents a command that performs a specific operation on text. 15 // Copy and assignment are explicitly allowed; these objects live in vectors. 16 class EVENTS_EXPORT TextEditCommandAuraLinux { 17 public: 18 enum CommandId { 19 COPY, 20 CUT, 21 DELETE_BACKWARD, 22 DELETE_FORWARD, 23 DELETE_TO_BEGINING_OF_LINE, 24 DELETE_TO_BEGINING_OF_PARAGRAPH, 25 DELETE_TO_END_OF_LINE, 26 DELETE_TO_END_OF_PARAGRAPH, 27 DELETE_WORD_BACKWARD, 28 DELETE_WORD_FORWARD, 29 INSERT_TEXT, 30 MOVE_BACKWARD, 31 MOVE_DOWN, 32 MOVE_FORWARD, 33 MOVE_LEFT, 34 MOVE_PAGE_DOWN, 35 MOVE_PAGE_UP, 36 MOVE_RIGHT, 37 MOVE_TO_BEGINING_OF_DOCUMENT, 38 MOVE_TO_BEGINING_OF_LINE, 39 MOVE_TO_BEGINING_OF_PARAGRAPH, 40 MOVE_TO_END_OF_DOCUMENT, 41 MOVE_TO_END_OF_LINE, 42 MOVE_TO_END_OF_PARAGRAPH, 43 MOVE_UP, 44 MOVE_WORD_BACKWARD, 45 MOVE_WORD_FORWARD, 46 MOVE_WORD_LEFT, 47 MOVE_WORD_RIGHT, 48 PASTE, 49 SELECT_ALL, 50 SET_MARK, 51 UNSELECT, 52 INVALID_COMMAND 53 }; 54 TextEditCommandAuraLinux(CommandId command_id,const std::string & argument,bool extend_selection)55 TextEditCommandAuraLinux(CommandId command_id, 56 const std::string& argument, 57 bool extend_selection) 58 : command_id_(command_id), 59 argument_(argument), 60 extend_selection_(extend_selection) {} 61 command_id()62 CommandId command_id() const { return command_id_; } argument()63 const std::string& argument() const { return argument_; } extend_selection()64 bool extend_selection() const { return extend_selection_; } 65 66 // We communicate these commands back to blink with a string representation. 67 // This will combine the base command name with "AndModifySelection" if we 68 // have |extend_selection_| set. 69 std::string GetCommandString() const; 70 71 private: 72 CommandId command_id_; 73 74 std::string argument_; 75 76 // In addition to executing the command, modify the selection. 77 bool extend_selection_; 78 }; 79 80 } // namespace ui 81 82 #endif // UI_EVENTS_X_TEXT_EDIT_COMMAND_X11_H_ 83