| 185 |
|
|
| 186 |
static void destroy_handler(GtkWidget *button, GtkWidget *widget) {gtk_widget_destroy(widget);} |
static void destroy_handler(GtkWidget *button, GtkWidget *widget) {gtk_widget_destroy(widget);} |
| 187 |
|
|
| 188 |
|
static void replace_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(7, 3, FALSE); |
| 191 |
|
GtkWidget *find_label = gtk_label_new("検索 : "); |
| 192 |
|
GtkWidget *find = gtk_entry_new(); |
| 193 |
|
GtkWidget *rep_label = gtk_label_new("置換 : "); |
| 194 |
|
GtkWidget *replace = gtk_entry_new(); |
| 195 |
|
GtkWidget *check1 = gtk_check_button_new_with_label("大文字小文字を区別する"); |
| 196 |
|
GtkWidget *check2 = gtk_check_button_new_with_label("単語単位で検索する"); |
| 197 |
|
GtkWidget *check3 = gtk_check_button_new_with_label("正規表現"); |
| 198 |
|
GtkWidget *check4 = gtk_check_button_new_with_label("エスケープシーケンスを理解する"); |
| 199 |
|
GtkWidget *check5 = gtk_check_button_new_with_label("バッファの先頭から"); |
| 200 |
|
GtkWidget *interactive = gtk_button_new_with_label ("確認あり"); |
| 201 |
|
GtkWidget *all = gtk_button_new_with_label ("全て置換"); |
| 202 |
|
GtkWidget *cancel = gtk_button_new_with_label ("キャンセル"); |
| 203 |
|
|
| 204 |
|
g_signal_connect (G_OBJECT(dialog), "delete_event", G_CALLBACK(gtk_widget_destroy), NULL); |
| 205 |
|
g_signal_connect (G_OBJECT(cancel), "clicked", G_CALLBACK(destroy_handler), dialog); |
| 206 |
|
gtk_table_set_row_spacings(GTK_TABLE(table), 10); |
| 207 |
|
gtk_table_set_col_spacings(GTK_TABLE(table), 10); |
| 208 |
|
gtk_container_border_width (GTK_CONTAINER (dialog), 10); |
| 209 |
|
|
| 210 |
|
gtk_table_attach_defaults (GTK_TABLE(table), find_label, 0, 1, 0, 1); |
| 211 |
|
gtk_table_attach_defaults (GTK_TABLE(table), find, 1, 2, 0, 1); |
| 212 |
|
gtk_table_attach_defaults (GTK_TABLE(table), interactive, 2, 3, 0, 1); |
| 213 |
|
|
| 214 |
|
gtk_table_attach_defaults (GTK_TABLE(table), rep_label, 0, 1, 1, 2); |
| 215 |
|
gtk_table_attach_defaults (GTK_TABLE(table), replace, 1, 2, 1, 2); |
| 216 |
|
gtk_table_attach_defaults (GTK_TABLE(table), all, 2, 3, 1, 2); |
| 217 |
|
|
| 218 |
|
gtk_table_attach_defaults (GTK_TABLE(table), check1, 1, 2, 2, 3); |
| 219 |
|
gtk_table_attach_defaults (GTK_TABLE(table), cancel, 2, 3, 2, 3); |
| 220 |
|
|
| 221 |
|
gtk_table_attach_defaults (GTK_TABLE(table), check2, 1, 2, 3, 4); |
| 222 |
|
gtk_table_attach_defaults (GTK_TABLE(table), check3, 1, 2, 4, 5); |
| 223 |
|
gtk_table_attach_defaults (GTK_TABLE(table), check4, 1, 2, 5, 6); |
| 224 |
|
gtk_table_attach_defaults (GTK_TABLE(table), check5, 1, 2, 6, 7); |
| 225 |
|
|
| 226 |
|
gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table); |
| 227 |
|
gtk_widget_show_all(table); |
| 228 |
|
gtk_dialog_run(GTK_DIALOG(dialog)); |
| 229 |
|
} |
| 230 |
|
|
| 231 |
static void search_current_buffer() { |
static void search_current_buffer() { |
| 232 |
GtkWidget *dialog = gtk_dialog_new_with_buttons ("文字列の検索", GTK_WINDOW(Shiki_EDITOR_WINDOW), GTK_DIALOG_DESTROY_WITH_PARENT, NULL); |
GtkWidget *dialog = gtk_dialog_new_with_buttons ("文字列の検索", GTK_WINDOW(Shiki_EDITOR_WINDOW), GTK_DIALOG_DESTROY_WITH_PARENT, NULL); |
| 233 |
GtkWidget *table = gtk_table_new(6, 3, FALSE); |
GtkWidget *table = gtk_table_new(6, 3, FALSE); |
| 525 |
tabinfo->text_buffer = gtk_text_view_get_buffer(tabinfo->text_view); |
tabinfo->text_buffer = gtk_text_view_get_buffer(tabinfo->text_view); |
| 526 |
|
|
| 527 |
gtk_container_add(GTK_CONTAINER(tabinfo->tabpage), GTK_WIDGET(tabinfo->text_view)); |
gtk_container_add(GTK_CONTAINER(tabinfo->tabpage), GTK_WIDGET(tabinfo->text_view)); |
| 528 |
gtk_widget_set_size_request(GTK_WIDGET(tabinfo->text_view), 700, 500); |
gtk_widget_set_size_request(GTK_WIDGET(tabinfo->text_view), 680, 700); |
| 529 |
g_signal_connect(tabinfo->text_buffer, "mark_set", G_CALLBACK(text_buffer_cursor_moved_handler), tabinfo->text_view); |
g_signal_connect(tabinfo->text_buffer, "mark_set", G_CALLBACK(text_buffer_cursor_moved_handler), tabinfo->text_view); |
| 530 |
g_signal_connect(tabinfo->text_buffer, "insert-text", G_CALLBACK(insert_text_handler), NULL); |
g_signal_connect(tabinfo->text_buffer, "insert-text", G_CALLBACK(insert_text_handler), NULL); |
| 531 |
g_signal_connect(tabinfo->text_buffer, "delete-range", G_CALLBACK(delete_range_handler), NULL); |
g_signal_connect(tabinfo->text_buffer, "delete-range", G_CALLBACK(delete_range_handler), NULL); |
| 1286 |
|
|
| 1287 |
|
|
| 1288 |
icon = gtk_tool_button_new(gtk_image_new_from_stock (GTK_STOCK_FIND_AND_REPLACE, iconsize), ""); |
icon = gtk_tool_button_new(gtk_image_new_from_stock (GTK_STOCK_FIND_AND_REPLACE, iconsize), ""); |
| 1289 |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(dummy_handler), NULL); |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(replace_current_buffer), NULL); |
| 1290 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
| 1291 |
gtk_tool_item_set_tooltip(icon, toolbar_tips, "置換", ""); |
gtk_tool_item_set_tooltip(icon, toolbar_tips, "置換", ""); |
| 1292 |
|
|