Develop and Download Open Source Software

Browse CVS Repository

Diff of /shiki/shiki/shiki.c

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

revision 1.45 by aloha, Mon Nov 20 05:32:43 2006 UTC revision 1.46 by aloha, Mon Nov 20 07:48:54 2006 UTC
# Line 128  static gchar* get_all_buffer_contents(Gt Line 128  static gchar* get_all_buffer_contents(Gt
128  static gboolean save_text_buffer(const gchar *filename, GtkTextBuffer *buffer);  static gboolean save_text_buffer(const gchar *filename, GtkTextBuffer *buffer);
129  static void clear_current_buffer();  static void clear_current_buffer();
130  static void undo();  static void undo();
131    static void search_current_buffer();
132  static void insert_text_handler(GtkTextBuffer *buffer, GtkTextIter *p, gchar *str, gint len);  static void insert_text_handler(GtkTextBuffer *buffer, GtkTextIter *p, gchar *str, gint len);
133  static void delete_range_handler(GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);  static void delete_range_handler(GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end);
134    
# Line 140  static void text_buffer_cursor_moved_han Line 140  static void text_buffer_cursor_moved_han
140  static gboolean not_yet_save_changes_really_quit(GtkTextBuffer *buffer);  static gboolean not_yet_save_changes_really_quit(GtkTextBuffer *buffer);
141  static gboolean delete_event_handler(GtkWidget *widget, GdkEvent *event, GtkTextBuffer *buffer);  static gboolean delete_event_handler(GtkWidget *widget, GdkEvent *event, GtkTextBuffer *buffer);
142    
143  /* Gauche と S 式操作やインデント関連 */  /* Gauche と S 式操作やインデント・キーワードハイライティング関連 */
144  static gchar *eval_cstring_by_gauche(gchar *s);  static gchar *eval_cstring_by_gauche(gchar *s);
145  static gchar *load_cstring_by_gauche(gchar *s);  static gchar *load_cstring_by_gauche(gchar *s);
146  static void load_buffer_by_gauche();  static void load_buffer_by_gauche();
# Line 154  static gboolean search_sexp_kokka(GtkTex Line 154  static gboolean search_sexp_kokka(GtkTex
154  static gboolean search_last_sexp(GtkTextIter *start, GtkTextIter *end);  static gboolean search_last_sexp(GtkTextIter *start, GtkTextIter *end);
155  static gboolean search_last_sexp_kakko(GtkTextIter *start);  static gboolean search_last_sexp_kakko(GtkTextIter *start);
156  static gint get_parent_nest_level_at_cursor(GtkTextBuffer *buffer);  static gint get_parent_nest_level_at_cursor(GtkTextBuffer *buffer);
157    static gboolean is_not_scheme_delimita_p(gunichar ch, gpointer user_data);
158    static gboolean is_double_quote(gunichar ch, gpointer user_data);
159    static gboolean is_scheme_delimita_p(gunichar ch, gpointer user_data);
160    static void scheme_keyword_highlighting_current_buffer();
161    
162  /* 設定 */  /* 設定 */
163  static void select_font();  static void select_font();
# Line 179  static void about_this_application(); Line 183  static void about_this_application();
183  /* エディタの初期化 */  /* エディタの初期化 */
184  static void shiki_editor_window_init(int argc, char **argv);  static void shiki_editor_window_init(int argc, char **argv);
185    
186    static void destroy_handler(GtkWidget *button, GtkWidget *widget) {gtk_widget_destroy(widget);}
187    
188    static void search_current_buffer() {
189      GtkWidget *dialog = gtk_dialog_new_with_buttons ("文字列の検索", GTK_WINDOW(Shiki_EDITOR_WINDOW), GTK_DIALOG_DESTROY_WITH_PARENT, NULL);
190      GtkWidget *table  = gtk_table_new(6, 3, FALSE);
191      GtkWidget *label  = gtk_label_new("検索 : ");
192      GtkWidget *input  = gtk_entry_new();
193      GtkWidget *check1 = gtk_check_button_new_with_label("大文字小文字を区別する");
194      GtkWidget *check2 = gtk_check_button_new_with_label("単語単位で検索する");
195      GtkWidget *check3 = gtk_check_button_new_with_label("正規表現");
196      GtkWidget *check4 = gtk_check_button_new_with_label("エスケープシーケンスを理解する");
197      GtkWidget *check5 = gtk_check_button_new_with_label("見つからなければ戻って");
198      GtkWidget *prev   = gtk_button_new_with_label ("上検索");
199      GtkWidget *next   = gtk_button_new_with_label ("下検索");
200      GtkWidget *cancel = gtk_button_new_with_label ("キャンセル");
201    
202      g_signal_connect (G_OBJECT(dialog), "delete_event", G_CALLBACK(gtk_widget_destroy), NULL);
203      g_signal_connect (G_OBJECT(cancel), "clicked", G_CALLBACK(destroy_handler), dialog);
204      gtk_table_set_row_spacings(GTK_TABLE(table), 10);
205      gtk_table_set_col_spacings(GTK_TABLE(table), 10);
206      gtk_container_border_width (GTK_CONTAINER (dialog), 10);
207      gtk_table_attach_defaults (GTK_TABLE(table), label,  0, 1, 0, 1);
208      gtk_table_attach_defaults (GTK_TABLE(table), input,  1, 2, 0, 1);
209      gtk_table_attach_defaults (GTK_TABLE(table), prev,   2, 3, 0, 1);
210      gtk_table_attach_defaults (GTK_TABLE(table), check1, 1, 2, 1, 2);
211      gtk_table_attach_defaults (GTK_TABLE(table), check2, 1, 2, 2, 3);
212      gtk_table_attach_defaults (GTK_TABLE(table), check3, 1, 2, 3, 4);
213      gtk_table_attach_defaults (GTK_TABLE(table), check4, 1, 2, 4, 5);
214      gtk_table_attach_defaults (GTK_TABLE(table), check5, 1, 2, 5, 6);
215      gtk_table_attach_defaults (GTK_TABLE(table), next,   2, 3, 1, 2);
216      gtk_table_attach_defaults (GTK_TABLE(table), cancel, 2, 3, 2, 3);
217      gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table);
218      gtk_widget_show_all(table);
219      gtk_dialog_run(GTK_DIALOG(dialog));
220    }
221    
222  static gboolean is_not_scheme_delimita_p(gunichar ch, gpointer user_data) {  static gboolean is_not_scheme_delimita_p(gunichar ch, gpointer user_data) {
223    return ch != '(' && ch != ')' &&  !g_unichar_isspace(ch);    return ch != '(' && ch != ')' &&  !g_unichar_isspace(ch);
224  }  }
# Line 720  static gboolean not_yet_save_changes_rea Line 760  static gboolean not_yet_save_changes_rea
760    
761    dialog = gtk_message_dialog_new(GTK_WINDOW(Shiki_EDITOR_WINDOW),    dialog = gtk_message_dialog_new(GTK_WINDOW(Shiki_EDITOR_WINDOW),
762                 GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING,                 GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING,
763                 GTK_BUTTONS_YES_NO, "バッファが変更されています.\nセーブしないで終了しますか ?");;                 GTK_BUTTONS_YES_NO, "バッファが変更されています.\nセーブしないで終了しますか ?");
764        
765    resp = gtk_dialog_run(GTK_DIALOG(dialog));    resp = gtk_dialog_run(GTK_DIALOG(dialog));
766    gtk_widget_destroy(dialog);    gtk_widget_destroy(dialog);
# Line 1197  static void shiki_editor_window_init(int Line 1237  static void shiki_editor_window_init(int
1237    gtk_tool_item_set_tooltip(icon, toolbar_tips, "Redo", "");    gtk_tool_item_set_tooltip(icon, toolbar_tips, "Redo", "");
1238    
1239    icon = gtk_tool_button_new(gtk_image_new_from_stock (GTK_STOCK_FIND, iconsize), "");    icon = gtk_tool_button_new(gtk_image_new_from_stock (GTK_STOCK_FIND, iconsize), "");
1240    g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(dummy_handler), NULL);    g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(search_current_buffer), NULL);
1241    gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon));    gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon));
1242    gtk_tool_item_set_tooltip(icon, toolbar_tips, "検索", "");    gtk_tool_item_set_tooltip(icon, toolbar_tips, "検索", "");
1243    

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46

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