chiark / gitweb /
3e068f77e46900dd4ceaf85674004e16aa599f26
[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.23 2004-12-20 20:00:07 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-slots
143      :allocation :instance
144      :accessor widget-child-slots
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   ("GtkRadioButton"
535    :slots
536    ((group
537      :allocation :virtual
538      :getter "gtk_radio_button_get_group"
539      :reader radio-button-group
540      :type (copy-of (gslist widget)))))
541
542   ("GtkRadioMenuItem"
543    :slots
544    ((group
545      :allocation :virtual
546      :getter "gtk_radio_menu_item_get_group"
547      :reader radio-menu-item-group
548      :type (static (gslist widget)))))
549
550   ("GtkFileSelection"
551    :slots
552    ((action-area
553      :allocation :virtual
554      :getter "gtk_file_selection_get_action_area"
555      :reader file-selection-action-area
556      :type widget)
557     (ok-button
558      :allocation :virtual
559      :getter "gtk_file_selection_get_ok_button"
560      :reader file-selection-ok-button
561      :type widget)
562     (cancel-button
563      :allocation :virtual
564      :getter "gtk_file_selection_get_cancel_button"
565      :reader file-selection-cancel-button
566      :type widget)))
567
568   ("GtkLayout"
569    :slots
570    ((bin-window
571      :allocation :virtual
572      :getter "gtk_layout_get_bin_window"
573      :reader layout-bin-window
574      :type gdk:window)))
575
576   ("GtkFixed"
577    :slots
578    ((has-window
579      :allocation :virtual
580      :getter "gtk_fixed_get_has_window"
581      :setter "gtk_fixed_set_has_window"
582      :reader fixed-has-window-p
583      :initarg :has-window
584      :type boolean)))
585
586   ("GtkRange"
587    :slots
588    ((value
589      :allocation :virtual
590      :getter "gtk_range_get_value"
591      :setter "gtk_range_set_value"
592      :initarg :value
593      :accessor range-value
594      :type double-float)
595    (upper
596      :allocation :virtual
597      :getter range-upper
598      :setter (setf range-upper)
599      :initarg :upper)
600    (lower
601      :allocation :virtual
602      :getter range-lower
603      :setter (setf range-lower)
604      :initarg :lower)
605    (step-increment
606      :allocation :virtual
607      :getter range-step-increment
608      :setter (setf range-step-increment)
609      :initarg :step-increment)
610    (page-increment
611      :allocation :virtual
612      :getter range-page-increment
613      :setter (setf range-page-increment)
614      :initarg :page-increment)))
615
616   ("GtkImage"
617    :slots
618    ((file :ignore t)))
619        
620   ("GtkEditable"
621    :slots
622    ((editable
623      :allocation :virtual
624      :getter "gtk_editable_get_editable"
625      :setter "gtk_editable_set_editable"
626      :reader editable-editable-p
627      :initarg :editable
628      :type boolean)
629     (position
630      :allocation :virtual
631      :getter "gtk_editable_get_position"
632      :setter "gtk_editable_set_position"
633      :reader editable-position
634      :initarg :position
635      :type int)
636     (text
637      :allocation :virtual
638      :getter editable-text
639      :setter (setf editable-text)
640      :initarg text)))
641
642   ("GtkFileChooser"
643    :slots
644    ((filename
645      :allocation :virtual
646      :getter "gtk_file_chooser_get_filename"
647      :setter "gtk_file_chooser_set_filename"
648      :accessor file-chooser-filename
649      :initarg :filename
650      :type string)
651     (current-name
652      :allocation :virtual
653      :setter "gtk_file_chooser_set_current_name"
654      :accessor file-choser-current-name
655      :initarg :current-name
656      :type string)
657     (current-folder
658      :allocation :virtual
659      :setter "gtk_file_chooser_set_current_folder"
660      :setter "gtk_file_chooser_get_current_folder"
661      :accessor file-choser-current-folder
662      :initarg :current-folder
663      :type string)
664     (uri
665      :allocation :virtual
666      :getter "gtk_file_chooser_get_uri"
667      :setter "gtk_file_chooser_set_uri"
668      :accessor file-choser-uri
669      :initarg :uri
670      :type string)
671     (current-folder-uri
672      :allocation :virtual
673      :setter "gtk_file_chooser_set_current_folder_uri"
674      :setter "gtk_file_chooser_get_current_folder_uri"
675      :accessor file-choser-current-folder-uri
676      :initarg :current-folder-uri
677      :type string)))
678
679   ("GtkTreeView"
680    :slots
681    ((columns
682      :allocation :virtual
683      :getter "gtk_tree_view_get_columns"
684      :reader tree-view-columns 
685      :type (glist tree-view-column))
686     (selection
687      :allocation :virtual
688      :getter "gtk_tree_view_get_selection"
689      :reader tree-view-selection
690      :type tree-selection)))
691
692   ("GtkTreeModel"
693    :slots
694    ((n-columns
695      :allocation :virtual
696      :getter "gtk_tree_model_get_n_columns"
697      :reader tree-model-n-columns 
698      :type int)))
699
700   ("GtkTreeSelection"
701    :slots
702    ((mode
703      :allocation :virtual
704      :getter "gtk_tree_selection_get_mode"
705      :setter "gtk_tree_selection_set_mode"
706      :accessor tree-selection-mode
707      :initarg :mode
708      :type selection-mode)
709     (tree-view
710      :allocation :virtual
711      :getter "gtk_tree_selection_get_mode"
712      :reader tree-selection-mode
713      :type tree-view)))
714
715   ("GtkComboBox"
716    :slots
717    ((active-iter
718      :allocation :virtual
719      :getter "gtk_combo_box_get_active_iter"
720      :setter "gtk_combo_box_set_active_iter"
721      :accessor combo-box-active-iter 
722      :type tree-iter)))
723
724   ("GtkTextBuffer"
725    :slots
726    ((line-count
727      :allocation :virtual
728      :getter "gtk_text_buffer_get_line_count"
729      :reader text-buffer-line-count
730      :type int)
731     (char-count
732      :allocation :virtual
733      :getter "gtk_text_buffer_get_char_count"
734      :reader text-buffer-char-count
735      :type int)
736     (modified
737      :allocation :virtual
738      :getter "gtk_text_buffer_get_modified"
739      :setter "gtk_text_buffer_set_modified"
740      :accessor text-buffer-modifed-p
741      :type boolean)))
742
743   ("GtkTextView"
744    :slots
745    ((default-attributes
746      :allocation :virtual
747      :getter "gtk_text_view_get_default_attributes"
748      :reader text-view-default-attributes
749      :type text-attributes)))
750
751   ("GtkTextTagTable"
752    :slots
753    ((size
754      :allocation :virtual
755      :getter "gtk_text_tag_table_get_size"
756      :reader text-tag-table-size
757      :type int)))
758
759   ("GtkTextTag"
760    :slots
761    ((priority
762      :allocation :virtual
763      :getter "gtk_text_tag_get_priority"
764      :setter "gtk_text_tag_set_priority"
765      :accessor text-tag-priority
766      :type int)
767     (weight
768      :merge t :type pango:weight)))
769
770   ("GtkUIManager"
771    :type ui-manager
772    :slots
773    ((action-groups
774      :allocation :virtual
775      :getter "gtk_ui_manager_get_action_groups"
776      :reader ui-manager-action-groups
777      :type (copy-of (glist action-group)))
778     (accel-group
779      :allocation :virtual
780      :getter "gtk_ui_manager_get_accel_group"
781      :reader ui-manager-accel-group
782      :type accel-group)))
783
784   ("GtkUIManagerItemType"
785    :type ui-manager-item-type)
786
787   ("GtkToggle"
788    :slots
789    ((accelerator
790      :allocation :virtual
791      :getter action-accelerator)))
792
793   ("GtkToggleAction"
794    :slots
795    ((active
796      :allocation :virtual
797      :getter "gtk_toggle_action_get_active"
798      :setter "gtk_toggle_action_set_active"
799      :initarg :active
800      :accessor toggle-action-active-p
801      :type boolean)))
802
803   ("GtkRadioAction"
804    :slots
805    ((group
806      :allocation :virtual
807      :getter "gtk_radio_button_get_group"
808      :reader radio-button-group
809      :type (copy-of (gslist widget)))
810     (%value
811      :allocation :property  :pname "value"
812      :readable nil :type int)
813     (value 
814      :allocation :virtual
815      :getter radio-action-value)))
816
817
818   ;; Not needed
819   ("GtkFundamentalType" :ignore t)
820   ("GtkArgFlags" :ignore t)
821
822   
823   ;; Deprecated widgets
824   ("GtkCList" :ignore-prefix t)
825   ("GtkCTree" :ignore-prefix t)
826   ("GtkList" :ignore t)
827   ("GtkListItem" :ignore t)
828   ("GtkTree" :ignore t)
829   ("GtkTreeItem" :ignore t)
830   ("GtkItemFactory" :ignore t)
831   ("GtkText" :ignore t)
832   ("GtkPacker" :ignore-prefix t)
833   ("GtkPixmap" :ignore t)
834   ("GtkPreview" :ignore-prefix t)
835   ("GtkProgres" :ignore t)
836   ("GtkTipsQuery" :ignore t)
837   ("GtkOldEditable" :ignore t)
838   ("GtkCombo" :ignore t)
839   ("GtkOptionMenu" :ignore t)
840
841   ;; What are these?
842   ("GtkFileSystemModule" :ignore t)
843   ("GtkIMModule" :ignore t)
844   ("GtkThemeEngine" :ignore t)
845
846   )
847
848
849 (defclass text-iter (boxed)
850   ((buffer
851     :allocation :virtual
852     :getter "gtk_text_iter_get_buffer"
853     :reader text-iter-buffer
854     :type text-buffer)
855    (offset
856     :allocation :virtual
857     :getter "gtk_text_iter_get_offset"
858     :setter "gtk_text_iter_set_offset"
859     :accessor text-iter-offset
860     :type int)
861    (line
862     :allocation :virtual
863     :getter "gtk_text_iter_get_line"
864     :setter "gtk_text_iter_set_line"
865     :accessor text-iter-line
866     :type int)
867    (line-offset
868     :allocation :virtual
869     :getter "gtk_text_iter_get_line_offset"
870     :setter "gtk_text_iter_set_line_offset"
871     :accessor text-iter-line-offset
872     :type int)
873    (line-index
874     :allocation :virtual
875     :getter "gtk_text_iter_get_line_index"
876     :setter "gtk_text_iter_set_line_index"
877     :accessor text-iter-line-index
878     :type int)
879    (visible-line-index
880     :allocation :virtual
881     :getter "gtk_text_iter_get_visible_line_index"
882     :setter "gtk_text_iter_set_visible_line_index"
883     :accessor text-iter-visible-line-index
884     :type int)
885    (visible-line-offset
886     :allocation :virtual
887     :getter "gtk_text_iter_get_visible_line_offset"
888     :setter "gtk_text_iter_set_visible_line_offset"
889     :accessor text-iter-visible-line-offset
890     :type int)
891    ;; Workaround to get correct size 
892    (dummy14
893      :allocation :alien :offset #.(* 13 (size-of 'pointer))
894      :type pointer))
895   (:metaclass boxed-class 
896    ;; I am pretty sure this was working in older versons on CMUCL
897    :size #.(* 14 (size-of 'pointer))))