Develop and Download Open Source Software

Browse CVS Repository

Annotation of /shiki/shiki/shiki.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.14 - (hide annotations) (download) (as text)
Sat Dec 2 14:23:20 2006 UTC (17 years, 4 months ago) by aloha
Branch: MAIN
Changes since 1.13: +6 -1 lines
File MIME type: text/x-chdr
add search-buffer/replace-buffer (interactive/all)

1 aloha 1.1 /* vim: set encoding=utf8:
2     *
3     * shiki.h
4     *
5     * This file is part of Shiki.
6     *
7     * Copyright(C)2006 WAKATSUKI toshihiro
8     *
9     * Permission is hereby granted, free of charge, to any person obtaining a
10     * copy of this software and associated documentation files (the "Software"),
11     * to deal in the Software without restriction, including without limitation
12     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13     * and/or sell copies of the Software, and to permit persons to whom the
14     * Software is furnished to do so, subject to the following conditions:
15     *
16     * The above copyright notice and this permission notice shall be included in
17     * all copies or substantial portions of the Software.
18     *
19     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25     * SOFTWARE.
26     *
27 aloha 1.14 * $Id: shiki.h,v 1.13 2006/11/30 14:45:49 aloha Exp $
28 aloha 1.1 */
29    
30     #ifndef SHIKI_H
31     #define SHIKI_H
32    
33     #include<gauche.h>
34     #include<gtk/gtk.h>
35     #include<gdk/gdkkeysyms.h>
36    
37 aloha 1.2 /* ��������������������������������������������� */
38 aloha 1.1 typedef struct {
39 aloha 1.2 const gchar *locale; /* ��������������������������������� */
40     GtkScrolledWindow *tabpage; /* ������ */
41     gchar *tabpage_label; /* ��������������������� */
42     gchar *name; /* ��������� (���������������) ������ */
43     GtkTextView *text_view; /* ��������������� */
44     GtkTextBuffer *text_buffer; /* ��������������������������������� */
45     gchar *filename; /* ������������������������������ */
46     GList *undoInfoList; /* ��������������������������������������� */
47     ScmObj env; /* ��������������������������� Scheme ������ */
48     guint delete_handler_id; /* ��������������������������������������������� ID */
49 aloha 1.1 } ShikiBuffer;
50    
51     typedef struct {
52     const gchar *default_locale;
53     GtkWidget *editor_window;
54     GtkClipboard *clipboard;
55     GtkNotebook *notebook;
56     GtkWidget *statusbar;
57     GtkWidget *modeline_label;
58 aloha 1.5 GList *bufferList;
59 aloha 1.1 gint current_tabpage_num;
60     ShikiBuffer *current_tabpage_info;
61     } ShikiEditorType;
62    
63     extern ShikiEditorType Shiki_editor;
64    
65 aloha 1.2 /* ��������������������������������������������� */
66 aloha 1.1 #define Shiki_EDITOR_DEFAULT_LOCALE Shiki_editor.default_locale
67     #define Shiki_EDITOR_WINDOW Shiki_editor.editor_window
68     #define Shiki_EDITOR_CLIPBOARD Shiki_editor.clipboard
69     #define Shiki_EDITOR_NOTEBOOK Shiki_editor.notebook
70     #define Shiki_EDITOR_STATUSBAR Shiki_editor.statusbar
71     #define Shiki_EDITOR_MODELINE_LABEL Shiki_editor.modeline_label
72 aloha 1.5 #define Shiki_EDITOR_BUFFER_LIST Shiki_editor.bufferList
73 aloha 1.1
74 aloha 1.2 /* ��������������������������������������������������������������������������������������� */
75 aloha 1.1 #define Shiki_CURRENT_TAB_NUM Shiki_editor.current_tabpage_num
76     #define Shiki_CURRENT_TAB_INFO Shiki_editor.current_tabpage_info
77     #define Shiki_CURRENT_CES (Shiki_editor.current_tabpage_info)->locale
78     #define Shiki_CURRENT_UNDO_INFO_LIST (Shiki_editor.current_tabpage_info)->undoInfoList
79     #define Shiki_CURRENT_TAB (Shiki_editor.current_tabpage_info)->tabpage
80     #define Shiki_CURRENT_TAB_TITLE (Shiki_editor.current_tabpage_info)->tabpage_label
81     #define Shiki_CURRENT_TEXT_VIEW (Shiki_editor.current_tabpage_info)->text_view
82     #define Shiki_CURRENT_TEXT_BUFFER (Shiki_editor.current_tabpage_info)->text_buffer
83     #define Shiki_CURRENT_BASENAME (Shiki_editor.current_tabpage_info)->name
84     #define Shiki_CURRENT_FILENAME (Shiki_editor.current_tabpage_info)->filename
85     #define Shiki_CURRENT_BUFFER_ENV (Shiki_editor.current_tabpage_info)->env
86    
87 aloha 1.2 /* Undo/Redo ������������������ */
88 aloha 1.13 typedef enum {
89     SHIKI_UNDO_INSERT,
90     SHIKI_UNDO_UNDO,
91     SHIKI_UNDO_DELETE,
92     SHIKI_UNDO_REDO
93     } ShikiAction;
94 aloha 1.1
95     typedef struct {
96     ShikiAction action;
97     gchar *str;
98     gint strlen;
99     gint start;
100     gint end;
101     } ShikiUndoInfo;
102    
103 aloha 1.5 extern ScmClass *ShikiBufferClass;
104    
105     #define SHIKI_BUFFER_P(obj) SCM_XTYPEP(obj, ShikiBufferClass)
106     #define SHIKI_BUFFER_UNBOX(obj) SCM_FOREIGN_POINTER_REF(GtkTextBuffer*, obj)
107     #define SHIKI_BUFFER_BOX(ptr) Scm_MakeForeignPointer(ShikiBufferClass, ptr)
108    
109 aloha 1.1 /* C API */
110 aloha 1.8 GtkTextBuffer *Shiki_new_buffer_create(gchar *filename);
111 aloha 1.3 gchar *Shiki_buffer_substring(gint start, gint end);
112 aloha 1.4 void Shiki_delete_region(gint start, gint end);
113     gint Shiki_point();
114     gint Shiki_point_max();
115     gint Shiki_point_min();
116     void Shiki_goto_char(gint offset);
117     void Shiki_forward_char();
118     void Shiki_backward_char();
119     void Shiki_goto_line(gint line);
120     void Shiki_goto_bol();
121     void Shiki_goto_eol();
122 aloha 1.8 void Shiki_forward_line(gint count);
123 aloha 1.6 const gchar *Shiki_buffer_name(GtkTextBuffer *buffer);
124     GtkTextBuffer *Shiki_get_next_buffer(GtkTextBuffer *buffer);
125     GtkTextBuffer *Shiki_get_previous_buffer(GtkTextBuffer *buffer);
126     ScmObj Shiki_buffer_list();
127 aloha 1.7 gboolean Shiki_deleted_buffer_p(GtkTextBuffer *buffer);
128 aloha 1.8 void Shiki_erase_buffer(GtkTextBuffer *buffer);
129     void Shiki_delete_buffer(GtkTextBuffer *buffer);
130     GtkTextBuffer *Shiki_find_buffer(const gchar *name);
131     const gchar *Shiki_file_name_dialog(const gchar *msg);
132     gboolean Shiki_yes_or_no_p(const gchar *msg);
133 aloha 1.10 gboolean Shiki_no_or_yes_p(const gchar *msg);
134 aloha 1.9 gboolean Shiki_need_buffer_save_p(GtkTextBuffer *buffer);
135     void Shiki_kill_buffer(GtkTextBuffer *buffer);
136 aloha 1.11 void Shiki_create_file_buffer(const gchar *filename);
137     void Shiki_open_file_dialog();
138 aloha 1.12 void Shiki_update_modeline(GtkTextBuffer *buffer);
139 aloha 1.13 void Shiki_undo();
140     void Shiki_msgbox(const gchar *msg);
141 aloha 1.14 void Shiki_eval_expression();
142     void Shiki_eval_last_sexp();
143    
144     void Shiki_search_buffer();
145     void Shiki_replace_buffer();
146 aloha 1.1 #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26