Develop and Download Open Source Software

Browse CVS Repository

Annotation of /shiki/shiki/xyzzylisp.stub

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


Revision 1.7 - (hide annotations) (download)
Sun Nov 26 18:41:43 2006 UTC (17 years, 4 months ago) by aloha
Branch: MAIN
Changes since 1.6: +22 -0 lines
add some API

1 aloha 1.2 "#include \"shiki.h\""
2    
3 aloha 1.5 (define-type <buffer> "GtkTextBuffer*" "buffer"
4     "SHIKI_BUFFER_P" "SHIKI_BUFFER_UNBOX" "SHIKI_BUFFER_BOX")
5    
6 aloha 1.6 (define-cproc bufferp (buffer)
7     (call <boolean> "SHIKI_BUFFER_P"))
8    
9 aloha 1.5 (define-cproc selected-buffer ()
10     (body <buffer>
11     " g_object_ref(Shiki_CURRENT_TEXT_BUFFER);
12     SCM_RESULT = Shiki_CURRENT_TEXT_BUFFER;"))
13    
14 aloha 1.6 (define-cproc get-next-buffer (&optional buffer)
15     (body <buffer>
16     " if(buffer == SCM_UNBOUND)
17     SCM_RESULT = Shiki_get_next_buffer(Shiki_CURRENT_TEXT_BUFFER);
18     else if(SHIKI_BUFFER_P(buffer))
19     SCM_RESULT = Shiki_get_next_buffer(SHIKI_BUFFER_UNBOX(buffer));
20     else
21     Scm_Error(\"buffer required, but got %S\", buffer);
22     if(SCM_RESULT)
23     g_object_ref(SCM_RESULT);"))
24    
25 aloha 1.7 (define-cproc buffer-lines (&optional buffer)
26     (body <int>
27     " if(buffer == SCM_UNBOUND)
28     SCM_RESULT = gtk_text_buffer_get_line_count(Shiki_CURRENT_TEXT_BUFFER);
29     else if(SHIKI_BUFFER_P(buffer))
30     SCM_RESULT = gtk_text_buffer_get_line_count(SHIKI_BUFFER_UNBOX(buffer));
31     else
32     Scm_Error(\"buffer required, but got %S\", buffer);"))
33    
34     (define-cproc buffer-size (&optional buffer)
35     (body <int>
36     " if(buffer == SCM_UNBOUND)
37     SCM_RESULT = gtk_text_buffer_get_char_count(Shiki_CURRENT_TEXT_BUFFER);
38     else if(SHIKI_BUFFER_P(buffer))
39     SCM_RESULT = gtk_text_buffer_get_char_count(SHIKI_BUFFER_UNBOX(buffer));
40     else
41     Scm_Error(\"buffer required, but got %S\", buffer);"))
42    
43 aloha 1.6 (define-cproc get-previous-buffer (&optional buffer)
44     (body <buffer>
45     " if(buffer == SCM_UNBOUND)
46     SCM_RESULT = Shiki_get_previous_buffer(Shiki_CURRENT_TEXT_BUFFER);
47     else if(SHIKI_BUFFER_P(buffer))
48     SCM_RESULT = Shiki_get_previous_buffer(SHIKI_BUFFER_UNBOX(buffer));
49     else
50     Scm_Error(\"buffer required, but got %S\", buffer);
51     if(SCM_RESULT)
52     g_object_ref(SCM_RESULT);")
53     )
54    
55     (define-cproc buffer-list ()
56     (call "Shiki_buffer_list"))
57    
58     (define-cproc next-buffer ()
59     (body <void> "gtk_notebook_next_page(Shiki_EDITOR_NOTEBOOK);"))
60 aloha 1.7
61 aloha 1.6 (define-cproc previous-buffer ()
62     (body <void> "gtk_notebook_prev_page(Shiki_EDITOR_NOTEBOOK);"))
63    
64     (define-cproc buffer-name (buffer::<buffer>)
65     (expr <const-cstring>? "Shiki_buffer_name(buffer)"))
66    
67 aloha 1.7 (define-cproc deleted-buffer-p (buffer::<buffer>)
68     (expr <boolean>? "Shiki_deleted_buffer_p(buffer)"))
69    
70 aloha 1.6 (define-cproc buffer-modified-p (&optional buffer)
71     (body <boolean>
72     " if(buffer == SCM_UNBOUND)
73     SCM_RESULT = gtk_text_buffer_get_modified(Shiki_CURRENT_TEXT_BUFFER);
74     else if(SHIKI_BUFFER_P(buffer))
75     SCM_RESULT = gtk_text_buffer_get_modified(SHIKI_BUFFER_UNBOX(buffer));
76     else
77     Scm_Error(\"buffer required, but got %S\", buffer);"))
78    
79 aloha 1.1 (define-cproc buffer-substring (start::<int> end::<int>)
80 aloha 1.3 (body <string>?
81     " gchar *substr = Shiki_buffer_substring(start, end);
82     if(substr)
83     SCM_RESULT = SCM_STRING(SCM_MAKE_STR_COPYING(substr));
84     else
85     SCM_RESULT = SCM_STRING(SCM_FALSE);
86     g_free(substr);"))
87 aloha 1.5
88 aloha 1.4 (define-cproc delete-region (start::<int> end::<int>)(call <void> "Shiki_delete_region"))
89    
90 aloha 1.6 (define-cproc insert (char_or_string)
91 aloha 1.4 (body <void>
92     "if(SCM_CHARP(char_or_string)) {
93     gunichar u = SCM_CHAR_VALUE(char_or_string);
94     gchar *str = g_ucs4_to_utf8(&u, 1, NULL, NULL, NULL);
95     gtk_text_buffer_insert_at_cursor(Shiki_CURRENT_TEXT_BUFFER, str, -1);
96     g_free(str);
97     } else if(SCM_STRINGP(char_or_string))
98 aloha 1.6 gtk_text_buffer_insert_at_cursor(Shiki_CURRENT_TEXT_BUFFER, SCM_STRING_CONST_CSTRING(char_or_string), -1);
99     else
100     Scm_Error(\"character or string required, but got %S\", char_or_string);"))
101 aloha 1.4
102     (define-cproc point () (call <int> "Shiki_point"))
103     (define-cproc point-max () (call <int> "Shiki_point_max"))
104     (define-cproc point-min () (call <int> "Shiki_point_min"))
105     (define-cproc goto-char (offset::<int>) (call <void> "Shiki_goto_char"))
106     (define-cproc forward-char () (call <void> "Shiki_forward_char"))
107     (define-cproc backward-char () (call <void> "Shiki_backward_char"))
108     (define-cproc goto-line (line::<int>) (call <void> "Shiki_goto_line"))
109     (define-cproc goto-bol () (call <void> "Shiki_goto_bol"))
110     (define-cproc goto-eol () (call <void> "Shiki_goto_eol"))

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