PocketPetとは?

ウィジェット・ツールキット

について

ウィキペディア

出典: フリー百科事典『ウィキペディア(Wikipedia)』(最終更新 2007年10月1日 (月) 15:45。)

ウィジェット・ツールキットwidget toolkit)あるいは GUIツールキット とは、グラフィカルユーザインタフェースを構成する部品の集まりである。通常、ライブラリアプリケーションフレームワークの形式で実装される。分野によって、ウィジェットはコントロールコンポーネントとも呼ばれる。デスクトップアプリケーションの作成に用いられる。

目次

概要

高レベルなウィジェット・ツールキットは、GUIの生成と振る舞いを管理するAPIである。

  • GUIは、ウィジェット木構造として生成されることが多く、その一部がユーザーとのやり取りが可能となっていて(ボタンチェックボックスなど)、他はウィジェットをグループ化するコンテナである(ウィンドウパネルなど)。
  • ウィジェットの木構造の中身やウィジェットの属性は、実行時に変更可能であるものが多い(例えば、木構造からウィジェットを追加・削除できる)。
  • ツールキットはボタンをクリックするなどのユーザーイベントを扱う。イベント検出後のアクションはツールキットが指定するものではなく、アプリケーションが指定する。例えば、ファイルダイアログからユーザーがファイルを選択したら、ファイルダイアログ・ウィジェット自身の反応とそのユーザーイベントの検出はウィジェット・ツールキットが扱うが、ファイルを選択したことに対応する具体的なアクション(そのファイルを読み込むなど)はアプリケーション自身が行う。

ウィジェット・ツールキットは、コンテナの中でのウィジェットの位置決めの手段を必ず持っている。最も簡単な方法は、画面上の絶対座標や上位ウィジェットからの相対座標をピクセル単位で指定する方法だが、ウィジェット同士の相対的な位置関係だけを指定して具体的な座標を指定しない方法もある(レイアウトマネージャ)。

ウィジェットのルック・アンド・フィールはツールキット内でハードコードされる場合もあるが、ウィジェットツールキットによってはユーザーがルック・アンド・フィールを定義できるAPIを提供している。

主要なウィジェット・ツールキット

低レベルなもの

オペレーティングシステムに組み込まれているもの

オペレーティングシステム上の分離した層として実装されているもの

  • X Window System は基本的な構成要素(Xt)を含んでおり、Motif はそれを使っているが、GTK+Qt など大部分のツールキットはこれを使わず、直接 xlib を使っている。
  • AmigaOSIntuition は、Amiga の ROM に含まれていて、やや高レベルなウィジェットを使い Amiga の GUI である Workbench を呼び出している。Amiga OS 2.0 の Intuition からはディスク上のオブジェクト指向ライブラリとなった。同時に Workbench も Icon もディスクベースとなっている。

高レベルなもの

Macintosh

  • Cocoa - Mac OS Xで使用される (Aquaも参照されたい)
  • MacApp Macintosh フレームワーク。
  • MacZoop Macintosh C++ フレームワーク。
  • PowerPlant Macintosh フレームワーク。

Microsoft Windows

  • Microsoft Foundation Class (MFC)は、多くの開発者が Windows上の開発で使用している。このフレームワークはWindows API(Win32API)のラッパーであり、独立したツールキットではない。
  • Windows Template Library (WTL)は、, ATL のテンプレートに基づいた拡張であり、MFC を置換するものである。
  • Object Windows Library はMFCに相当するボーランド社のライブラリ。これもWindows API(Win32 API)のラッパーであり、独立したツールキットではない。
  • Visual Component Library (VCL) はボーランド社の C++ BuilderDelphi 製品に含まれているツールキット。これもWindows API(Win32API)のラッパーであり、独立したツールキットではない。
  • Windows Forms は、.NET の GUI 制御用クラス群である。Monoはそのクロスプラットフォームかつオープンソースの実装であり、Windows API のないプラットフォームでも動くようマネージコードに相当するものを一から実装している[1]
  • Windows Presentation Foundation (WPF) は、.NET Framework 3.0 のグラフィックスサブシステムである。WPF でのユーザーインタフェースは、任意のCLR言語(例えば C#)や XML ベースの XAML 言語を使って定義できる。WPF での GUIビルダーとして Microsoft Expression Blend がある。

UNIXX Window System

X Window SystemUNIX向けに開発されたが、Cygwinなどを使えば他のプラットフォームでも動作する。従って、以下のツールキットも必ずしもUNIX系に限定されない。

クロスプラットフォーム

カテゴリ分けされていないもの

脚注

  1. ^ これにより、.NET Framework 2.0 の基本 API を提供するが、そのAPI実装は未だ不完全である。

外部リンク

ウィキペディアでの『ウィジェット・ツールキット』の改訂履歴
Text is available under GNU Free Documentation License

今日の旬ワード

2. AKB48
3. 遊助
7. Cocco