chiark / gitweb /
Adding bindings to entry completion
[clg] / gtk / gtktypes.lisp
1 ;; Common Lisp bindings for GTK+ v2.0.x
2 ;; Copyright (C) 1999-2001 Espen S. Johnsen <espen@users.sourceforge.org>
3 ;;
4 ;; This library is free software; you can redistribute it and/or
5 ;; modify it under the terms of the GNU Lesser General Public
6 ;; License as published by the Free Software Foundation; either
7 ;; version 2 of the License, or (at your option) any later version.
8 ;;
9 ;; This library is distributed in the hope that it will be useful,
10 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 ;; Lesser General Public License for more details.
13 ;;
14 ;; You should have received a copy of the GNU Lesser General Public
15 ;; License along with this library; if not, write to the Free Software
16 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18 ;; $Id: gtktypes.lisp,v 1.25 2004-12-20 22:43:26 espen Exp $
19
20
21 (in-package "GTK")
22
23 (defclass requisition (boxed)
24   ((width
25     :allocation :alien
26     :accessor requisition-width
27     :initarg :width
28     :type int)
29    (height
30     :allocation :alien
31     :accessor requisition-height
32     :initarg :height
33     :type int))
34   (:metaclass boxed-class))
35
36
37 (defclass allocation (struct)
38   ((x
39     :allocation :alien
40     :accessor allocation-width
41     :initarg :x
42     :type int)
43    (y
44     :allocation :alien
45     :accessor allocation-width
46     :initarg :width
47     :type int)
48    (width
49     :allocation :alien
50     :accessor allocation-width
51     :initarg :width
52     :type int)
53    (height
54     :allocation :alien
55     :accessor allocation-height
56     :initarg :height
57     :type int))
58   (:metaclass struct-class))
59
60 (defclass border (boxed)
61   ((left
62     :allocation :alien
63     :accessor border-left
64     :initarg :left
65     :type int)
66    (right
67     :allocation :alien
68     :accessor border-right
69     :initarg :right
70     :type int)
71    (top
72     :allocation :alien
73     :accessor border-top
74     :initarg :top
75     :type int)
76    (bottom
77     :allocation :alien
78     :accessor border-bottom
79     :initarg :bottom
80     :type int))
81   (:metaclass boxed-class))
82
83 (defclass stock-item (struct)
84   ((id
85     :allocation :alien
86     :accessor stock-item-id
87     :initarg :id
88     :type string)
89    (label
90     :allocation :alien
91     :accessor stock-item-label
92     :initarg :label
93     :type string)
94    (modifier
95     :allocation :alien
96     :accessor stock-item-modifier
97     :initarg :modifier
98     :type gdk:modifier-type)
99    (keyval
100     :allocation :alien
101     :accessor stock-item-keyval
102     :initarg :keyval
103     :type int)
104    (translation-domain
105     :allocation :alien
106     :accessor stock-item-translation-domain
107     :initarg :translation-domain
108     :type string))
109   (:metaclass struct-class))
110
111 ;; We don't really need to access any of these slots, but we need to
112 ;; specify the size of the struct somehow 
113 (defclass tree-iter (boxed)
114   ((stamp :allocation :alien :type int)
115    (user-data :allocation :alien :type pointer)
116    (user-data2 :allocation :alien :type pointer)
117    (user-data3 :allocation :alien :type pointer))
118   (:metaclass boxed-class))
119
120
121 ;; (defclass tree-path (boxed)
122 ;;   ((depth :allocation :alien :type int)
123 ;;    (indices  :allocation :alien :type pointer))
124 ;;   (:metaclass boxed-class))
125
126 (deftype tree-path () '(vector integer))
127 (register-type 'tree-path "GtkTreePath")
128
129
130 (define-types-by-introspection "Gtk"
131   ;; Manually defined
132   ("GtkObject" :ignore t)
133   ("GtkRequisition" :ignore t)
134   ("GtkBorder" :ignore t)
135   ("GtkTreeIter" :ignore t)
136   ("GtkTreePath" :ignore t)
137 ;  ("GtkStyle" :ignore t)
138
139   ;; Manual override
140   ("GtkWidget"
141    :slots
142    ((child-properties
143      :allocation :instance
144      :accessor widget-child-properties
145      :type container-child)
146     (window
147      :allocation :virtual
148      :getter "gtk_widget_get_window"
149      :unbound nil
150      :reader widget-window
151      :type gdk:window)
152     (state
153      :allocation :virtual
154      :getter "gtk_widget_get_state"
155      :setter "gtk_widget_set_state"
156      :accessor widget-state
157      :initarg :state
158      :type state-type)
159     (colormap
160      :allocation :virtual
161      :getter "gtk_widget_get_colormap"
162      :setter "gtk_widget_set_colormap"
163      :unbound nil
164      :initarg :colormap
165      :accessor widget-colormap
166      :type gdk:colormap)
167     (visual
168      :allocation :virtual
169      :getter "gtk_widget_get_visual"
170      :unbound nil
171      :reader widget-visual
172      :type gdk:visual)
173     (direction
174      :allocation :virtual
175      :getter "gtk_widget_get_direction"
176      :setter "gtk_widget_set_direction"
177      :accessor widget-direction
178      :initarg :direction
179      :type text-direction)
180     (composite-name
181      :allocation :virtual
182      :getter "gtk_widget_get_composite_name"
183      :setter "gtk_widget_set_composite_name"
184      :accessor widget-composite-name
185      :initarg :composite-name
186      :type string)
187     (settings
188      :allocation :virtual
189      :getter "gtk_widget_get_settings"
190      :unbound nil
191      :accessor widget-settings
192      :type settings)
193     (child-visible
194      :allocation :virtual
195      :getter "gtk_widget_get_child_visible"
196      :setter "gtk_widget_set_child_visible"
197      :accessor widget-child-visible-p
198      :initarg :child-visible
199      :type boolean)
200     (width-request
201      :merge t :unbound -1)
202     (height-request
203      :merge t :unbound -1)))
204      
205   ("GtkContainer"
206    :slots
207    ((child
208      :ignore t)
209     (children
210      :allocation :virtual
211      :getter container-children
212      :setter (setf container-children))
213     (focus-child
214      :allocation :virtual
215      :getter "gtk_container_get_focus_child"
216      :setter "gtk_container_set_focus_child"
217      :accessor container-focus-child
218      :initarg :focus-child
219      :type widget)
220     (focus-chain
221      :allocation :virtual
222      :getter container-focus-chain
223      :setter (setf container-focus-chain))
224     (focus-hadjustment
225      :allocation :virtual
226      :getter "gtk_container_get_focus_hadjustment"
227      :setter "gtk_container_set_focus_hadjustment"
228      :accessor container-focus-hadjustment
229      :initarg :focus-hadjustment
230      :type adjustment)
231     (focus-vadjustment
232      :allocation :virtual
233      :getter "gtk_container_get_focus_vadjustment"
234      :setter "gtk_container_set_focus_vadjustment"
235      :accessor container-focus-vadjustment
236      :initarg :focus-vadjustment
237      :type adjustment)))
238       
239   ("GtkBin"
240    :slots
241    ((child
242      :allocation :virtual
243      :getter "gtk_bin_get_child"
244      :setter (setf bin-child)
245      :reader bin-child
246      :type widget)))
247
248   ("GtkWindow"
249    :slots
250    ((gravity
251      :allocation :virtual
252      :getter "gtk_window_get_gravity"
253      :setter "gtk_window_set_gravity"
254      :accessor window-gravity
255      :initarg :gravity
256      :type gdk:gravity)
257     (focus-widget
258      :allocation :virtual
259      :getter "gtk_window_get_focus"
260      :setter "gtk_window_set_focus"
261      :accessor window-focus-widget
262      :initarg :focus-widget
263      :type widget)
264     (default-widget
265      :allocation :virtual
266      :getter "gtk_window_get_default"
267      :setter "gtk_window_set_default"
268      :accessor window-default-widget
269      :initarg :default-widget
270      :type widget)
271     (decorated
272      :allocation :virtual
273      :getter "gtk_window_get_decorated"
274      :setter "gtk_window_set_decorated"
275      :accessor window-decorated-p
276      :initarg :decorated
277      :type boolean)
278     (has-frame
279      :allocation :virtual
280      :getter "gtk_window_get_has_frame"
281      :setter "gtk_window_set_has_frame"
282      :accessor window-has-frame-p
283      :initarg :has-frame
284      :type boolean)
285     (role
286      :allocation :virtual
287      :getter "gtk_window_get_role"
288      :setter "gtk_window_set_role"
289      :accessor window-role
290      :initarg :role
291      :type string)
292     (type-hint
293      :allocation :virtual
294      :getter "gtk_window_get_type_hint"
295      :setter "gtk_window_set_type_hint"
296      :accessor window-type-hint
297      :initarg :type-hint
298      :type gdk:window-type-hint)
299     (icon
300      :allocation :virtual
301      :getter window-icon
302      :setter (setf window-icon)
303      :initarg :icon)
304     (mnemonic-modifier
305      :allocation :virtual
306      :getter "gtk_window_get_mnemonic_modifier"
307      :setter "gtk_window_set_mnemonic_modifier"
308      :accessor window-mnemonic-modifier
309      :initarg :mnemonic-modifier
310      :type gdk:modifier-type)
311     (transient-for
312      :allocation :virtual
313      :getter "gtk_window_get_transient_for"
314      :setter "gtk_window_set_transient_for"
315      :accessor window-transient-for
316      :initarg :transient-for
317      :type window)))
318   
319   ("GtkTooltips"
320    :slots
321    ((enabled
322      :allocation :virtual
323      :getter "gtk_tooltips_get_enabled"
324      :setter (setf tooltips-enabled-p)
325      :reader tooltips-enabled-p
326      :initarg :enabled
327      :type boolean)))
328   
329   ("GtkOptionMenu"
330    :slots
331    ((menu
332      :allocation :virtual
333      :getter "gtk_option_menu_get_menu"
334      :setter (setf option-menu-menu)
335      :reader option-menu-menu
336      :initarg :menu
337      :type menu)
338     (history
339      :allocation :virtual
340      :getter "gtk_option_menu_get_history"
341      :setter "gtk_option_menu_set_history"
342      :accessor option-menu-history
343      :initarg :history
344      :type unsigned-int)))
345
346   ("GtkMenuItem"
347    :slots
348    ((label
349      :allocation :virtual
350      :getter menu-item-label
351      :setter (setf menu-item-label)
352      :initarg :label
353      :type string)
354     (right-justified
355      :allocation :virtual
356      :getter "gtk_menu_item_get_right_justified"
357      :setter "gtk_menu_item_set_right_justified"
358      :accessor menu-item-right-justified-p
359      :initarg :right-justified
360      :type boolean)
361     (submenu
362      :allocation :virtual
363      :getter "gtk_menu_item_get_submenu"
364      :setter (setf menu-item-submenu)
365      :reader menu-item-submenu
366      :initarg :submenu
367      :type menu-item)))
368
369   ("GtkColorSelectionDialog"
370    :slots
371    ((colorsel
372      :allocation :alien
373      :reader color-selection-dialog-colorsel
374      :type widget)
375     (ok-button
376      :allocation :alien
377      :reader color-selection-dialog-ok-button
378      :type widget)
379     (cancel-button
380      :allocation :alien
381      :reader color-selection-dialog-cancel-button
382      :type widget)
383     (help-button
384      :allocation :alien
385      :reader color-selection-dialog-help-button
386      :type widget)))
387
388   ("GtkScrolledWindow"
389    :slots
390    ((hscrollbar
391      :allocation :alien
392      :reader scrolled-window-hscrollbar
393      :type widget)
394     (vscrollbar
395      :allocation :alien
396      :reader scrolled-window-vscrollbar
397      :type widget)))
398
399   ("GtkPaned"
400    :slots
401    ((child1
402     :allocation :virtual
403     :getter "gtk_paned_get_child1"
404     :setter "gtk_paned_add1"
405     :accessor paned-child1
406     :initarg :child1
407     :type widget)
408    (child2
409     :allocation :virtual
410     :getter "gtk_paned_get_child2"
411     :setter "gtk_paned_add2"
412     :accessor paned-child2
413     :initarg :child2
414     :type widget)))
415
416   ("GtkMenu"
417    :slots
418    ((accel-group
419      :allocation :virtual
420      :getter "gtk_menu_get_accel_group"
421      :setter "gtk_menu_set_accel_group"
422      :accessor menu-accel-group
423      :initarg :accel-group
424      :type accel-group)
425     (title
426      :allocation :virtual
427      :getter "gtk_menu_get_title"
428      :setter "gtk_menu_set_title"
429      :accessor menu-title
430      :initarg :title
431      :type string)
432     (active
433      :allocation :virtual
434      :getter "gtk_menu_get_active"
435      :setter (setf menu-active)
436      :reader menu-active
437      :initarg :active
438      :type widget)
439     (tornoff
440      :allocation :virtual
441      :getter "gtk_menu_get_tearoff_state"
442      :setter "gtk_menu_set_tearoff_state"
443      :accessor menu-tornoff-p
444      :initarg :tearoff
445      :type boolean)))
446
447   ("GtkToolbar"
448    :slots
449    ((tooltips
450      :allocation :virtual
451      :getter "gtk_toolbar_get_tooltips"
452      :setter "gtk_toolbar_set_tooltips"
453      :accessor toolbar-tooltips-p
454      :initarg :tooltips
455      :type boolean)
456     (icon-size
457      :allocation :virtual
458      :getter "gtk_toolbar_get_icon_size"
459      :setter "gtk_toolbar_set_icon_size"
460      :accessor toolbar-icon-size
461      :initarg :icon-size
462      :type icon-size)
463     (toolbar-style
464      :allocation :property
465      :pname "toolbar-style"
466      :initarg :toolbar-style
467      :accessor toolbar-style
468      :type toolbar-style)))
469
470   ("GtkNotebook"
471    :slots
472    ((current-page
473      :allocation :virtual
474      :getter notebook-current-page
475      :setter (setf notebook-current-page)
476      :initarg :current-page)
477     (page :ignore t)))
478   
479   ("GtkRuler"
480    :slots
481    ((metric
482      :allocation :virtual
483      :getter "gtk_ruler_get_metric"
484      :setter "gtk_ruler_set_metric"
485      :accessor ruler-metric
486      :initarg :metric
487      :type metric-type)))
488
489   ("GtkProgressBar"
490    :slots
491    ; deprecated properties
492    ((bar-style :ignore t)
493     (adjustment :ignore t)
494     (activity-step :ignore t)
495     (activity-blocks :ignore t)
496     (discrete-blocks :ignore t)))
497
498   ("GtkTable"
499    :slots
500    ((column-spacing
501      :allocation :virtual
502      :getter "gtk_table_get_default_col_spacing"
503      :setter "gtk_table_set_col_spacings"
504      :initarg :column-spacing
505      :type unsigned-int)
506     (row-spacing
507      :allocation :virtual
508      :getter "gtk_table_get_default_row_spacing"
509      :setter "gtk_table_set_row_spacings"
510      :initarg :row-spacing
511      :type unsigned-int)))
512
513   ("GtkDialog"
514    :slots
515    ((vbox
516      :allocation :virtual
517      :getter "gtk_dialog_get_vbox"
518      :reader dialog-vbox
519      :type widget)
520     (action-area
521      :allocation :virtual
522      :getter "gtk_dialog_get_action_area"
523      :reader dialog-action-area
524      :type widget)))
525
526   ("GtkCombo"
527    :slots
528    ((entry
529      :allocation :virtual
530      :getter "gtk_combo_get_entry"
531      :reader combo-entry
532      :type entry)))
533   
534   ("GtkEntryCompletion"
535    :slots
536    ((entry
537      :allocation :virtual
538      :getter "gtk_entry_completion_get_entry"
539      :reader entry-completion-entry
540      :type entry)
541     (minimum-key-length
542      :merge t :unbound -1)
543     #+gtk2.6
544     (text-column
545      :merge t :unbound -1)))
546
547   ("GtkRadioButton"
548    :slots
549    ((group
550      :allocation :virtual
551      :getter "gtk_radio_button_get_group"
552      :reader radio-button-group
553      :type (copy-of (gslist widget)))))
554
555   ("GtkRadioMenuItem"
556    :slots
557    ((group
558      :allocation :virtual
559      :getter "gtk_radio_menu_item_get_group"
560      :reader radio-menu-item-group
561      :type (static (gslist widget)))))
562
563   ("GtkFileSelection"
564    :slots
565    ((action-area
566      :allocation :virtual
567      :getter "gtk_file_selection_get_action_area"
568      :reader file-selection-action-area
569      :type widget)
570     (ok-button
571      :allocation :virtual
572      :getter "gtk_file_selection_get_ok_button"
573      :reader file-selection-ok-button
574      :type widget)
575     (cancel-button
576      :allocation :virtual
577      :getter "gtk_file_selection_get_cancel_button"
578      :reader file-selection-cancel-button
579      :type widget)))
580
581   ("GtkLayout"
582    :slots
583    ((bin-window
584      :allocation :virtual
585      :getter "gtk_layout_get_bin_window"
586      :reader layout-bin-window
587      :type gdk:window)))
588
589   ("GtkFixed"
590    :slots
591    ((has-window
592      :allocation :virtual
593      :getter "gtk_fixed_get_has_window"
594      :setter "gtk_fixed_set_has_window"
595      :reader fixed-has-window-p
596      :initarg :has-window
597      :type boolean)))
598
599   ("GtkRange"
600    :slots
601    ((value
602      :allocation :virtual
603      :getter "gtk_range_get_value"
604      :setter "gtk_range_set_value"
605      :initarg :value
606      :accessor range-value
607      :type double-float)
608    (upper
609      :allocation :virtual
610      :getter range-upper
611      :setter (setf range-upper)
612      :initarg :upper)
613    (lower
614      :allocation :virtual
615      :getter range-lower
616      :setter (setf range-lower)
617      :initarg :lower)
618    (step-increment
619      :allocation :virtual
620      :getter range-step-increment
621      :setter (setf range-step-increment)
622      :initarg :step-increment)
623    (page-increment
624      :allocation :virtual
625      :getter range-page-increment
626      :setter (setf range-page-increment)
627      :initarg :page-increment)))
628
629   ("GtkImage"
630    :slots
631    ((file :ignore t)))
632        
633   ("GtkEditable"
634    :slots
635    ((editable
636      :allocation :virtual
637      :getter "gtk_editable_get_editable"
638      :setter "gtk_editable_set_editable"
639      :reader editable-editable-p
640      :initarg :editable
641      :type boolean)
642     (position
643      :allocation :virtual
644      :getter "gtk_editable_get_position"
645      :setter "gtk_editable_set_position"
646      :reader editable-position
647      :initarg :position
648      :type int)
649     (text
650      :allocation :virtual
651      :getter editable-text
652      :setter (setf editable-text)
653      :initarg text)))
654
655   ("GtkFileChooser"
656    :slots
657    ((filename
658      :allocation :virtual
659      :getter "gtk_file_chooser_get_filename"
660      :setter "gtk_file_chooser_set_filename"
661      :accessor file-chooser-filename
662      :initarg :filename
663      :type string)
664     (current-name
665      :allocation :virtual
666      :setter "gtk_file_chooser_set_current_name"
667      :accessor file-choser-current-name
668      :initarg :current-name
669      :type string)
670     (current-folder
671      :allocation :virtual
672      :setter "gtk_file_chooser_set_current_folder"
673      :setter "gtk_file_chooser_get_current_folder"
674      :accessor file-choser-current-folder
675      :initarg :current-folder
676      :type string)
677     (uri
678      :allocation :virtual
679      :getter "gtk_file_chooser_get_uri"
680      :setter "gtk_file_chooser_set_uri"
681      :accessor file-choser-uri
682      :initarg :uri
683      :type string)
684     (current-folder-uri
685      :allocation :virtual
686      :setter "gtk_file_chooser_set_current_folder_uri"
687      :setter "gtk_file_chooser_get_current_folder_uri"
688      :accessor file-choser-current-folder-uri
689      :initarg :current-folder-uri
690      :type string)))
691
692   ("GtkTreeView"
693    :slots
694    ((columns
695      :allocation :virtual
696      :getter "gtk_tree_view_get_columns"
697      :reader tree-view-columns 
698      :type (glist tree-view-column))
699     (selection
700      :allocation :virtual
701      :getter "gtk_tree_view_get_selection"
702      :reader tree-view-selection
703      :type tree-selection)))
704
705   ("GtkTreeModel"
706    :slots
707    ((n-columns
708      :allocation :virtual
709      :getter "gtk_tree_model_get_n_columns"
710      :reader tree-model-n-columns 
711      :type int)))
712
713   ("GtkTreeSelection"
714    :slots
715    ((mode
716      :allocation :virtual
717      :getter "gtk_tree_selection_get_mode"
718      :setter "gtk_tree_selection_set_mode"
719      :accessor tree-selection-mode
720      :initarg :mode
721      :type selection-mode)
722     (tree-view
723      :allocation :virtual
724      :getter "gtk_tree_selection_get_mode"
725      :reader tree-selection-mode
726      :type tree-view)))
727
728   ("GtkComboBox"
729    :slots
730    ((active-iter
731      :allocation :virtual
732      :getter "gtk_combo_box_get_active_iter"
733      :setter "gtk_combo_box_set_active_iter"
734      :accessor combo-box-active-iter 
735      :type tree-iter)))
736
737   ("GtkTextBuffer"
738    :slots
739    ((line-count
740      :allocation :virtual
741      :getter "gtk_text_buffer_get_line_count"
742      :reader text-buffer-line-count
743      :type int)
744     (char-count
745      :allocation :virtual
746      :getter "gtk_text_buffer_get_char_count"
747      :reader text-buffer-char-count
748      :type int)
749     (modified
750      :allocation :virtual
751      :getter "gtk_text_buffer_get_modified"
752      :setter "gtk_text_buffer_set_modified"
753      :accessor text-buffer-modifed-p
754      :type boolean)))
755
756   ("GtkTextView"
757    :slots
758    ((default-attributes
759      :allocation :virtual
760      :getter "gtk_text_view_get_default_attributes"
761      :reader text-view-default-attributes
762      :type text-attributes)))
763
764   ("GtkTextTagTable"
765    :slots
766    ((size
767      :allocation :virtual
768      :getter "gtk_text_tag_table_get_size"
769      :reader text-tag-table-size
770      :type int)))
771
772   ("GtkTextTag"
773    :slots
774    ((priority
775      :allocation :virtual
776      :getter "gtk_text_tag_get_priority"
777      :setter "gtk_text_tag_set_priority"
778      :accessor text-tag-priority
779      :type int)
780     (weight
781      :merge t :type pango:weight)))
782
783   ("GtkUIManager"
784    :type ui-manager
785    :slots
786    ((action-groups
787      :allocation :virtual
788      :getter "gtk_ui_manager_get_action_groups"
789      :reader ui-manager-action-groups
790      :type (copy-of (glist action-group)))
791     (accel-group
792      :allocation :virtual
793      :getter "gtk_ui_manager_get_accel_group"
794      :reader ui-manager-accel-group
795      :type accel-group)))
796
797   ("GtkUIManagerItemType"
798    :type ui-manager-item-type)
799
800   ("GtkToggle"
801    :slots
802    ((accelerator
803      :allocation :virtual
804      :getter action-accelerator)))
805
806   ("GtkToggleAction"
807    :slots
808    ((active
809      :allocation :virtual
810      :getter "gtk_toggle_action_get_active"
811      :setter "gtk_toggle_action_set_active"
812      :initarg :active
813      :accessor toggle-action-active-p
814      :type boolean)))
815
816   ("GtkRadioAction"
817    :slots
818    ((group
819      :allocation :virtual
820      :getter "gtk_radio_button_get_group"
821      :reader radio-button-group
822      :type (copy-of (gslist widget)))
823     (%value
824      :allocation :property  :pname "value"
825      :readable nil :type int)
826     (value 
827      :allocation :virtual
828      :getter radio-action-value)))
829
830
831   ;; Not needed
832   ("GtkFundamentalType" :ignore t)
833   ("GtkArgFlags" :ignore t)
834
835   
836   ;; Deprecated widgets
837   ("GtkCList" :ignore-prefix t)
838   ("GtkCTree" :ignore-prefix t)
839   ("GtkList" :ignore t)
840   ("GtkListItem" :ignore t)
841   ("GtkTree" :ignore t)
842   ("GtkTreeItem" :ignore t)
843   ("GtkItemFactory" :ignore t)
844   ("GtkText" :ignore t)
845   ("GtkPacker" :ignore-prefix t)
846   ("GtkPixmap" :ignore t)
847   ("GtkPreview" :ignore-prefix t)
848   ("GtkProgres" :ignore t)
849   ("GtkTipsQuery" :ignore t)
850   ("GtkOldEditable" :ignore t)
851   ("GtkCombo" :ignore t)
852   ("GtkOptionMenu" :ignore t)
853
854   ;; What are these?
855   ("GtkFileSystemModule" :ignore t)
856   ("GtkIMModule" :ignore t)
857   ("GtkThemeEngine" :ignore t)
858
859   )
860
861
862 (defclass text-iter (boxed)
863   ((buffer
864     :allocation :virtual
865     :getter "gtk_text_iter_get_buffer"
866     :reader text-iter-buffer
867     :type text-buffer)
868    (offset
869     :allocation :virtual
870     :getter "gtk_text_iter_get_offset"
871     :setter "gtk_text_iter_set_offset"
872     :accessor text-iter-offset
873     :type int)
874    (line
875     :allocation :virtual
876     :getter "gtk_text_iter_get_line"
877     :setter "gtk_text_iter_set_line"
878     :accessor text-iter-line
879     :type int)
880    (line-offset
881     :allocation :virtual
882     :getter "gtk_text_iter_get_line_offset"
883     :setter "gtk_text_iter_set_line_offset"
884     :accessor text-iter-line-offset
885     :type int)
886    (line-index
887     :allocation :virtual
888     :getter "gtk_text_iter_get_line_index"
889     :setter "gtk_text_iter_set_line_index"
890     :accessor text-iter-line-index
891     :type int)
892    (visible-line-index
893     :allocation :virtual
894     :getter "gtk_text_iter_get_visible_line_index"
895     :setter "gtk_text_iter_set_visible_line_index"
896     :accessor text-iter-visible-line-index
897     :type int)
898    (visible-line-offset
899     :allocation :virtual
900     :getter "gtk_text_iter_get_visible_line_offset"
901     :setter "gtk_text_iter_set_visible_line_offset"
902     :accessor text-iter-visible-line-offset
903     :type int)
904    ;; Workaround to get correct size 
905    (dummy14
906      :allocation :alien :offset #.(* 13 (size-of 'pointer))
907      :type pointer))
908   (:metaclass boxed-class 
909    ;; I am pretty sure this was working in older versons on CMUCL
910    :size #.(* 14 (size-of 'pointer))))