投稿

vecterion_vge 17.07 release works

イメージ
GladeとGtkバージョン gladeによるポトペタなGUI作成を導入したのですが、これにWindows版公式ビルド最新版より新しいバージョンのGTKが必要とのこと。

===
 debug: et_etaion_set_application_base_dir_from_execute_path()[126]: dir:'..'
critical: init_gtk_builder_()[2740]: Couldn't load document_new_dialog_builder file: ./resource/ui/document_new_dialog.glade: required gtk+ version 3.12, current version is 3.10
===


ビルド済みGTKライブラリの取得 officialの最新版は 3.10.4-20131202 までしか提供されていないので、unofficialなバイナリを使用することに。
使い勝手の問題からofficialに近いパッケージを探して、https://twitter.com/niloufarjp/ 氏の配布してくださっている配布パッケージを、下記スクリプトで全解凍&フォルダ統合済みに再パッケージ。
https://github.com/MichinariNukazawa/vecterion_vge/blob/master/deploy/win/gtk_library/gtk_library_repackage.sh

loaders.cache, libpixbufloader-svg.dll libpixbufloader-svg.dll を使うにあたって loaders.cache が無いから gdk-pixbuf-query-loaders.exeを呼び出して作れ、と親切なエラーメッセージなのでそれに従いファイルを作成。
===
(vecterion_vge.exe:8124): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file 'C:\Users\nuka\Documents\vecterion_vge-win64-17.07develop-11c2ada\lib\gdk-p…

Centaring GtkScrolledWindow

イメージ
GtkScrolledWindowのスクロール位置をアプリケーション側から変更して中央寄せするコードです。



===
 static void et_scrolled_window_centering_(GtkScrolledWindow *scrolled_window)
{
    {
        GtkAdjustment *vadj = gtk_scrolled_window_get_vadjustment (scrolled_window);
        double v = (gtk_adjustment_get_upper(vadj) - gtk_adjustment_get_page_size(vadj)) / 2.0;
        gtk_adjustment_set_value (vadj, v);
    }

    {
        GtkAdjustment *hadj = gtk_scrolled_window_get_hadjustment (scrolled_window);
        double h = (gtk_adjustment_get_upper(hadj) - gtk_adjustment_get_page_size(hadj)) / 2.0;
        gtk_adjustment_set_value (hadj, h);
    }
}
===

問題はこのスクロール位置指定の実行タイミングで、スクロール位置を変更するにはScrolledWindowの中でスクロールされる内側Widgetが再描画済みでサイズが確定していなければならないのですが、Widgetコールバックの設計によっては、スクロール位置の変更コードを呼び出すタイミングがその内側Widgetの再描画コールバック("draw"イベント)内しかない場合があって。
仕方がないので最初の再描画コールバック内でフラグをカウントアップして"draw"イベントを再度コールするようにしたのですが、作成中のアプリケーションはそうしなくても都合により外部からすぐ再描画コールバックが呼ばれるので、これで本当に正しいのか正直不明です。

===


static gboolean _cb_expose_event (GtkWidget *widget…

Install Android Studio 2.3.1 to Ubuntu16.04LTS

イメージ
今回特に、エラーメッセージをメモしていないので、これは記憶で書いているメモです。







基本的には公式サイトに書いてある手順でOKです。