1 /*
2  * Xournal++
3  *
4  * Enum for all actions
5  *
6  * @author Xournal++ Team
7  * https://github.com/xournalpp/xournalpp
8  *
9  * @license GNU GPLv2 or later
10  */
11 
12 #pragma once
13 
14 #include <string>
15 using std::string;
16 
17 /******************************************************************************
18 *******************************************************************************
19 
20 RUN THE GENERATOR IF YOU CHANGE THIS FILE!
21 
22 php generateConvert.php
23 
24 *******************************************************************************
25 ******************************************************************************/
26 
27 enum ActionType {
28     ACTION_NONE = 0,
29 
30     // Menu file
31     ACTION_NEW = 100,
32     ACTION_OPEN,
33     ACTION_ANNOTATE_PDF,
34     ACTION_SAVE,
35     ACTION_SAVE_AS,
36     ACTION_EXPORT_AS_PDF,
37     ACTION_EXPORT_AS,
38     ACTION_PRINT,
39     ACTION_QUIT,
40 
41     // Menu edit
42     ACTION_UNDO = 200,
43     ACTION_REDO,
44     ACTION_CUT,
45     ACTION_COPY,
46     ACTION_PASTE,
47     ACTION_SEARCH,
48     ACTION_DELETE,
49     ACTION_SETTINGS,
50 
51     ACTION_ARRANGE_BRING_TO_FRONT = 220,
52     ACTION_ARRANGE_BRING_FORWARD,
53     ACTION_ARRANGE_SEND_BACKWARD,
54     ACTION_ARRANGE_SEND_TO_BACK,
55 
56     // Menu navigation
57     ACTION_GOTO_FIRST = 300,
58     ACTION_GOTO_BACK,
59     ACTION_GOTO_PAGE,
60     ACTION_GOTO_NEXT,
61     ACTION_GOTO_LAST,
62     ACTION_GOTO_NEXT_LAYER,
63     ACTION_GOTO_PREVIOUS_LAYER,
64     ACTION_GOTO_TOP_LAYER,
65     ACTION_GOTO_NEXT_ANNOTATED_PAGE,
66     ACTION_GOTO_PREVIOUS_ANNOTATED_PAGE,
67 
68     // Menu Journal
69     ACTION_NEW_PAGE_BEFORE = 400,
70     ACTION_NEW_PAGE_AFTER,
71     ACTION_NEW_PAGE_AT_END,
72     ACTION_APPEND_NEW_PDF_PAGES,
73 
74     ACTION_CONFIGURE_PAGE_TEMPLATE,
75 
76     ACTION_DELETE_PAGE,
77     ACTION_NEW_LAYER,
78     ACTION_DELETE_LAYER,
79     ACTION_RENAME_LAYER,
80     ACTION_PAPER_FORMAT,
81     ACTION_PAPER_BACKGROUND_COLOR,
82 
83     // Menu Tools
84     // Has to be in the same order as in Tool.h: ToolType!
85     ACTION_TOOL_PEN = 500,
86     ACTION_TOOL_ERASER,
87     ACTION_TOOL_HIGHLIGHTER,
88     ACTION_TOOL_TEXT,
89     ACTION_TOOL_IMAGE,
90     ACTION_TOOL_SELECT_RECT,
91     ACTION_TOOL_SELECT_REGION,
92     ACTION_TOOL_SELECT_OBJECT,
93     ACTION_TOOL_PLAY_OBJECT,
94     ACTION_TOOL_VERTICAL_SPACE,
95     ACTION_TOOL_HAND,
96 
97     ACTION_TOOL_DEFAULT,
98 
99     ACTION_SHAPE_RECOGNIZER,
100     ACTION_TOOL_DRAW_RECT,
101     ACTION_TOOL_DRAW_ELLIPSE,
102     ACTION_TOOL_DRAW_ARROW,
103     ACTION_TOOL_DRAW_COORDINATE_SYSTEM,
104     ACTION_RULER,
105     ACTION_TOOL_DRAW_SPLINE,
106 
107     ACTION_TOOL_FLOATING_TOOLBOX,
108 
109     ACTION_TOOL_LINE_STYLE_PLAIN,
110     ACTION_TOOL_LINE_STYLE_DASH,
111     ACTION_TOOL_LINE_STYLE_DASH_DOT,
112     ACTION_TOOL_LINE_STYLE_DOT,
113 
114     ACTION_SIZE_VERY_FINE,
115     ACTION_SIZE_FINE,
116     ACTION_SIZE_MEDIUM,
117     ACTION_SIZE_THICK,
118     ACTION_SIZE_VERY_THICK,
119 
120     ACTION_TOOL_ERASER_STANDARD,
121     ACTION_TOOL_ERASER_WHITEOUT,
122     ACTION_TOOL_ERASER_DELETE_STROKE,
123 
124     ACTION_TOOL_ERASER_SIZE_VERY_FINE,
125     ACTION_TOOL_ERASER_SIZE_FINE,
126     ACTION_TOOL_ERASER_SIZE_MEDIUM,
127     ACTION_TOOL_ERASER_SIZE_THICK,
128     ACTION_TOOL_ERASER_SIZE_VERY_THICK,
129 
130     ACTION_TOOL_PEN_SIZE_VERY_FINE,
131     ACTION_TOOL_PEN_SIZE_FINE,
132     ACTION_TOOL_PEN_SIZE_MEDIUM,
133     ACTION_TOOL_PEN_SIZE_THICK,
134     ACTION_TOOL_PEN_SIZE_VERY_THICK,
135 
136     ACTION_TOOL_PEN_FILL,
137     ACTION_TOOL_PEN_FILL_OPACITY,
138 
139     ACTION_TOOL_HIGHLIGHTER_SIZE_VERY_FINE,
140     ACTION_TOOL_HIGHLIGHTER_SIZE_FINE,
141     ACTION_TOOL_HIGHLIGHTER_SIZE_MEDIUM,
142     ACTION_TOOL_HIGHLIGHTER_SIZE_THICK,
143     ACTION_TOOL_HIGHLIGHTER_SIZE_VERY_THICK,
144 
145     ACTION_TOOL_HIGHLIGHTER_FILL,
146     ACTION_TOOL_HIGHLIGHTER_FILL_OPACITY,
147 
148     ACTION_TOOL_FILL,
149 
150     ACTION_ROTATION_SNAPPING,
151     ACTION_GRID_SNAPPING,
152 
153     // Used for all colors
154     ACTION_SELECT_COLOR,
155     ACTION_SELECT_COLOR_CUSTOM,
156 
157     ACTION_SELECT_FONT,
158     ACTION_FONT_BUTTON_CHANGED,
159     ACTION_TEX,
160 
161     // Menu View
162     ACTION_ZOOM_IN = 600,
163     ACTION_ZOOM_OUT,
164     ACTION_ZOOM_FIT,
165     ACTION_ZOOM_100,
166     ACTION_FULLSCREEN,
167     ACTION_VIEW_PAIRED_PAGES,
168     ACTION_VIEW_PRESENTATION_MODE,
169     ACTION_MANAGE_TOOLBAR,
170     ACTION_CUSTOMIZE_TOOLBAR,
171     ACTION_AUDIO_RECORD,
172     ACTION_AUDIO_PAUSE_PLAYBACK,
173     ACTION_AUDIO_STOP_PLAYBACK,
174     ACTION_AUDIO_SEEK_FORWARDS,
175     ACTION_AUDIO_SEEK_BACKWARDS,
176     ACTION_SET_PAIRS_OFFSET,
177     ACTION_SET_COLUMNS,
178     ACTION_SET_COLUMNS_1,
179     ACTION_SET_COLUMNS_2,
180     ACTION_SET_COLUMNS_3,
181     ACTION_SET_COLUMNS_4,
182     ACTION_SET_COLUMNS_5,
183     ACTION_SET_COLUMNS_6,
184     ACTION_SET_COLUMNS_7,
185     ACTION_SET_COLUMNS_8,
186     ACTION_SET_ROWS,
187     ACTION_SET_ROWS_1,
188     ACTION_SET_ROWS_2,
189     ACTION_SET_ROWS_3,
190     ACTION_SET_ROWS_4,
191     ACTION_SET_ROWS_5,
192     ACTION_SET_ROWS_6,
193     ACTION_SET_ROWS_7,
194     ACTION_SET_ROWS_8,
195     ACTION_SET_LAYOUT_HORIZONTAL,
196     ACTION_SET_LAYOUT_VERTICAL,
197     ACTION_SET_LAYOUT_L2R,
198     ACTION_SET_LAYOUT_R2L,
199     ACTION_SET_LAYOUT_T2B,
200     ACTION_SET_LAYOUT_B2T,
201 
202     // Plugin Menu
203     ACTION_PLUGIN_MANAGER = 700,
204 
205     // Menu Help
206     ACTION_ABOUT = 800,
207     ACTION_HELP,
208 
209     // Footer, not really an action, but need an identifier too
210     ACTION_FOOTER_PAGESPIN = 900,
211     ACTION_FOOTER_ZOOM_SLIDER,
212     ACTION_FOOTER_LAYER,
213 
214     // Used to select no item in a group...
215     ACTION_NOT_SELECTED = 1
216 };
217 
218 ActionType ActionType_fromString(const string& value);
219 string ActionType_toString(ActionType value);
220