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.30 by aloha, Wed Nov 15 16:18:20 2006 UTC revision 1.31 by aloha, Wed Nov 15 17:13:15 2006 UTC
# Line 45  typedef struct { Line 45  typedef struct {
45  /* エディタ全体に関する情報と,現在表示されているタブ情報へのキャッシュを管理する構造体 */  /* エディタ全体に関する情報と,現在表示されているタブ情報へのキャッシュを管理する構造体 */
46  struct {  struct {
47    GtkWidget     *editor_window;    GtkWidget     *editor_window;
48      GtkClipboard  *clipboard;
49    GtkNotebook   *notebook;    GtkNotebook   *notebook;
50    GtkWidget     *statusbar;    GtkWidget     *statusbar;
51    GtkWidget     *modeline_label;    GtkWidget     *modeline_label;
# Line 55  struct { Line 56  struct {
56    
57  /* シングルトンオブジェクトの定義 */  /* シングルトンオブジェクトの定義 */
58  #define Shiki_EDITOR_WINDOW         shiki_editor.editor_window  #define Shiki_EDITOR_WINDOW         shiki_editor.editor_window
59    #define Shiki_EDITOR_CLIPBOARD      shiki_editor.clipboard
60  #define Shiki_EDITOR_NOTEBOOK       shiki_editor.notebook  #define Shiki_EDITOR_NOTEBOOK       shiki_editor.notebook
61  #define Shiki_EDITOR_STATUSBAR      shiki_editor.statusbar  #define Shiki_EDITOR_STATUSBAR      shiki_editor.statusbar
62  #define Shiki_EDITOR_MODELINE_LABEL shiki_editor.modeline_label  #define Shiki_EDITOR_MODELINE_LABEL shiki_editor.modeline_label
# Line 709  static gboolean signal_key_press_handler Line 711  static gboolean signal_key_press_handler
711    gtk_text_buffer_get_start_iter(Shiki_CURRENT_TEXT_BUFFER, &start);    gtk_text_buffer_get_start_iter(Shiki_CURRENT_TEXT_BUFFER, &start);
712    gtk_text_buffer_get_end_iter(Shiki_CURRENT_TEXT_BUFFER, &end);    gtk_text_buffer_get_end_iter(Shiki_CURRENT_TEXT_BUFFER, &end);
713    gtk_text_buffer_remove_tag_by_name(Shiki_CURRENT_TEXT_BUFFER, "parent_emphasis_background", &start, &end);    gtk_text_buffer_remove_tag_by_name(Shiki_CURRENT_TEXT_BUFFER, "parent_emphasis_background", &start, &end);
714    
715    if(event->state & GDK_CONTROL_MASK && event->state & GDK_MOD1_MASK) {    if(event->state & GDK_CONTROL_MASK && event->state & GDK_MOD1_MASK) {
716      switch(event->keyval) {      switch(event->keyval) {
717        case GDK_at : /* C-M-SPC */        case GDK_at : /* C-M-SPC */
# Line 724  static gboolean signal_key_press_handler Line 727  static gboolean signal_key_press_handler
727          }          }
728          break;          break;
729      }      }
730    }    } else if(event->state & GDK_CONTROL_MASK) {
   if(event->state & GDK_CONTROL_MASK) {  
731      switch(event->keyval) {      switch(event->keyval) {
732        case GDK_f :  /* Ctrl + f : forward */        case GDK_f :  /* Ctrl + f : forward */
733          forward_current_buffer();          forward_current_buffer();
# Line 781  static gboolean signal_key_press_handler Line 783  static gboolean signal_key_press_handler
783        case GDK_k : /* Ctrl + k : タブを閉じる */        case GDK_k : /* Ctrl + k : タブを閉じる */
784          remove_tabpage();          remove_tabpage();
785          break;          break;
786    
787          case GDK_w : /* Ctrl + w : カット */
788            gtk_text_buffer_cut_clipboard(Shiki_CURRENT_TEXT_BUFFER, Shiki_EDITOR_CLIPBOARD, TRUE);
789            break;
790    
791          case GDK_y : /* Ctrl + y : ヤンク */
792            {GtkTextIter p;
793              gtk_text_buffer_get_iter_at_mark(Shiki_CURRENT_TEXT_BUFFER,&p, gtk_text_buffer_get_insert(Shiki_CURRENT_TEXT_BUFFER));
794              gtk_text_buffer_paste_clipboard(Shiki_CURRENT_TEXT_BUFFER, Shiki_EDITOR_CLIPBOARD, &p, TRUE);
795            }
796            break;        
797      }      }
798    }    }
799    return FALSE;    return FALSE;
# Line 889  static void open_online_help() { Line 902  static void open_online_help() {
902        "C-n : ↓ に移動 (next line)\n"        "C-n : ↓ に移動 (next line)\n"
903        "C-p : ↑ に移動 (previous line)\n\n"        "C-p : ↑ に移動 (previous line)\n\n"
904        "C-h : バックスペース\n\n"        "C-h : バックスペース\n\n"
905          "C-w : カット\n"
906          "C-y : ヤンク (ペースト)\n\n"
907        "C-e : カーソル後ろの S 式を評価 (eval-expression)\n"        "C-e : カーソル後ろの S 式を評価 (eval-expression)\n"
908        "C-j : カーソル手前の S 式を評価 (eval-last-sexp)\n"        "C-j : カーソル手前の S 式を評価 (eval-last-sexp)\n"
909        "(emacs/xyzzy の *scratch* バッファと同じ)\n\n"        "(emacs/xyzzy の *scratch* バッファと同じ)\n\n"
910          "C-M-@ : カーソル以降の S 式を選択 (mark-sexp)\n"
911          "C-M-SPC : カーソル手前の S 式を選択 (mark-last-sexp)\n"
912        "C-x C-c : 終了.ウィンドウの × ボタンを押したのと同じ\n\n"        "C-x C-c : 終了.ウィンドウの × ボタンを押したのと同じ\n\n"
913    
914        "また,内容が失われる恐れがあるときには全て「Really Quit ?」のように警告します.\n", -1);        "また,内容が失われる恐れがあるときには全て「Really Quit ?」のように警告します.\n", -1);
# Line 917  static void shiki_editor_window_init(int Line 933  static void shiki_editor_window_init(int
933    Shiki_EDITOR_WINDOW = gtk_window_new(GTK_WINDOW_TOPLEVEL);    Shiki_EDITOR_WINDOW = gtk_window_new(GTK_WINDOW_TOPLEVEL);
934    g_signal_connect(G_OBJECT(Shiki_EDITOR_WINDOW), "destroy", G_CALLBACK(gtk_main_quit), NULL);    g_signal_connect(G_OBJECT(Shiki_EDITOR_WINDOW), "destroy", G_CALLBACK(gtk_main_quit), NULL);
935    
936      /* システムのデフォルトクリップボードを取得 */
937      Shiki_EDITOR_CLIPBOARD = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
938    
939    /* パッキングボックスを作る */    /* パッキングボックスを作る */
940    vbox = gtk_vbox_new(FALSE, 0);    vbox = gtk_vbox_new(FALSE, 0);
941    /* ツールバー作る */    /* ツールバー作る */

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

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