2.1 ライブラリの基本的な構成と使い方

 GTK+は、もともとC言語から使えるように作られたライブラリですが、オブジェクト指向の考え方に沿って利用することを前提としており、部品同士がツリー形の継承関係によって関連付けられたクラスライブラリのような構成になっています。

ただ、クラスライブラリと言っても、C言語用ですので、何らかの機能を利用する際のコードの見た目は、クラスに属するメソッドを呼び出すという感じではなく、関数を呼び出す際に、その関数が受け入れ可能なクラスのインスタンスを引数として指定する、という形になります。

 GTK+では、クラスライブラリにおけるクラスを、「ウィジェット」(widget)、または、「オブジェクト」(object)と呼びます。GTK+で作成したプログラムのユーザが、画面上で見たり操作したりできるGUI部品であるクラスを「ウィジェット」、その他のものを「オブジェクト」と呼びます。

オブジェクトという言葉は、プログラミング用語として、いろいろな意味で使われるので紛らわしいのですが、このチュートリアルでは、以後、主に上記の意味で用います。

また、インスタンスという言葉を、「プログラム上で生成済みのウィジェットやオブジェクト」という意味で用います。

 GTK+プログラムで、ウィジェットやオブジェクトを生成(インスタンスを取得)するには、ウィジェットやオブジェクトごとに専用の関数がありますので、それを呼び出します。

関数の名前は、決まったパターンでつけられており、具体的には、"(ライブラリ名)_(ウィジェット・オブジェクト名)_new"、となります。

ちなみに、生成後の機能を利用するための関数も、同じようなパターンで命名されており、基本的には、"(ライブラリ名)_(ウィジェット・オブジェクト名)_(機能名)"、という形で統一されています。

 以下、ライブラリのアーカイブに同梱されているドキュメントについての補足です。

 "\share\gtk-doc\html\gtk3\ch03.html"のページで、ウィジェットのスクリーンショット一覧を見ることができます。

 各ウィジェット、および、オブジェクトの継承関係を、"\share\gtk-doc\html\gtk3\ch02.html"のページで確認することができます。

このページからリンクされている、個々のウィジェットやオブジェクトのリファレンスのページには、それらのインスタンスを引数として受け入れ可能な関数の一覧、つまり、ウィジェットやオブジェクトの機能の一覧や、その他の関連情報が載っています。一覧には、インスタンス生成のための関数も含まれています。

GTK+における継承は、これらの関数を、子孫のウィジェットやオブジェクトのインスタンスに対しても使える、という形で実現されています。(インスタンス生成関数を除く)

Prev - Table of contents - Next