Adjust 'fall through' comments to be recognized by GCC
[geany-mirror.git] / src / sciwrappers.h
blobc7f61abca12bde15b5b6a894b7a81a46c0f127fc
1 /*
2 * sciwrappers.h - this file is part of Geany, a fast and lightweight IDE
4 * Copyright 2005-2012 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
5 * Copyright 2006-2012 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef GEANY_SCI_WRAPPERS_H
23 #define GEANY_SCI_WRAPPERS_H 1
25 #include "geany.h" /* for GEANY_DEPRECATED */
26 #include "gtkcompat.h" /* Needed by ScintillaWidget.h */
27 #include "Scintilla.h" /* Needed by ScintillaWidget.h */
28 #include "ScintillaWidget.h" /* for ScintillaObject */
31 G_BEGIN_DECLS
33 #ifdef GEANY_PRIVATE
34 # ifndef NDEBUG
35 # define SSM(s, m, w, l) sci_send_message_internal(__FILE__, __LINE__, s, m, w, l)
36 sptr_t sci_send_message_internal (const gchar *file, guint line, ScintillaObject *sci,
37 guint msg, uptr_t wparam, sptr_t lparam);
38 # else
39 # define SSM(s, m, w, l) scintilla_send_message(s, m, w, l)
40 # endif
41 #endif
43 void sci_set_text (ScintillaObject *sci, const gchar *text);
44 gboolean sci_has_selection (ScintillaObject *sci);
45 void sci_end_undo_action (ScintillaObject *sci);
46 void sci_start_undo_action (ScintillaObject *sci);
48 void sci_set_marker_at_line (ScintillaObject *sci, gint line_number, gint marker);
49 void sci_delete_marker_at_line (ScintillaObject *sci, gint line_number, gint marker);
50 gboolean sci_is_marker_set_at_line (ScintillaObject *sci, gint line, gint marker);
52 gint sci_get_col_from_position (ScintillaObject *sci, gint position);
53 gint sci_get_line_from_position (ScintillaObject *sci, gint position);
54 gint sci_get_position_from_line (ScintillaObject *sci, gint line);
55 gint sci_get_current_position (ScintillaObject *sci);
56 void sci_set_current_position (ScintillaObject *sci, gint position, gboolean scroll_to_caret);
58 gint sci_get_selection_start (ScintillaObject *sci);
59 gint sci_get_selection_end (ScintillaObject *sci);
60 void sci_replace_sel (ScintillaObject *sci, const gchar *text);
61 gint sci_get_selection_mode (ScintillaObject *sci);
62 void sci_set_selection_mode (ScintillaObject *sci, gint mode);
63 void sci_set_selection_start (ScintillaObject *sci, gint position);
64 void sci_set_selection_end (ScintillaObject *sci, gint position);
66 gint sci_get_length (ScintillaObject *sci);
67 gchar* sci_get_contents (ScintillaObject *sci, gint buffer_len);
68 gint sci_get_selected_text_length(ScintillaObject *sci);
69 gchar* sci_get_selection_contents (ScintillaObject *sci);
70 gchar* sci_get_line (ScintillaObject *sci, gint line_num);
71 gint sci_get_line_length (ScintillaObject *sci, gint line);
72 gint sci_get_line_count (ScintillaObject *sci);
74 gint sci_get_line_end_position (ScintillaObject *sci, gint line);
76 gboolean sci_get_line_is_visible (ScintillaObject *sci, gint line);
77 void sci_ensure_line_is_visible (ScintillaObject *sci, gint line);
79 gint sci_get_tab_width (ScintillaObject *sci);
80 gchar sci_get_char_at (ScintillaObject *sci, gint pos);
82 void sci_scroll_caret (ScintillaObject *sci);
83 gint sci_find_text (ScintillaObject *sci, gint flags, struct Sci_TextToFind *ttf);
84 void sci_set_font (ScintillaObject *sci, gint style, const gchar *font, gint size);
85 void sci_goto_line (ScintillaObject *sci, gint line, gboolean unfold);
86 gint sci_get_style_at (ScintillaObject *sci, gint position);
87 gchar* sci_get_contents_range (ScintillaObject *sci, gint start, gint end);
88 void sci_insert_text (ScintillaObject *sci, gint pos, const gchar *text);
90 void sci_set_target_start (ScintillaObject *sci, gint start);
91 void sci_set_target_end (ScintillaObject *sci, gint end);
92 gint sci_replace_target (ScintillaObject *sci, const gchar *text, gboolean regex);
94 gint sci_get_lexer (ScintillaObject *sci);
95 void sci_send_command (ScintillaObject *sci, gint cmd);
97 gint sci_get_current_line (ScintillaObject *sci);
99 void sci_indicator_set (ScintillaObject *sci, gint indic);
100 void sci_indicator_clear (ScintillaObject *sci, gint pos, gint len);
102 void sci_set_line_indentation (ScintillaObject *sci, gint line, gint indent);
103 gint sci_get_line_indentation (ScintillaObject *sci, gint line);
104 gint sci_find_matching_brace (ScintillaObject *sci, gint pos);
106 #ifndef GEANY_DISABLE_DEPRECATED
107 void sci_get_text (ScintillaObject *sci, gint len, gchar *text) GEANY_DEPRECATED_FOR(sci_get_contents);
108 void sci_get_selected_text (ScintillaObject *sci, gchar *text) GEANY_DEPRECATED_FOR(sci_get_selection_contents);
109 void sci_get_text_range (ScintillaObject *sci, gint start, gint end, gchar *text) GEANY_DEPRECATED_FOR(sci_get_contents_range);
110 #endif /* GEANY_DISABLE_DEPRECATED */
112 #ifdef GEANY_PRIVATE
114 gchar* sci_get_string (ScintillaObject *sci, guint msg, gulong wParam);
116 void sci_set_line_numbers (ScintillaObject *sci, gboolean set);
117 void sci_set_mark_long_lines (ScintillaObject *sci, gint type, gint column, const gchar *color);
119 void sci_add_text (ScintillaObject *sci, const gchar *text);
120 gboolean sci_can_redo (ScintillaObject *sci);
121 gboolean sci_can_undo (ScintillaObject *sci);
122 void sci_undo (ScintillaObject *sci);
123 void sci_redo (ScintillaObject *sci);
124 void sci_empty_undo_buffer (ScintillaObject *sci);
125 gboolean sci_is_modified (ScintillaObject *sci);
127 void sci_set_visible_eols (ScintillaObject *sci, gboolean set);
128 void sci_set_lines_wrapped (ScintillaObject *sci, gboolean set);
129 void sci_set_visible_white_spaces(ScintillaObject *sci, gboolean set);
130 void sci_convert_eols (ScintillaObject *sci, gint eolmode);
131 gint sci_get_eol_mode (ScintillaObject *sci);
132 void sci_set_eol_mode (ScintillaObject *sci, gint eolmode);
133 void sci_zoom_in (ScintillaObject *sci);
134 void sci_zoom_out (ScintillaObject *sci);
135 void sci_zoom_off (ScintillaObject *sci);
136 void sci_toggle_marker_at_line (ScintillaObject *sci, gint line, gint marker);
137 gint sci_marker_next (ScintillaObject *sci, gint line, gint marker_mask, gboolean wrap);
138 gint sci_marker_previous (ScintillaObject *sci, gint line, gint marker_mask, gboolean wrap);
140 gint sci_get_position_from_col (ScintillaObject *sci, gint line, gint col);
141 void sci_set_current_line (ScintillaObject *sci, gint line);
142 gint sci_get_cursor_virtual_space(ScintillaObject *sci);
144 void sci_cut (ScintillaObject *sci);
145 void sci_copy (ScintillaObject *sci);
146 void sci_paste (ScintillaObject *sci);
147 void sci_clear (ScintillaObject *sci);
149 gint sci_get_pos_at_line_sel_start(ScintillaObject*sci, gint line);
150 gint sci_get_pos_at_line_sel_end (ScintillaObject *sci, gint line);
151 void sci_set_selection (ScintillaObject *sci, gint anchorPos, gint currentPos);
153 gint sci_get_position_from_xy (ScintillaObject *sci, gint x, gint y, gboolean nearby);
155 void sci_set_undo_collection (ScintillaObject *sci, gboolean set);
157 void sci_toggle_fold (ScintillaObject *sci, gint line);
158 gint sci_get_fold_level (ScintillaObject *sci, gint line);
159 gint sci_get_fold_parent (ScintillaObject *sci, gint start_line);
161 void sci_set_folding_margin_visible (ScintillaObject *sci, gboolean set);
162 gboolean sci_get_fold_expanded (ScintillaObject *sci, gint line);
164 void sci_colourise (ScintillaObject *sci, gint start, gint end);
165 void sci_clear_all (ScintillaObject *sci);
166 gint sci_get_end_styled (ScintillaObject *sci);
167 void sci_set_tab_width (ScintillaObject *sci, gint width);
168 void sci_set_savepoint (ScintillaObject *sci);
169 void sci_set_indentation_guides (ScintillaObject *sci, gint mode);
170 void sci_use_popup (ScintillaObject *sci, gboolean enable);
171 void sci_goto_pos (ScintillaObject *sci, gint pos, gboolean unfold);
172 void sci_set_search_anchor (ScintillaObject *sci);
173 void sci_set_anchor (ScintillaObject *sci, gint pos);
174 void sci_scroll_columns (ScintillaObject *sci, gint columns);
175 gint sci_search_next (ScintillaObject *sci, gint flags, const gchar *text);
176 gint sci_search_prev (ScintillaObject *sci, gint flags, const gchar *text);
177 void sci_marker_delete_all (ScintillaObject *sci, gint marker);
178 void sci_set_symbol_margin (ScintillaObject *sci, gboolean set);
179 void sci_set_codepage (ScintillaObject *sci, gint cp);
180 void sci_clear_cmdkey (ScintillaObject *sci, gint key);
181 void sci_assign_cmdkey (ScintillaObject *sci, gint key, gint command);
182 void sci_selection_duplicate (ScintillaObject *sci);
183 void sci_line_duplicate (ScintillaObject *sci);
185 void sci_set_keywords (ScintillaObject *sci, guint k, const gchar *text);
186 void sci_set_lexer (ScintillaObject *sci, guint lexer_id);
187 void sci_set_readonly (ScintillaObject *sci, gboolean readonly);
189 gint sci_get_lines_selected (ScintillaObject *sci);
190 gint sci_get_first_visible_line (ScintillaObject *sci);
192 void sci_indicator_fill (ScintillaObject *sci, gint pos, gint len);
194 void sci_select_all (ScintillaObject *sci);
195 gint sci_get_line_indent_position(ScintillaObject *sci, gint line);
196 void sci_set_autoc_max_height (ScintillaObject *sci, gint val);
198 gint sci_get_overtype (ScintillaObject *sci);
199 void sci_set_tab_indents (ScintillaObject *sci, gboolean set);
200 void sci_set_use_tabs (ScintillaObject *sci, gboolean set);
202 void sci_set_scrollbar_mode (ScintillaObject *sci, gboolean visible);
203 void sci_set_caret_policy_x (ScintillaObject *sci, gint policy, gint slop);
204 void sci_set_caret_policy_y (ScintillaObject *sci, gint policy, gint slop);
206 void sci_set_scroll_stop_at_last_line (ScintillaObject *sci, gboolean set);
208 void sci_cancel (ScintillaObject *sci);
210 gint sci_get_position_after (ScintillaObject *sci, gint start);
211 gint sci_word_start_position (ScintillaObject *sci, gint position, gboolean onlyWordCharacters);
212 gint sci_word_end_position (ScintillaObject *sci, gint position, gboolean onlyWordCharacters);
214 void sci_lines_join (ScintillaObject *sci);
215 gint sci_text_width (ScintillaObject *sci, gint styleNumber, const gchar *text);
217 void sci_move_selected_lines_down (ScintillaObject *sci);
218 void sci_move_selected_lines_up (ScintillaObject *sci);
220 #endif /* GEANY_PRIVATE */
222 G_END_DECLS
224 #endif /* GEANY_SCI_WRAPPERS_H */