[Gauche-devel-jp] Re: gauche-gtk の gtk2.10 対応

アーカイブの一覧に戻る

Shiro Kawai shiro****@lava*****
2006年 12月 23日 (土) 15:12:29 JST


どうもありがとうございます。

Gauche-gtkは私自身に全く手をつける時間が無いのですが、
Michal Maruska氏がかなり精力的に改良を進めていてくれていまして、
リポジトリのtruncにコミットしてもらえるようお願いしているところです。
もしよければ、彼の最新版を見ていただけないでしょうか。

参考: http://sourceforge.net/mailarchive/forum.php?thread_id=31092525&forum_id=2043

--shiro

From: Yukihiro Nakadaira <yukih****@gmail*****>
Subject: [Gauche-devel-jp] gauche-gtk の gtk2.10 対応
Date: Sat, 23 Dec 2006 14:59:35 +0900

> 初めまして中平です。
> 
> Gauche-gtk を gtk2.10 向けに少しいじりました。
> Gauche-gtk の開発は止まってるようですが、いちおうその差分を送ります。
> 動作テストはまだまったくしてないので不具合がたくさんあると思います。
> 変更は以下のとおりです。
> 
> gtk2.10 のヘッダをパースできるように修正。
> g-object-get-property などで GValue を初期化してないのを修正。
> gunichar 型を追加して <char> に対応させる。
> api の追加。
> 
>   * src/h2stub.scm (set-superclass, set-cpl): GInitiallyUnowned への対応。
>     スーパークラスとして GObject ではなく GInitiallyUnowned が使われてる。
>     typedef struct _GObject GInitiallyUnowned; なので、set-superclass、
>     set-cpl 内で GInitiallyUnowned と GObject を同じように扱う。
> 
>   * src/h2stub.scm (parse-struct, parse-enum): GtkObjectFlags の宣言の中
>     でマクロが使われているので読み飛ばす。
> 
>   * src/h2stub.scm:
>   * src/gauche-gtk.h src/gauche-gtk.c
>     (Scm_GtkGunicharToChar, Scm_GtkCharToGunichar): プリミティブの追加。
>     gunichar = gunichar2 = ScmChar。
> 
>   * src/h2stub.scm:
>   * src/gauche-gtk.h:
>   * src/gauche-gtk.c:
>   * src/gauche-glib.stub: 型の追加/変更
>     time_t -> <sys-time>
>     GQuark -> <uint32>
>     GError* -> <g-error>
>     <char*>
>     <gchar*>
>     <const-char*>
>     <const-gchar*>
>     <const-gchar*>-or-null
>     <gdk-event>-or-null
> 
>   * src/gtk-lib.hints: GError を使う関数が <g-error> 例外を投げるように
>     変更。
> 
>   * src/gauche-gtk.h src/gauche-gtk.c (
>     GCHAR_PTR_BOX_SAFELY, Scm_GtkGcharPtrBoxSafely,
>     GLIST_STR_BOX, Scm_GtkGListStrBox,
>     GSLIST_STR_BOX, Scm_GtkGSListStrBox,
>     GLIST_OBJ_BOX, Scm_GtkGListObjBox,
>     GSLIST_OBJ_BOX, Scm_GtkGSListObjBox,
>     ): 追加。
> 
>   * src/h2stub.scm (parse-body): G_CONST_RETURN を const-char* として扱う。
> 
>   * src/h2stub.scm (parse-body): 関数名っぽいもの見つけたらとりあえず登
>     録するようにした。
> 
>   * src/h2stub.scm (define-cproc-fix-valist, define-cproc-fix-valist2):
>     可変長引数を取る関数を生成するマクロ。
> 
>   * src/gauche-glib.stub (g-object-get-property):
>   * src/gdk-lib.hints (gdk-setting-get, gdk-screen-get-setting,
>     gtk-widget-style-get-property): GValue を初期化するように修正。
> 
>   * src/gtk-lib.hints (<gtktexttag>, <gtktoolbar>): コンパイルエラーにな
>     るフィールドを ignore-field! する。(FreeBSD の ports と同じ変更)
> 
>   * src/gtk-lib.hints (gtk-tree-model-get-column-type): 変数名の typo。
> 
>   * src/gtk-lib.hints src/gdk-lib.hints (gdkproperty.h): 移動。
> 
>   * src/GTKFILES: gtkaboutdialog.h gtkcolorbutton.h gtkexpander.h
>     gtkfilechooser.h gtkfilechooserbutton.h gtkfilechooserdialog.h
>     gtkfilechooserwidget.h gtkfilefilter.h gtkfontbutton.h
>     gtkrecentchooser.h gtkrecentchooserdialog.h gtkrecentchoosermenu.h
>     gtkrecentchooserwidget.h gtkrecentfilter.h gtkrecentmanager.h
>     gtkcelllayout.h gtkcellview.h gtkiconview.h gtktreemodelfilter.h
>     gtkcellrendereraccel.h gtkcellrenderercombo.h gtkcellrendererprogress.h
>     gtkcellrendererspin.h gtkpagesetup.h gtkpapersize.h gtkprintcontext.h
>     gtkprintoperation.h gtkprintoperationpreview.h gtkprintsettings.h
>     gtkassistant.h gtkstatusicon.h gtklinkbutton.h gtkentrycompletion.h
>     gtkcombobox.h gtkcomboboxentry.h gtktoolitem.h gtkseparatortoolitem.h
>     gtktoolbutton.h gtkmenutoolbutton.h gtktoggletoolbutton.h
>     gtkradiotoolbutton.h gtkuimanager.h gtkactiongroup.h gtkaction.h
>     gtktoggleaction.h gtkradioaction.h gtkicontheme.h
>     追加。
> 
>     保留 (gtkprinter.h gtkprintjob.h gtkprintunixdialog.h
>     gtkpagesetupunixdialog.h)
> 
>   * src/PANGOFILES: pango-tabs.h 追加。
> 
>   * src/gtk-lib.hints (gtkstock): 2.10 の新しい定義を追加。
>   * src/gtk-lib.hints (
>     gtk-about-dialog-get-authors,
>     gtk-about-dialog-get-documenters,
>     gtk-about-dialog-get-artists,
>     gtk-about-dialog-set-authors,
>     gtk-about-dialog-set-documenters,
>     gtk-about-dialog-set-artists,
>     gtk-about-dialog-set-email-hook,
>     gtk-about-dialog-set-url-hook,
>     gtk-action-group-get-action,
>     gtk-action-group-add-action-with-accel,
>     gtk-action-group-set-translate-func,
>     gtk-alignment-get-padding,
>     gtk-assistant-set-forward-page-func,
>     gtk-button-get-alignment,
>     gtk-button-get-image,
>     gtk-calendar-get-display-options,
>     gtk-cell-editable-start-editing,
>     gtk-cell-layout-set-cell-data-func,
>     gtk-cell-renderer-get-size,
>     gtk-cell-renderer-start-editing,
>     gtk-cell-renderer-get-fixed-size,
>     gtk-cell-view-set-model,
>     gtk-cell-view-set-displayed-row,
>     gtk-cell-view-get-displayed-row,
>     gtk-cell-view-get-size-of-row,
>     gtk-cell-view-get-cell-renderers,
>     gtk-clipboard-set-with-data,
>     gtk-clipboard-set-text,
>     gtk-clipboard-request-text,
>     gtk-clipboard-request-image,
>     gtk-clipboard-request-targets,
>     gtk-clipboard-request-rich-text,
>     gtk-clipboard-wait-for-image,
>     gtk-clipboard-wait-for-rich-text,
>     gtk-clipboard-wait-for-targets,
>     gtk-clipboard-set-can-store,
>     gtk-color-button-get-color,
>     gtk-color-selection-get-current-color,
>     gtk-color-selection-get-previous-color,
>     gtk-color-selection-palette-from-string,
>     gtk-color-selection-palette-to-string,
>     gtk-combo-box-get-active-iter,
>     gtk-combo-box-set-row-separator-func,
>     gtk-container-foreach,
>     gtk-container-set-focus-chain,
>     gtk-container-child-type,
>     gtk-alternative-dialog-button-order,
>     gtk-dialog-set-alternative-button-order,
>     gtk-entry-get-inner-border,
>     gtk-entry-set-inner-border,
>     gtk-entry-get-layout-offsets,
>     gtk-entry-completion-set-model,
>     gtk-entry-completion-get-model,
>     gtk_entry_completion_set_match_func,
>     gtk-file-chooser-get-filenames,
>     gtk-file-chooser-get-uris,
>     gtk-file-chooser-dialog-new,
>     gtk-file-chooser-dialog-new-with-backend,
>     gtk-file-chooser-list-filters,
>     gtk-file-chooser-list-shortcut-folders,
>     gtk-file-filter-add-custom,
>     gtk-frame-get-label-align,
>     gtk-icon-factory-lookup-default,
>     gtk-icon-set-render-icon,
>     gtk-icon-size-lookup,
>     gtk-icon-size-lookup-for-settings,
>     gtk-icon-set-get-sizes,
>     gtk-icon-theme-set-search-path,
>     gtk-icon-theme-get-search-path,
>     gtk-icon-theme-set-custom-theme,
>     gtk-icon-theme-lookup-icon,
>     gtk-icon-theme-load-icon,
>     gtk-icon-theme-get-icon-sizes,
>     gtk-icon-info-load-icon,
>     gtk-icon-info-get-embedded-rect,
>     gtk-icon-info-get-attach-points,
>     gtk-icon-view-set-model,
>     gtk-icon-view-get-model,
>     gtk-icon-view-get-path-at-pos,
>     gtk-icon-view-get-item-at-pos,
>     gtk-icon-view-set-cursor,
>     gtk-icon-view-get-cursor,
>     gtk-icon-view-selected-foreach,
>     gtk-icon-view-get-selected-items,
>     gtk-icon-view-get-visible-range,
>     gtk-icon-view-set-drag-dest-item,
>     gtk-icon-view-get-drag-dest-item,
>     gtk-icon-view-get-dest-item-at-pos,
>     gtk-image-get-icon-set,
>     gtk-image-get-icon-name,
>     gtk-image-get-pixbuf,
>     gtk-image-get-pixmap,
>     gtk-image-get-animation,
>     gtk-image-new-from-pixbuf,
>     gtk-image-new-from-pixmap,
>     gtk-image-set-from-file,
>     gtk-image-set-from-image,
>     gtk-image-set-from-pixbuf,
>     gtk-image-set-from-pixmap,
>     gtk-image-get,
>     gtk-image-menu-item-new-from-stock,
>     gtk-im-context-get-preedit-string,
>     gtk-im-context-set-surrounding,
>     gtk-im-context-get-surrounding,
>     gtk-label-get-attributes,
>     gtk-label-get-mnemonic-widget,
>     gtk-link-button-set-uri-hook,
>     gtk-list-store-insert-with-values,
>     gtk-list-store-reorder,
>     gtk-list-store-move-before,
>     gtk-list-store-move-after,
>     gtk-menu-attach-to-widget,
>     gtk-menu-get-for-attach-widget,
>     gtk-menu-item-toggle-size-request,
>     gtk-menu-tool-button-new,
>     gtk-menu-tool-button-set-menu,
>     gtk-message-dialog-format-secondary-text,
>     gtk-message-dialog-format-secondary-markup,
>     gtk-paper-size-new,
>     gtk-paper-size-new-from-ppd,
>     gtk-paper-size-new-custom,
>     gtk-print-operation-get-error,
>     gtk-print-operation-set-default-page-setup,
>     gtk-print-operation-set-print-settings,
>     gtk-print-operation-run,
>     gtk-print-run-page-setup-dialog,
>     gtk-print-run-page-setup-dialog-async,
>     gtk-print-settings-set,
>     gtk-print-settings-foreach,
>     gtk-print-settings-get-page-ranges,
>     gtk-progress-bar-set-text,
>     gtk-recent-chooser-set-sort-func,
>     gtk-recent-chooser-set-current-uri,
>     gtk-recent-chooser-select-uri,
>     gtk-recent-chooser-get-items,
>     gtk-recent-chooser-get-uris,
>     gtk-recent-chooser-list-filters,
>     gtk-recent-chooser-dialog-new,
>     gtk-recent-chooser-dialog-new-for-manager,
>     gtk-recent-filter-add-custom,
>     gtk-recent-manager-remove-item,
>     gtk-recent-manager-lookup-item,
>     gtk-recent-manager-move-item,
>     gtk-recent-manager-get-items,
>     gtk-recent-manager-purge-items,
>     gtk-recent-info-get-application-info,
>     gtk-recent-info-get-applications,
>     gtk-recent-info-get-groups,
>     gtk-radio-action-get-group,
>     gtk-radio-action-set-group,
>     gtk-radio-tool-button-new,
>     gtk-radio-tool-button-new-from-stock,
>     gtk-radio-tool-button-get-group,
>     gtk-radio-tool-button-set-group,
>     gtk-ruler-get-range,
>     gtk-scale-get-layout-offsets,
>     gtk-scrolled-window-get-policy,
>     gtk-size-group-get-widgets,
>     gtk-status-icon-set-from-pixbuf,
>     gtk-status-icon-get-pixbuf,
>     gtk-status-icon-get-stock,
>     gtk-status-icon-get-geometry,
>     gtk-status-icon-position-menu,
>     gtk-stock-list-ids,
>     gtk-stock-lookup,
>     gtk-stock-set-translate-func,
>     gtk-text-iter-get-marks,
>     gtk-text-iter-get-toggled-tags,
>     gtk-text-iter-get-tags,
>     gtk-text-iter-forward-find-char,
>     gtk-text-iter-backward-find-char,
>     gtk-text-view-get-iter-at-position,
>     gtk-text-view-set-tabs,
>     gtk-text-view-get-tabs,
>     gtk-text-tag-table-foreach,
>     gtk-toolbar-get-nth-item,
>     gtk-toolbar-set-drop-highlight-item,
>     gtk-tooltips-get-info-from-tip-window,
>     gtk-tree-row-reference-reordered
>     gtk-tree-get-row-drag-data,
>     gtk-tree-model-foreach,
>     gtk-tree-model-rows-reordered,
>     gtk-tree-model-filter-new,
>     gtk-tree-model-filter-set-visible-func,
>     gtk-tree-model-filter-set-modify-func,
>     gtk-tree-model-sort-convert-child-iter-to-iter,
>     gtk-tree-model-sort-convert-iter-to-child-iter,
>     gtk-tree-selection-set-select-func,
>     gtk-tree-selection-get-selected-rows,
>     gtk-tree-sortable-get-sort-column-id,
>     gtk-tree-sortable-set-sort-func,
>     gtk-tree-sortable-set-default-sort-func,
>     gtk-tree-store-set-column-types,
>     gtk-tree-store-insert-with-values,
>     gtk-tree-store-reorder,
>     gtk-tree-view-insert-column-with-data-func,
>     gtk-tree-view-set-column-drag-function,
>     gtk-tree-view-map-expanded-rows,
>     gtk-tree-view-get-cell-area,
>     gtk-tree-view-get-background-area,
>     gtk-tree-view-get-visible-rect,
>     gtk-tree-view-get-visible-range,
>     gtk-tree-view-get-bin-window,
>     gtk-tree-view-set-drag-dest-row,
>     gtk-tree-view-get-drag-dest-row,
>     gtk-tree-view-scroll-to-cell,
>     gtk-tree-view-set-cursor-on-cell,
>     gtk-tree-view-get-dest-row-at-pos,
>     gtk-tree-view-set-search-equal-func,
>     gtk-tree-view-set-search-position-func,
>     gtk-tree-view-set-destroy-count-func,
>     gtk-tree-view-set-row-separator-func,
>     gtk-tree-view-column-set-cell-data-func,
>     gtk-tree-view-column-cell-get-size,
>     gtk-ui-manager-get-action-group,
>     gtk-ui-manager-get-widget,
>     gtk-ui-manager-get-toplevels,
>     gtk-ui-manager-get-action,
>     gtk-ui-manager-add-ui-from-string,
>     gtk-ui-manager-add-ui-from-file,
>     gtk-window-get-focus,
>     gtk-window-set-focus,
>     gtk-window-set-default,
>     gtk-window-get-role,
>     ):
>   * src/pango-lib.hints (
>     <pango-tab-array>):
>   * lib/gtk/gtkaux.scm (
>     g-object-get,
>     g-object-set,
>     gtk-cell-layout-set-attributes,
>     gtk-show-about-dialog,
>     gtk-text-buffer-create-tag,
>     gtk-text-buffer-insert-with-tag,
>     gtk-tree-path-new-from-indices,
>     gtk-tree-model-get,
>     gtk-tree-store-set,
>     gtk-tree-view-insert-with-attributes,
>     gtk-tree-view-column-set-attributes,
>     gtk-text-buffer-insert-with-tags-by-name,
>     gtk-widget-style-get): 追加。
> 
>   * src/gtk-lib.hints (
>     gtk-text-buffer-insert,
>     gtk-text-buffer-insert-at-cursor,
>     gtk-text-buffer-insert-interactive,
>     gtk-text-buffer-insert-interactive-at-cursor,
>     gtk-text-buffer-set-text): 引数の len を省略。
> 
>   * src/gtk-lib.hints (
>     gtk-entry-get-text,
>     gtk-file-selection-get-filename,
>     gtk-file-selection-get-selections,
>     gtk-label-get-text,
>     gtk-label-get-label,
>     gtk-progress-bar-get-text): 削除/変更。
> 
>   * src/gauche-gtk.c (Scm_StringArrayToStringList): 追加。
>   * src/gauche-gtk.c (Scm_UnboxGValue, Scm_BoxGValue, Scm_ObjToGValue):
>     GStrv の変換を追加。
> 
>   * src/gtk-lib.hints (gtk-widget-path, gtk-widget-class-path):
>     GCHAR_PTR_BOX を使うように変更。
> 
>   * src/gtk-lib.hints (gtk-dialog-add-buttons):
>   * lib/gtk/gtkaux.scm (gtk-dialog-add-buttons): gtkaux.scm に移動。
> 
>   * src/gtk-lib.hints (gtk_set_locale): 戻り値を free しない。
> 
> 
> -- 
> Yukihiro Nakadaira - yukih****@gmail*****
> _______________________________________________
> Gauche-devel-jp mailing list
> Gauch****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/gauche-devel-jp
> 



Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る