ruby-****@lists*****
ruby-****@lists*****
2003年 5月 26日 (月) 23:40:06 JST
------------------------- REMOTE_ADDR = 210.249.193.205 REMOTE_HOST = URL = http://ruby-gnome2.sourceforge.jp/?Ruby%2FGTK2%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB ------------------------- = Ruby/GTK2 チュートリアル ==方針 当初は((<本家のチュートリアル|URL:http://ruby-gnome2.sourceforge.net/tut/toc.htm>))をベースに翻訳をしていましたが, * チュートリアルのソースがあまりRubyっぽくない * そもそも本家のチュートリアルは,((<GTK+ 2.0 Tutorial|URL:http://www.gtk.org/tutorial/>))をベースにしている * ((<きた>))の翻訳能力がイマイチ((-実はコレが一番のネック-)) * それじゃ,いっそのこと((<GTK v1.2 チュートリアル(日本語版)|URL:http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja.html>)) をベースにRuby化,GTK+ 2.0化した方がいいんじゃないの? ということで,((<GTK v1.2 チュートリアル(日本語版)|URL:http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja.html>))の成果を 最大限再利用させて頂くことにしました. == ToDo * ((<Ruby-GNOMEメモ|URL:http://home2.highway.ne.jp/mutoh/tips/index_gtk.html>))を統合する. とりあえず、RD化して置いておきました(だからまだRuby/GTK(1)用です)。適当に使ってやってください - むとう * ((<ウインドウ>)) * ((<ボックス>)) * ((<ラベル>)) * ((<ボタン>)) * ((<アイテムファクトリ>)) * ((<ハンドルボックス>)) * ((<テキストエントリ>)) * ((<スピンボタン>)) * ((<コンボボックス>)) * ((<ツールバー>)) * ((<カレンダー>)) * ((<セパレータ>)) * ((<ペイン>)) - で発音は良いのでしょうか(^^;)。 * ((<マウスカーソル>)) * ((<画像の扱い>)) - とりあえず、Gdk::Pixmapのみです。Gtk::Stock, Gdk::Pixbufとかもここ? * ((<カラーの扱い>)) - 内容はほとんど同じのハズ。 * ((<ウインドウへの直接描画>)) - 内容はほとんど同じのハズ。 ==目次 * ((<序文>)) * ((<さあ始めよう>)) * ((<Ruby(('/'))GTK2のHello World>)) * ((<シグナルとコールバックの仕組み>)) * ((<イベント>)) * ((<Hello World の詳細>)) * さらに進もう * ((<シグナルハンドラをさらに>)) * ((<Hello World の改良>)) * ((<ウィジェットのパッキング>)) * ((<パッキングボックスの概念>)) * ((<ボックスの詳細>)) * ((<パッキングのデモンストレーションプログラム>)) * ((<テーブルを使ってのパッキング>)) * ((<テーブルパッキングの例>)) * ((<ウィジェット概観>)) * キャスティング * ウィジェット階層 * ((<ウィンドウを持たないウィジェット>)) * ボタンウィジェット * ((<普通のボタン>)) * ((<トグルボタン>)) * ((<チェックボタン>)) * ((<ラジオボタン>)) * ((<アジャストメント>)) * アジャストメントの作成 * アジャストメントを簡単に使う方法 * アジャストメントの内部 * レンジウィジェット * スクロールバーウィジェット * スケールウィジェット * Creating a Scale Widget * Functions and Signals (well, functions, at least) * レンジに使われる共通の関数 * Setting the Update Policy * Getting and Setting Adjustments * キーとマウスのバインディング * 例 * 雑多なウィジェット * ((<ラベル>)) * アロウ * ツールチップスオブジェクト * プログレスバー * ダイアログ * ルーラ * ステータスバー * ((<テキストエントリ>)) * ((<スピンボタン>)) * ((<コンボボックス>)) * ((<カレンダー>)) * カラーセレクション * ファイルセレクション * コンテナウィジェット * イベントボックス * アライメントウィジェット * フィックスドコンテナ * レイアウトコンテナ * フレーム * アスペクトフレーム * ペインドウィンドウウィジェット * ビューポート * スクロールドウィンドウ * ボタンボックス * ((<ツールバー>)) * ノートブック * メニューウィジェット * 手作業でのメニュー作成 * 手作業によるメニューの例 * アイテムファクトリを使う * ItemFactory entries * Creating an ItemFactory * Making use of the menu and its menu items * アイテムファクトリの例 * ドキュメント化されていないウィジェット * Accel Label * Option Menu * Menu Items * Check Menu Item * Radio Menu Item * Separator Menu Item * Tearoff Menu Item * Curves * Drawing Area * Font Selection Dialog * Message Dialog * Gamma Curve * Image * Plugs and Sockets * Tree View * Text View * ウィジェットの属性を設定する * タイムアウト、I/O およびアイドル関数 * タイムアウト * IO の監視 * アイドル関数 * 上級イベントとシグナル処理 * シグナル関数 * Connecting and Disconnecting Signal Handlers * Blocking and Unblocking Signal Handlers * Emitting and Stopping Signals * シグナルの発行と伝達 * セレクション管理 * 概観 * セレクションの検索 * セレクションの提供 * Drag-and-drop (DND) * Overview * Properties * Functions * Setting up the source widget * Signals on the source widget: * Setting up a destination widget: * Signals on the destination widget: * GLib * 定義 * 二重連結リスト * 単一連結リスト * メモリ管理 * タイマー * 文字列処理 * ユーティリティ関数とエラー関数 * GTK の rc ファイル * rc ファイルを扱う関数 * GTK の rc ファイルにおけるフォーマット * rc ファイルの例 * 独自のウィジェットを書く * 概観 * ウィジェットの構造 * 複合ウィジェットの作成 * Introduction * Choosing a parent class * The header file * The _get_type() function * The _class_init() function * The _init() function * And the rest... * スクラッチからのウィジェット作成 * Introduction * Displaying a widget on the screen * The origins of the Dial Widget * The Basics * gtk_dial_realize() * Size negotiation * gtk_dial_expose() * Event handling * Possible Enhancements * さらに学ぶには * 走り書き、簡単な描画プログラム * 概観 * イベント操作 * DrawingArea ウィジェットと描画 * XInput サポートの追加 * Enabling extended device information * Using extended device information * Finding out more about a device * Further sophistications * GTK アプリケーションを書くためのヒント * 寄稿 * 謝辞 * ((<Tutorial Copyright and Permissions Notice>)) - ((<きた>)) ------------------------- = Ruby/GTK2 チュートリアル ==方針 当初は((<本家のチュートリアル|URL:http://ruby-gnome2.sourceforge.net/tut/toc.htm>))をベースに翻訳をしていましたが, * チュートリアルのソースがあまりRubyっぽくない * そもそも本家のチュートリアルは,((<GTK+ 2.0 Tutorial|URL:http://www.gtk.org/tutorial/>))をベースにしている * ((<きた>))の翻訳能力がイマイチ((-実はコレが一番のネック-)) * それじゃ,いっそのこと((<GTK v1.2 チュートリアル(日本語版)|URL:http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja.html>)) をベースにRuby化,GTK+ 2.0化した方がいいんじゃないの? ということで,((<GTK v1.2 チュートリアル(日本語版)|URL:http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja.html>))の成果を 最大限再利用させて頂くことにしました. == ToDo * ((<Ruby-GNOMEメモ|URL:http://home2.highway.ne.jp/mutoh/tips/index_gtk.html>))を統合する. とりあえず、RD化して置いておきました(だからまだRuby/GTK(1)用です)。適当に使ってやってください - むとう * ((<ウインドウ>)) * ((<ボックス>)) * ((<ラベル>)) * ((<ボタン>)) * ((<アイテムファクトリ>)) * ((<ハンドルボックス>)) * ((<テキストエントリ>)) * ((<スピンボタン>)) * ((<コンボボックス>)) * ((<ツールバー>)) * ((<カレンダー>)) * ((<セパレータ>)) * ((<ペイン>)) - で発音は良いのでしょうか(^^;)。 * ((<マウスカーソル>)) * ((<画像の扱い>)) - とりあえず、Gdk::Pixmapのみです。Gtk::Stock, Gdk::Pixbufとかもここ? * ((<カラーの扱い>)) * ((<ウインドウへの直接描画(Gdk::Drawable編)>)) * ((<ウインドウへの直接描画(Gdk::GC編)>)) ==目次 * ((<序文>)) * ((<さあ始めよう>)) * ((<Ruby(('/'))GTK2のHello World>)) * ((<シグナルとコールバックの仕組み>)) * ((<イベント>)) * ((<Hello World の詳細>)) * さらに進もう * ((<シグナルハンドラをさらに>)) * ((<Hello World の改良>)) * ((<ウィジェットのパッキング>)) * ((<パッキングボックスの概念>)) * ((<ボックスの詳細>)) * ((<パッキングのデモンストレーションプログラム>)) * ((<テーブルを使ってのパッキング>)) * ((<テーブルパッキングの例>)) * ((<ウィジェット概観>)) * キャスティング * ウィジェット階層 * ((<ウィンドウを持たないウィジェット>)) * ボタンウィジェット * ((<普通のボタン>)) * ((<トグルボタン>)) * ((<チェックボタン>)) * ((<ラジオボタン>)) * ((<アジャストメント>)) * アジャストメントの作成 * アジャストメントを簡単に使う方法 * アジャストメントの内部 * レンジウィジェット * スクロールバーウィジェット * スケールウィジェット * Creating a Scale Widget * Functions and Signals (well, functions, at least) * レンジに使われる共通の関数 * Setting the Update Policy * Getting and Setting Adjustments * キーとマウスのバインディング * 例 * 雑多なウィジェット * ((<ラベル>)) * アロウ * ツールチップスオブジェクト * プログレスバー * ダイアログ * ルーラ * ステータスバー * ((<テキストエントリ>)) * ((<スピンボタン>)) * ((<コンボボックス>)) * ((<カレンダー>)) * カラーセレクション * ファイルセレクション * コンテナウィジェット * イベントボックス * アライメントウィジェット * フィックスドコンテナ * レイアウトコンテナ * フレーム * アスペクトフレーム * ペインドウィンドウウィジェット * ビューポート * スクロールドウィンドウ * ボタンボックス * ((<ツールバー>)) * ノートブック * メニューウィジェット * 手作業でのメニュー作成 * 手作業によるメニューの例 * アイテムファクトリを使う * ItemFactory entries * Creating an ItemFactory * Making use of the menu and its menu items * アイテムファクトリの例 * ドキュメント化されていないウィジェット * Accel Label * Option Menu * Menu Items * Check Menu Item * Radio Menu Item * Separator Menu Item * Tearoff Menu Item * Curves * Drawing Area * Font Selection Dialog * Message Dialog * Gamma Curve * Image * Plugs and Sockets * Tree View * Text View * ウィジェットの属性を設定する * タイムアウト、I/O およびアイドル関数 * タイムアウト * IO の監視 * アイドル関数 * 上級イベントとシグナル処理 * シグナル関数 * Connecting and Disconnecting Signal Handlers * Blocking and Unblocking Signal Handlers * Emitting and Stopping Signals * シグナルの発行と伝達 * セレクション管理 * 概観 * セレクションの検索 * セレクションの提供 * Drag-and-drop (DND) * Overview * Properties * Functions * Setting up the source widget * Signals on the source widget: * Setting up a destination widget: * Signals on the destination widget: * GLib * 定義 * 二重連結リスト * 単一連結リスト * メモリ管理 * タイマー * 文字列処理 * ユーティリティ関数とエラー関数 * GTK の rc ファイル * rc ファイルを扱う関数 * GTK の rc ファイルにおけるフォーマット * rc ファイルの例 * 独自のウィジェットを書く * 概観 * ウィジェットの構造 * 複合ウィジェットの作成 * Introduction * Choosing a parent class * The header file * The _get_type() function * The _class_init() function * The _init() function * And the rest... * スクラッチからのウィジェット作成 * Introduction * Displaying a widget on the screen * The origins of the Dial Widget * The Basics * gtk_dial_realize() * Size negotiation * gtk_dial_expose() * Event handling * Possible Enhancements * さらに学ぶには * 走り書き、簡単な描画プログラム * 概観 * イベント操作 * DrawingArea ウィジェットと描画 * XInput サポートの追加 * Enabling extended device information * Using extended device information * Finding out more about a device * Further sophistications * GTK アプリケーションを書くためのヒント * 寄稿 * 謝辞 * ((<Tutorial Copyright and Permissions Notice>)) - ((<きた>))