内容紹介
初めてGTK+を使う人向けに、GTK+でのGUIプログラミングを基礎から分かりやすく解説。GTK+2対応。
GTK+(ジーティーケープラス)は、GUIアプリケーションを作るためのライブラリで、LinuxやWindowsやMac OS Xなどに対応しており、Linuxなどでは事実上の標準に近い地位を占めている。しかし、最新版のGTK+2に対応した解説書がなく、入門者にとってややハードルが高い状態だった。本書は、Web上で公開されていたGTK+2の解説書をブラッシュアップしたうえで一般の書籍流通向けに発行するもの。
2021年1月27日追記:本書サンプルプログラムの配布サイトのURLが以下に変更になっています。
http://iim.cs.tut.ac.jp/member/sugaya/books/GTK+/sources.tar.gz
目次
主要目次
まえがき
第1章 GTK+ ってなんだろう
第2章 GTK+ で画像ビューワを作ってみよう
第3章 もっとGTK+
第4章 GLib
第5章 GdkPixbuf を使った画像アプリケーションの作成
第6章 cairo による図形の描画
第7章 ウィジェットリファレンス
第8章 拡張ウィジェットの作成
第9章 統合開発環境によるソフトウェア開発
第10章 プログラミングの小箱
付録A GTK+の開発環境の構築
付録B Visual Studio 2008 Express Edition でのビルド方法
付録C GtkStockItem 一覧
付録D サンプルプログラムのソースコードリスト
索引
詳細目次
まえがき
第1章 GTK+ ってなんだろう
1.1 GTK+
1.2 GUI ツールキット
1.3 GTK+ の特徴
1.4 プログラミング環境を整えよう
1.4.1 GUI によるアプリケーションのインストール
1.4.2 コマンドラインによるアプリケーションのインストール
第2章 GTK+ で画像ビューワを作ってみよう
2.1 とにかく作ってみよう
2.2 ウィンドウの作成
2.2.1 作業ディレクトリとソースコードの作成
2.2.2 ソースコードのコンパイル
2.2.3 プログラムの実行
2.2.4 ソースコードの解説
2.2.5 devhelp による関数検索
2.2.6 まとめ
2.3 ボタンの追加
2.3.1 ボタンウィジェットの作成
2.3.2 ボタンの配置
2.3.3 コールバック関数の登録
2.3.4 コールバック関数の実装
2.3.5 コンパイルと動作確認
2.3.6 まとめ
2.4 画像の表示
2.4.1 イメージウィジェットの作成
2.4.2 イメージウィジェットの配置
2.4.3 コンパイルと動作確認
2.4.4 まとめ
2.5 スクロールバーの追加
2.5.1 スクロールバー付きのウィンドウの作成
2.5.2 イメージウィジェットの配置
2.5.3 スクロールバーの表示設定
2.5.4 コンパイルと動作確認
2.5.5 まとめ
2.6 メニューバーの追加
2.6.1 メニュー作成の手順
2.6.2 メニュー構成の作成
2.6.3 メニューアイテムの詳細設定
2.6.4 メニュー情報の登録
2.6.5 ショートカットキーの関連付け
2.6.6 メニューバーウィジェットの取得
2.6.7 ウィジェットを取得するテクニック
2.6.8 コンパイルと動作確認
2.6.9 まとめ
2.7 ファイル選択ダイアログの実装
2.7.1 ファイル選択ダイアログの作成
2.7.2 ファイル名の取得と画像の表示
2.7.3 コンパイルと動作確認
2.7.4 まとめ
第3章 もっとGTK+
3.1 ウィジェットの階層構造
3.2 ウィジェットの配置
3.2.1 コンテナ
3.2.2 パッキングボックス
3.2.3 テーブル
3.3 シグナルとコールバック関数の詳細
3.3.1 シグナルとコールバック関数
3.3.2 コールバック関数の設定
3.3.3 コールバック関数の解除
3.3.4 シグナルの伝搬
第4章 GLib
4.1 GLib で定義された基本データ型
4.2 便利な関数
4.2.1 文字列操作関数
4.2.2 ファイルアクセス関数
4.2.3 Unicode に関する関数
4.2.4 その他の便利な関数
4.3 連結リスト
4.3.1 GList に対する関数
4.3.2 リスト操作の例: ソート
4.3.3 リスト操作の例: データの追加・削除
4.4 ハッシュ
4.4.1 GHashTable に対する関数
4.4.2 ハッシュテーブルの例
4.5 イベントループ
第5章 GdkPixbuf を使った画像アプリケーションの作成
5.1 画像ファイルの読み書き
5.1.1 画像の読み込み
5.1.2 画像の書き込み
5.2 画像情報の取得
5.3 画像の表示
5.3.1 GtkImage ウィジェットによる画像の表示
5.3.2 GtkDrawingArea ウィジェットによる画像の表示
5.4 簡単な画像処理アプリケーションの作成
5.4.1 ウィジェットの配置
5.4.2 GUI の作成
5.4.3 コールバック関数の設定
5.4.4 2 値化処理
5.4.5 ソースコードのコンパイルと動作テスト
第6章 cairo による図形の描画
6.1 cairo とは
6.2 図形描画の概念と手順
6.3 サーフェスの作成
6.3.1 GTK+ アプリケーションのドローアブル
6.3.2 画像用のサーフェス
6.3.3 PS(EPS)ファイル
6.3.4 SVG ファイル
6.4 コンテキストの作成
6.5 線分の描画
6.6 線分の属性と描画サンプル
6.6.1 線分の太さ
6.6.2 線端の種類
6.6.3 接続の種類
6.6.4 線分の種類
6.7 矩形の描画
6.8 多角形の描画
6.9 円弧の描画
6.10 曲線の描画
6.11 ソースの設定
6.11.1 単色のソース
6.11.2 グラデーションパターンのソース
6.11.3 画像データをソースにする
6.11.4 サーフェスをソースにする
6.12 座標系の変換
6.13 テキストの描画
6.14 クリッピング
6.15 マスク
6.16 合成
第7章 ウィジェットリファレンス
7.1 ボタンウィジェット
7.1.1 普通のボタン
7.1.2 チェックボタン
7.1.3 ラジオボタン
7.2 コンテナウィジェット
7.2.1 ウィンドウ
7.2.2 フレーム
7.2.3 ペイン
7.2.4 ツールバー
7.2.5 ハンドルボックス
7.2.6 ノートブック
7.2.7 エクスパンダ
7.3 入力ウィジェット
7.3.1 エントリ
7.3.2 コンボボックスエントリ
7.3.3 スピンボタン
7.3.4 テキストビュー
7.4 メニューウィジェット
7.4.1 メニューバー
7.4.2 ポップアップメニュー
7.4.3 UI マネージャ
7.5 ダイアログ
7.5.1 ダイアログボックス
7.5.2 メッセージダイアログボックス
7.5.3 ファイル選択ダイアログ
7.5.4 アバウトダイアログ
7.6 ツリービュー
7.6.1 簡単なリスト表示
7.6.2 さらに細かな列属性の設定
7.6.3 リストデータの削除
7.6.4 リストデータへの一括アクセス
7.6.5 行の入れ換え
7.6.6 GtkCellRenderer に対するシグナルとコールバック関数
7.6.7 データのソート
7.6.8 ツリーデータの表示
7.6.9 ダブルクリックによるツリーの展開
7.6.10 ツリーストアに関するその他の関数
7.7 その他の特殊なウィジェット
7.7.1 ツールチップ
7.7.2 プログレスバー
7.7.3 セパレータ
7.7.4 スケール
7.7.5 アイコンビュー
7.7.6 エントリ補完ウィジェット
第8章 拡張ウィジェットの作成
8.1 アイコン付きボタンウィジェットの作成
8.2 ヘッダファイルの作成
8.3 クラス構造体の定義
8.4 初期化関数
8.5 ウィジェット作成関数
8.6 プロパティ取得関数
8.7 プロパティ変更関数
8.8 ウィジェットのテスト
第9章 統合開発環境によるソフトウェア開発
9.1 プロジェクトの作成
9.2 GUI の作成
9.2.1 Glade の起動
9.2.2 GUI の構成
9.2.3 プロパティの設定
9.2.4 メニューの生成
9.3 コールバック関数の実装
9.3.1 グローバル変数の設定
9.3.2 ドローイングエリアのコールバック関数の実装
9.3.3 画像を読み込むコールバック関数の実装
9.3.4 画像を保存するコールバック関数の実装
9.3.5 画像処理関数の実装
9.3.6 アプリケーション情報を表示するコールバック関数の実装
9.3.7 終了コールバック関数の実装
9.4 アプリケーションの実行
9.5 配布パッケージの作成
9.5.1 main.c の修正
9.5.2 配布パッケージの作成
9.5.3 配布パッケージのコンパイル
9.6 メッセージの国際化
9.6.1 翻訳メッセージの作成
9.6.2 メッセージの翻訳
9.6.3 日本語メッセージの確認
9.7 発展
第10章 プログラミングの小箱
10.1 マウスクリックの検出と座標の取得
10.1.1 マウス情報検出の準備
10.1.2 マウスボタンのクリックを検出する
10.1.3 マウスの座標を取得する
10.1.4 マウスの移動を検出する
10.1.5 マウスボタンの種類を判定する
10.1.6 ダブルクリックを検出する
10.1.7 マウスカーソルを変更する
10.2 キープレスの検出とキーの取得
10.2.1 キープレス検出の準備
10.2.2 キープレスを検出する
10.2.3 キーを取得する
10.3 ドラッグ&ドロップ
10.3.1 ドロップ機能の実装
10.3.2 ドラッグ機能の実装
10.3.3 GtkIconView ウィジェットでのドラッグ&ドロップの実装
10.4 オリジナルストックアイテムの作成
10.4.1 ストックアイテム作成
10.4.2 サンプルプログラム
10.5 プログラムオプションの解析
10.5.1 コマンドラインオプションの設定
10.5.2 オプションコンテキストの設定
10.5.3 オプションの解析
付録A GTK+の開発環境の構築
A.1 GTK+ 開発環境のインストール. Fedora 11 編
A.2 GTK+ 開発環境のインストール. OpenSUSE 11.1 編
A.3 GTK+ 開発環境のインストール. Windows Vista 編
付録B Visual Studio 2008 Express Edition でのビルド方法
付録C GtkStockItem 一覧
付録D サンプルプログラムのソースコードリスト
索引
続きを見る