| 510 |
GtkWidget *vbox, *toolbar, *notebook; |
GtkWidget *vbox, *toolbar, *notebook; |
| 511 |
GtkToolItem *icon; |
GtkToolItem *icon; |
| 512 |
GtkIconSize iconsize; |
GtkIconSize iconsize; |
| 513 |
|
GtkTooltips *toolbar_tips = gtk_tooltips_new(); |
| 514 |
/* 「開く」「保存」「別名保存」「選択領域を実行」アイコン */ |
/* 「開く」「保存」「別名保存」「選択領域を実行」アイコン */ |
| 515 |
GtkToolItem *oicon, *sicon, *saicon, *eicon; |
GtkToolItem *oicon, *sicon, *saicon, *eicon; |
| 516 |
|
|
| 538 |
/* 「開く」ボタンにファイルを読み込むアクションを関連付ける */ |
/* 「開く」ボタンにファイルを読み込むアクションを関連付ける */ |
| 539 |
g_signal_connect(G_OBJECT(oicon), "clicked", G_CALLBACK(open_file_handler), G_OBJECT(notebook)); |
g_signal_connect(G_OBJECT(oicon), "clicked", G_CALLBACK(open_file_handler), G_OBJECT(notebook)); |
| 540 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(oicon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(oicon)); |
| 541 |
|
gtk_tool_item_set_tooltip(oicon, toolbar_tips, "ファイルを開きます", |
| 542 |
|
"新しいバッファを開いて,そこにファイルの内容を展開します."); |
| 543 |
|
|
| 544 |
/* バッファ保存 */ |
/* バッファ保存 */ |
| 545 |
sicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-save", iconsize), ""); |
sicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-save", iconsize), ""); |
| 546 |
/* 「保存」ボタンにファイルを書き出すアクションを関連付ける */ |
/* 「保存」ボタンにファイルを書き出すアクションを関連付ける */ |
| 547 |
g_signal_connect(G_OBJECT(sicon), "clicked", G_CALLBACK(save_file_handler), G_OBJECT(notebook)); |
g_signal_connect(G_OBJECT(sicon), "clicked", G_CALLBACK(save_file_handler), G_OBJECT(notebook)); |
| 548 |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(sicon)); |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(sicon)); |
| 549 |
|
gtk_tool_item_set_tooltip(sicon, toolbar_tips, "バッファを保存します", |
| 550 |
|
"バッファにファイル名が設定されていない場合には,ダイアログを開いてファイル名を取得します"); |
| 551 |
|
|
| 552 |
/* バッファを別名保存 */ |
/* バッファを別名保存 */ |
| 553 |
saicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-save-as", iconsize), ""); |
saicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-save-as", iconsize), ""); |
| 554 |
/* 「別名保存」ボタンに別名のファイル開いて内容を書き出すアクションを関連付ける */ |
/* 「別名保存」ボタンに別名のファイル開いて内容を書き出すアクションを関連付ける */ |
| 555 |
g_signal_connect(G_OBJECT(saicon), "clicked", G_CALLBACK(save_file_as_handler), G_OBJECT(notebook)); |
g_signal_connect(G_OBJECT(saicon), "clicked", G_CALLBACK(save_file_as_handler), G_OBJECT(notebook)); |
|
|
|
| 556 |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(saicon)); |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(saicon)); |
| 557 |
|
gtk_tool_item_set_tooltip(saicon, toolbar_tips, "バッファを別名保存します", |
| 558 |
|
""); |
| 559 |
|
|
| 560 |
|
|
| 561 |
/* バッファ実行 */ |
/* バッファ実行 */ |
| 562 |
eicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-execute", iconsize), ""); |
eicon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-execute", iconsize), ""); |
| 563 |
/* バッファを実行ボタンに libgauche を関連付ける */ |
/* バッファを実行ボタンに libgauche を関連付ける */ |
| 564 |
g_signal_connect(G_OBJECT(eicon), "clicked", G_CALLBACK(buffer_exec_handler), G_OBJECT(notebook)); |
g_signal_connect(G_OBJECT(eicon), "clicked", G_CALLBACK(buffer_exec_handler), G_OBJECT(notebook)); |
| 565 |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(eicon)); |
gtk_container_add (GTK_CONTAINER (toolbar), GTK_WIDGET(eicon)); |
| 566 |
|
gtk_tool_item_set_tooltip(eicon, toolbar_tips, "選択範囲の S 式を評価します", |
| 567 |
|
"Scheme (gauche) で評価できる S 式を評価します."); |
| 568 |
|
|
| 569 |
/* キーバインドのハンドリングを登録 */ |
/* キーバインドのハンドリングを登録 */ |
| 570 |
g_signal_connect(G_OBJECT(notebook), "key-press-event", G_CALLBACK (signal_key_press_handler), NULL); |
g_signal_connect(G_OBJECT(notebook), "key-press-event", G_CALLBACK (signal_key_press_handler), NULL); |
| 577 |
new_scrolled_text_buffer(), |
new_scrolled_text_buffer(), |
| 578 |
gtk_label_new("*scratch*")); |
gtk_label_new("*scratch*")); |
| 579 |
|
|
|
/* タブの on/off */ |
|
| 580 |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-apply", iconsize), "append"); |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-apply", iconsize), "append"); |
| 581 |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(tabsborder_on_off), G_OBJECT(notebook)); |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(tabsborder_on_off), G_OBJECT(notebook)); |
| 582 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
| 583 |
|
gtk_tool_item_set_tooltip(icon, toolbar_tips, "タブの on/off", |
| 584 |
|
""); |
| 585 |
|
|
|
/* タブの位置 */ |
|
| 586 |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-preferences", iconsize), "append"); |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-preferences", iconsize), "append"); |
| 587 |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(rotate_tab_position), G_OBJECT( notebook)); |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(rotate_tab_position), G_OBJECT( notebook)); |
| 588 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
| 589 |
|
gtk_tool_item_set_tooltip(icon, toolbar_tips, "タブの位置の設定", |
| 590 |
|
""); |
| 591 |
|
|
|
/* タブを追加 */ |
|
| 592 |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-add", iconsize), "append"); |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-add", iconsize), "append"); |
| 593 |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(append_tabpage), G_OBJECT( notebook)); |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(append_tabpage), G_OBJECT( notebook)); |
| 594 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
| 595 |
|
gtk_tool_item_set_tooltip(icon, toolbar_tips, "新規バッファを開きます", |
| 596 |
|
""); |
| 597 |
|
|
|
/* 選択されているページを取り除く */ |
|
| 598 |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-close", iconsize), "remove"); |
icon = gtk_tool_button_new(gtk_image_new_from_stock ("gtk-close", iconsize), "remove"); |
| 599 |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(remove_tabpage_handler), G_OBJECT( notebook)); |
g_signal_connect(G_OBJECT(icon), "clicked", G_CALLBACK(remove_tabpage_handler), G_OBJECT( notebook)); |
| 600 |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
gtk_container_add(GTK_CONTAINER (toolbar), GTK_WIDGET(icon)); |
| 601 |
|
gtk_tool_item_set_tooltip(icon, toolbar_tips, "バッファを閉じます", |
| 602 |
|
"まだ内容が保存されていない場合は警告します"); |
| 603 |
|
|
| 604 |
gtk_widget_show_all(editor_window); |
gtk_widget_show_all(editor_window); |
| 605 |
} |
} |