aboutsummaryrefslogtreecommitdiff
path: root/src/textadept.h
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2007-08-06 04:58:17 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2007-08-06 04:58:17 -0400
commit1aa6c6702415079a6546f1325789c3a86f733f34 (patch)
treef8cf70e3d7b1c68917a666e299cf7a919be1e885 /src/textadept.h
downloadtextadept-1aa6c6702415079a6546f1325789c3a86f733f34.tar.gz
textadept-1aa6c6702415079a6546f1325789c3a86f733f34.zip
Initial import of core C files.
Diffstat (limited to 'src/textadept.h')
-rw-r--r--src/textadept.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/textadept.h b/src/textadept.h
new file mode 100644
index 00000000..406d0bec
--- /dev/null
+++ b/src/textadept.h
@@ -0,0 +1,99 @@
+// Copyright 2007 Mitchell mitchell<att>caladbolg.net. See LICENSE.
+
+#ifndef TEXTADEPT_H
+#define TEXTADEPT_H
+
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+
+#define PLAT_GTK 1
+#include <Scintilla.h>
+#include <SciLexer.h>
+#include <ScintillaWidget.h>
+
+extern "C" {
+#include <lua.h>
+#include <lualib.h>
+#include <lauxlib.h>
+}
+
+// globals
+extern GtkWidget
+ *window, *focused_editor, *command_entry,
+ *pm_container, *pm_entry, *pm_view,
+ *findbox, *find_entry, *replace_entry;
+extern GtkTreeStore *pm_store;
+extern lua_State *lua;
+static const char *textadept_home = "/usr/share/textadept/";
+
+// textadept.c
+void create_ui();
+GtkWidget* new_scintilla_window(sptr_t default_id=NULL);
+void remove_scintilla_window(GtkWidget *editor);
+void new_scintilla_buffer(ScintillaObject *sci, bool create=true,
+ bool addref=true);
+void remove_scintilla_buffer(sptr_t doc);
+void split_window(GtkWidget *editor, bool vertical=true);
+bool unsplit_window(GtkWidget *editor);
+void resize_split(GtkWidget *editor, int pos, bool increment=true);
+void set_statusbar_text(const char *text);
+void set_docstatusbar_text(const char *text);
+void command_toggle_focus();
+
+static long SS(ScintillaObject *sci, unsigned int msg, unsigned long wParam=0,
+ long lParam=0) {
+ return scintilla_send_message(sci, msg, wParam, lParam);
+}
+static long SSS(ScintillaObject *sci, unsigned int msg, const char *wParam=0,
+ const char *lParam=0) {
+ return scintilla_send_message(sci, msg, reinterpret_cast<long>(wParam),
+ reinterpret_cast<long>(lParam));
+}
+
+// lua_interface.c
+void l_init(int argc, char **argv);
+void l_close();
+void l_load_script(const char *script_file);
+void l_add_scintilla_window(GtkWidget *editor);
+void l_remove_scintilla_window(GtkWidget *editor);
+void l_goto_scintilla_window(GtkWidget *editor, int n, bool absolute=true);
+void l_set_view_global(GtkWidget *editor);
+int l_add_scintilla_buffer(sptr_t doc);
+void l_remove_scintilla_buffer(sptr_t doc);
+void l_goto_scintilla_buffer(GtkWidget *editor, int n, bool absolute=true);
+void l_set_buffer_global(ScintillaObject *sci);
+
+void l_handle_error(lua_State *lua, const char *errmsg=0);
+bool l_handle_signal(const char *s);
+bool l_handle_keypress(int keyval, GdkEventKey *event);
+void l_handle_completion(const char *command);
+void l_handle_scnnotification(SCNotification *n);
+
+void l_ta_command(const char *command);
+
+bool l_pm_get_contents_for(const char *entry_text, bool expanding=false);
+void l_pm_populate(GtkTreeIter *initial_iter=NULL);
+void l_pm_get_full_path(GtkTreePath *path);
+void l_pm_perform_action();
+void l_pm_popup_context_menu(GdkEventButton *event, GCallback callback);
+void l_pm_perform_menu_action(const char *menu_item);
+
+void l_find(const char *ftext, int flags, bool next=true);
+void l_find_replace(const char *rtext);
+void l_find_replace_all(const char *ftext, const char *rtext, int flags);
+
+// pm.c
+GtkWidget* pm_create_ui();
+void pm_toggle_focus();
+void pm_open_parent(GtkTreeIter *iter, GtkTreePath *path);
+void pm_close_parent(GtkTreeIter *iter, GtkTreePath *path);
+void pm_activate_selection();
+void pm_popup_context_menu(GdkEventButton *event, GCallback callback);
+void pm_process_selected_menu_item(GtkWidget *menu_item);
+
+// find_replace.c
+GtkWidget *find_create_ui();
+void find_toggle_focus();
+
+#endif