| 34 |
#include<gtk/gtk.h> |
#include<gtk/gtk.h> |
| 35 |
#include<gdk/gdkkeysyms.h> |
#include<gdk/gdkkeysyms.h> |
| 36 |
|
|
| 37 |
/* タブごとの情報を管理する構造体 */ |
/* ?帥???????????宴??膊∞??????罕???篏? */ |
| 38 |
typedef struct { |
typedef struct { |
| 39 |
const gchar *locale; /* バッファ内容のロケール */ |
const gchar *locale; /* ???????≦??絎鴻?????宴?若? */ |
| 40 |
GtkScrolledWindow *tabpage; /* タブ */ |
GtkScrolledWindow *tabpage; /* ?帥?? */ |
| 41 |
gchar *tabpage_label; /* タブのタイトル */ |
gchar *tabpage_label; /* ?帥?????帥?ゃ??? */ |
| 42 |
gchar *name; /* ベース (ファイル名) のみ */ |
gchar *name; /* ???若? (???<?ゃ????) ??? */ |
| 43 |
GtkTextView *text_view; /* タブの表示 */ |
GtkTextView *text_view; /* ?帥????;腓 */ |
| 44 |
GtkTextBuffer *text_buffer; /* タブのテキストバッファ */ |
GtkTextBuffer *text_buffer; /* ?帥?????????鴻????????? */ |
| 45 |
gchar *filename; /* ファイル名のフルパス */ |
gchar *filename; /* ???<?ゃ????????????? */ |
| 46 |
GList *undoInfoList; /* タブごとのバッファ変更履歴 */ |
GList *undoInfoList; /* ?帥???????????????≦??翫吋罩 */ |
| 47 |
ScmObj env; /* タブごとに独立した Scheme 環境 */ |
ScmObj env; /* ?帥??????????????? Scheme ?医? */ |
| 48 |
guint delete_handler_id; /* トップレベルに登録したハンドラ ID */ |
guint delete_handler_id; /* ???????????????脂?蚊??????潟??? ID */ |
| 49 |
} ShikiBuffer; |
} ShikiBuffer; |
| 50 |
|
|
| 51 |
typedef struct { |
typedef struct { |
| 62 |
|
|
| 63 |
extern ShikiEditorType Shiki_editor; |
extern ShikiEditorType Shiki_editor; |
| 64 |
|
|
| 65 |
/* シングルトンオブジェクトの定義 */ |
/* ?激?潟?違?????潟?????吾?с???????臂 */ |
| 66 |
#define Shiki_EDITOR_DEFAULT_LOCALE Shiki_editor.default_locale |
#define Shiki_EDITOR_DEFAULT_LOCALE Shiki_editor.default_locale |
| 67 |
#define Shiki_EDITOR_WINDOW Shiki_editor.editor_window |
#define Shiki_EDITOR_WINDOW Shiki_editor.editor_window |
| 68 |
#define Shiki_EDITOR_CLIPBOARD Shiki_editor.clipboard |
#define Shiki_EDITOR_CLIPBOARD Shiki_editor.clipboard |
| 71 |
#define Shiki_EDITOR_MODELINE_LABEL Shiki_editor.modeline_label |
#define Shiki_EDITOR_MODELINE_LABEL Shiki_editor.modeline_label |
| 72 |
#define Shiki_EDITOR_TAB_INFO_LIST Shiki_editor.tabInfoList |
#define Shiki_EDITOR_TAB_INFO_LIST Shiki_editor.tabInfoList |
| 73 |
|
|
| 74 |
/* 現在表示されているタブに対するアクセス用各種キャッシュ情報 */ |
/* ?上??;腓冴???????????帥??????????≪???祉?合????腮????c???激?ユ??? */ |
| 75 |
#define Shiki_CURRENT_TAB_NUM Shiki_editor.current_tabpage_num |
#define Shiki_CURRENT_TAB_NUM Shiki_editor.current_tabpage_num |
| 76 |
#define Shiki_CURRENT_TAB_INFO Shiki_editor.current_tabpage_info |
#define Shiki_CURRENT_TAB_INFO Shiki_editor.current_tabpage_info |
| 77 |
#define Shiki_CURRENT_CES (Shiki_editor.current_tabpage_info)->locale |
#define Shiki_CURRENT_CES (Shiki_editor.current_tabpage_info)->locale |
| 84 |
#define Shiki_CURRENT_FILENAME (Shiki_editor.current_tabpage_info)->filename |
#define Shiki_CURRENT_FILENAME (Shiki_editor.current_tabpage_info)->filename |
| 85 |
#define Shiki_CURRENT_BUFFER_ENV (Shiki_editor.current_tabpage_info)->env |
#define Shiki_CURRENT_BUFFER_ENV (Shiki_editor.current_tabpage_info)->env |
| 86 |
|
|
| 87 |
/* Undo/Redo のための情報 */ |
/* Undo/Redo ??????????? */ |
| 88 |
typedef enum {SHIKI_UNDO_INSERT, SHIKI_UNDO_DELETE} ShikiAction; |
typedef enum {SHIKI_UNDO_INSERT, SHIKI_UNDO_DELETE} ShikiAction; |
| 89 |
|
|
| 90 |
typedef struct { |
typedef struct { |