libglade-WARNING **: could not find signal handler 'on_filechooserbutton1_selection_changed'.
2006年01月02日
glade_xml_signal_autoconnect() を使う時の注意点
gmodule-2.0をリンクする必要があるらしい。具体的には、configure.inのPKG_CHECK_MODULESにgmodule-2.0を加えるなどの対策が必要。そうでないとlibgladeがコールバック関数を見付けられないようだ。その場合、以下の警告が表示されるはずである。
libglade-WARNING **: could not find signal handler 'on_filechooserbutton1_selection_changed'.
libglade-WARNING **: could not find signal handler 'on_filechooserbutton1_selection_changed'.
2006年01月01日
続:Gtk+と格闘している間に年が明けてしまった
いろいろ調べてみたが、どうやらgtk/gtkfilefilter.cに問題があるらしい。
gtk/gtkfilefilter.c の 428 行付近の for の直前に
if (filter_info->mime_type == NULL)
break;
を置いたら、gtk_file_filter_add_pixbuf_formats を利用したプログラムも落ちなくなった。
というのは、FILTER_RULE_MIME_TYPEの時はfilter_info->mime_typeがNULLかどうかチェックしてから strcmp ()しているが、FILTER_RULE_PIXBUF_FORMATSの時はそのままstrcmpしているからだ。
# それ以前に mime_type が取得できない場合があるというのも問題かもしれんが。
GNOMEのバグジラにも登録しておいた。
http://bugzilla.gnome.org/show_bug.cgi?id=325435
gtk/gtkfilefilter.c の 428 行付近の for の直前に
if (filter_info->mime_type == NULL)
break;
を置いたら、gtk_file_filter_add_pixbuf_formats を利用したプログラムも落ちなくなった。
というのは、FILTER_RULE_MIME_TYPEの時はfilter_info->mime_typeがNULLかどうかチェックしてから strcmp ()しているが、FILTER_RULE_PIXBUF_FORMATSの時はそのままstrcmpしているからだ。
# それ以前に mime_type が取得できない場合があるというのも問題かもしれんが。
GNOMEのバグジラにも登録しておいた。
http://bugzilla.gnome.org/show_bug.cgi?id=325435
Gtk+と格闘している間に年が明けてしまったorz
VineSeed & gtk+-2.8.9 環境で gtk_file_filter_add_pixbuf_formats() で生成した GtkFileFilterを使ったファイル選択ダイアログが、特定のディレクトリを開いた際に必ずセグフォる現象に遭遇。原因を調べてる内に年が明けてしまったがいまだ掴めずorz
Gentoo & gtk+-2.6.8では問題なく動いてくれるんだけどなあ〜。
gtk+-2.6.8とgtk+-2.8.9でdiffを取ってみるか、今度。
Gentoo & gtk+-2.6.8では問題なく動いてくれるんだけどなあ〜。
gtk+-2.6.8とgtk+-2.8.9でdiffを取ってみるか、今度。
2005年11月23日
Windows+Mingw+MSYS+Gtk+
以前からWindowsでMinGWとMSYSを使ってGtk+アプリケーションを書きたいと思って試行錯誤していたのですがなかなか思い通りに行きませんでした。
ところがSylpheed/Win32 - Sylpheedにまさしくな内容があったので試した所、あっさりビルドできる様になりました。まさか、C:\GTKを/targetにマウントするだけで良いとは…
Cygwinという手段もあるけどもっさりしている感じがしたし、導入に時間がかかるのでなんとかMSYSでやる方法を追求していました。
ところがSylpheed/Win32 - Sylpheedにまさしくな内容があったので試した所、あっさりビルドできる様になりました。まさか、C:\GTKを/targetにマウントするだけで良いとは…
Cygwinという手段もあるけどもっさりしている感じがしたし、導入に時間がかかるのでなんとかMSYSでやる方法を追求していました。
2005年04月18日
VCLのTreeViewより便利なGtkTreeView
最初は、やたら複雑そうだったけどCxplorerなどをいじっている内に非常に便利な事に気づいた。
Gtk+2ベースでツリービューを扱いたい人は、まずはGTK+ 2.0 Tree View Tutorialを読んで見てください。英語だけど。
# その内、日本語のチュートリアルを作りたいと思っています。
とりあえず、cxplorer用のWikiでメモ書きしてあるものを↓
cxplorer - Porting/GtkTreeView
データと見た目を分離したビュー&モデル構造のおかげで非常に柔軟なプログラムが可能だと思う。
Gtk+2ベースでツリービューを扱いたい人は、まずはGTK+ 2.0 Tree View Tutorialを読んで見てください。英語だけど。
# その内、日本語のチュートリアルを作りたいと思っています。
とりあえず、cxplorer用のWikiでメモ書きしてあるものを↓
cxplorer - Porting/GtkTreeView
データと見た目を分離したビュー&モデル構造のおかげで非常に柔軟なプログラムが可能だと思う。
2005年04月12日
Gtk+一本化への道
家では完全にLinux三昧ですが、仕事では相変わらずWindowsのお相手…。Linuxに移行する前は、Borland C++ Builderで時折、簡単なユーティリティを作っていたのですが。
最近は、なんとかWindows向けアプリケーションをGtk+で作れないか模索していてwin2linuxwiki - Info/クロスビルド環境の構築の様にLinux上でWindowsの実行形式を作る所までは成功していました。
ですが、やはりネイティブ環境での開発に比べ不便な点が多いのでMingw+MsysでGtk+アプリケーションをビルドできないかと苦戦。(cygwinはあまり使いたくなかったのです。)
結局、たどり着いたのはBloodshed Software - Dev-C++というIDEでした。The Dev-C++ Resource Siteから『Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2』をダウンロード、インストールしてWeb Updateを使う事により、Gtk+-2.6.4のDevPackなどをインストール、ネイティブでGtk+アプリケーションをビルドする事に成功しました。詳細については、いずれまとめたいと思います。
最近は、なんとかWindows向けアプリケーションをGtk+で作れないか模索していてwin2linuxwiki - Info/クロスビルド環境の構築の様にLinux上でWindowsの実行形式を作る所までは成功していました。
ですが、やはりネイティブ環境での開発に比べ不便な点が多いのでMingw+MsysでGtk+アプリケーションをビルドできないかと苦戦。(cygwinはあまり使いたくなかったのです。)
結局、たどり着いたのはBloodshed Software - Dev-C++というIDEでした。The Dev-C++ Resource Siteから『Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2』をダウンロード、インストールしてWeb Updateを使う事により、Gtk+-2.6.4のDevPackなどをインストール、ネイティブでGtk+アプリケーションをビルドする事に成功しました。詳細については、いずれまとめたいと思います。


