Glade Interface Designer(グレード・インターフェース・デザイナー)、または単にGladeは、GTK(GIMP Toolkit)ライブラリを用いたグラフィカルユーザーインターフェース(GUI)を構築するためのツールです。GNOMEプロジェクトの追加コンポーネントもサポートしており、より高度なGUI開発が可能です。
Gladeの概要
Gladeは、GUIのデザインを視覚的に行えるGUIビルダーであり、ユーザーはドラッグ&ドロップなどの直感的な操作でウィンドウやボタン、テキストフィールドなどのGUI要素を配置できます。Gladeは、GUIのレイアウトを定義するXMLファイルを生成します。このXMLファイルと、対応するライブラリ(例:Ada言語用のgtkada)を用いることで、GUIを実際に表示し、動作させることができます。
Gladeの大きな特徴の一つは、バージョン3からイベント処理とGUIの定義を分離した点です。従来のように、GUIイベントごとにコードを生成するのではなく、GUIのレイアウトを記述したXMLファイルを生成し、イベント処理は別の方法(例:
プログラミング言語とバインディング)で実装します。これにより、より柔軟で保守性の高いGUI開発が可能になります。
Gladeのバージョン
Gladeには主に3つのバージョンが存在します。最初のバージョンはGTK 1向けに開発され、残りの2つはGTK 2向けです。Gladeは自由ソフトウェアであり、
GNU General Public License(GPL)の下で配布されています。
Gladeの歴史
Gladeの最初のバージョンである0.1は
1998年4月18日にリリースされました。その後、大幅な変更を加えたGlade 3は、
2006年8月12日にリリースされました。Glade 3の主な変更点は以下の通りです。
操作のUndo/Redoサポート: あらゆる操作に対してアンドゥ(取り消し)とリドゥ(やり直し)をサポートし、操作ミスを容易に修正できます。
複数プロジェクトのオープン: 複数のプロジェクトを同時に開いて作業できるようになり、効率的なGUI開発が可能になりました。
コード生成の排除: イベント処理コードを自動生成する機能を廃止し、XMLファイルとバインディングを組み合わせることで、より柔軟なGUI開発を実現しました。
Devhelpによる文脈ヘルプシステム: Devhelpと連携し、Gladeの各機能に関する文脈に即したヘルプを提供します。
Glade 3は、内部構造も大きく刷新されています。GTK 2の新機能や
GObjectシステムを最大限に活用するように完全に書き直されました。Glade 2がGTK 2に移植される前からGlade 3のプロジェクトは開始されており、その結果、Glade 3のコードベースは小さく、かつ新たな機能が追加されています。
具体的には、Glade 3では以下の機能が追加・改善されています。
プラグイン可能なウィジェットカタログ: 外部ライブラリのウィジェットをGladeが実行時に検出できるようになりました。これにより、標準のGTKウィジェットだけでなく、GNOME UIやDBウィジェットなど、多様なウィジェットをGladeで利用できます。
ウィジェットとしてのGladeツール: パレットやエディタなどのGladeのツールがウィジェットとして実装されています。これにより、
AnjutaやScaffoldなどの統合開発環境(IDE)との統合が容易になり、Glade UIの変更も容易になりました。
GladeXML
Glade Interface DesignerがGUIのレイアウトを保存する際に使用するXMLフォーマットがGladeXMLです。このGladeXMLファイルとlibgladeライブラリを使うことで、GTKベースのGUIを実際に生成できます。
モックアップツールとしてのGlade
Gladeは、GUIプログラムのモックアップ(
木型)の設計にも利用できます。GUIのデザインを素早く作成し、実際のプログラム開発に入る前にUIの検証を行うことができます。
他のGTKデザイナー
Glade以外にも、GTKを用いたGUIアプリケーションを設計できるツールはいくつか存在します。
Crow Designer
Enveria Development IDE
Gazpacho
コードスケッチャー
コードスケッチャーは、GladeXMLファイルからソースコードを生成する際に役立つアプリケーションです。多くのコードスケッチャーはlibgladeとGladeXMLファイルを使用してソースコードを生成しますが、一部はGladeXMLファイルを必要としないコードを生成できます。
まとめ
Gladeは、GTKを用いたGUI開発を効率化するための強力なツールです。特にバージョン3では、イベント処理とGUI定義の分離、プラグイン可能なウィジェットカタログなどの高度な機能が導入され、柔軟で高度なGUI開発が可能です。
外部リンク
Glade公式ウェブサイト
*
Glade Example Applications