• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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