歴史 1920年頃、widgetは アメリカ英語に取り入れられ、あらゆる便利な装置、特に販売用に製造された製品、つまりガジェット を指す一般的な用語となった。
1988年に、ウィジェット という用語は、プロジェクト・アテナ とXウィンドウシステム の文脈で確認されています。ジョエル・マコーマック とポール・アセンテによるXツールキット の概要 には、次のように書かれています。[ 2 ]
このツールキットは、テキストラベル、スクロールバー、コマンドボタン、メニューなどのユーザーインターフェースコンポーネント(「ウィジェット」)のライブラリを提供し、プログラマーが新しいウィジェットを作成できるようにするとともに、ウィジェットを組み合わせて完全なユーザーインターフェースを構築するための接着剤のような役割を果たします。
同年、Ralph R. SwickとTerry Weissmanによるマニュアル「X Toolkit Widgets - C Language X Interface」には次のように書かれている。 [ 3 ]
Xツールキットにおいて、ウィジェットとは、Xウィンドウまたはサブウィンドウと、それに関連付けられた入出力セマンティクスの組み合わせを指します。
最後に、同じ年にラルフ・R・スウィックとマーク・S・アッカーマンがウィジェット という用語の由来を説明しています。[ 4 ]
他の一般的な用語は不適切な意味合いを帯びすぎていたため、この用語を選択しました。しかしながら、懐疑的な方々には、ウィジェットの主要な実装はそれに関連付けられたXウィンドウであり、一般的な頭文字も決して無駄ではないことを指摘しておきます。
使用法 有効なウィジェットと無効なウィジェットの例です。下部のフレームは無効になっており、灰色で表示されています。 ウィジェットとは、ウィンドウ やテキストボックス など、ユーザーが変更可能な情報レイアウトを表示するものです。ウィジェットの決定的な特徴は、特定の種類のデータを直接操作する ための単一のインタラクションポイントを提供することです。言い換えれば、ウィジェットは基本的な視覚的構成要素であり、アプリケーション内で組み合わせることで、アプリケーションによって処理されるすべてのデータと、そのデータに対する利用可能なインタラクションを保持します。
GUIウィジェットは、プログラムのヒューマンマシンインターフェースを構築するために使用されるグラフィカル要素です。GUIウィジェットはソフトウェアコンポーネントのように実装されます。GTK + やQt などのウィジェットツールキットやソフトウェアフレームワークには、プログラマがプログラムのGUIを構築するために使用できるよう、ソフトウェアライブラリ にGUIウィジェットが含まれています。
パロアルト研究所が ゼロックスアルト ユーザーインターフェースの研究に基づいて一般的な情報を保持するための、再利用可能な共通ウィジェットのファミリーが進化しました。これらの汎用ウィジェットのさまざまな実装は、プログラマがグラフィカルユーザーインターフェース(GUI)を構築するために使用するウィジェットツールキット にまとめてパッケージ化されることがよくあります。ほとんどのオペレーティングシステムには、プログラマがアプリケーションに組み込んで動作方法を指定できる、カスタマイズ可能なウィジェットのセットが含まれています。[ 5 ] ウィジェットの各タイプは、一般的にオブジェクト指向プログラミング( OOP )によってクラスとして定義されます。したがって、多くのウィジェットはクラス継承から派生しています。
アプリケーションのコンテキストにおいて、ウィジェットは特定の時点で有効 または無効にする ことができます。有効なウィジェットは、キー入力やマウス操作などのイベントに応答する能力を持ちます。このようなイベントに応答できないウィジェットは無効とみなされます。ウィジェットの外観は、有効か無効かによって通常異なります。無効の場合、ウィジェットは薄い色(「グレーアウト 」)で描画されるか、何らかの方法で視覚的に隠されることがあります。例については、隣の画像を参照してください。
利用できないコントロールを完全に非表示にするのではなく無効化する利点は、コントロールが存在するものの現在利用できない状態であることをユーザーに示せる点です(他のコントロールを変更すれば利用可能になる可能性を示唆)。これにより、ユーザーがコントロールの場所を全く分からなくなるという事態を防ぐことができます。ポップアップダイアログでは、誤ってクリックしたり、意図せずダブルタップしたりするのを防ぐため、ボタンは表示後すぐにグレー表示になる場合があります。
ウィジェットは、物理的なものと区別するために「仮想」 と呼ばれることがあります。例えば、ポインター でクリックできる仮想 ボタン と、指で押せる物理ボタン( コンピューターのマウス にあるボタンなど)との違いです。
関連する(ただし異なる)概念として、デスクトップウィジェット があります。これは、時計、カレンダー、ニュースアグリゲーター、電卓、デスクトップメモなど、よく使う機能への視覚的な情報や簡単なアクセスを提供する、小型の専用GUIアプリケーションです。これらのウィジェットは、ウィジェットエンジン によってホストされます。
Ubuntu に表示されるさまざまなウィジェットQt ウィジェットは、3種類の異なるスキン (芸術的なデザイン)に基づいてレンダリングされます:プラスチック、セラミック、およびWindows
コレクションの選定と展示 ボタン – クリックすることで動作を実行できる操作部。機械式または電子機器にある プッシュボタンに相当するもの。 ラジオボタン とは、ラジオの選局ボタンのように、複数の選択肢の中から1つを選択するためにクリックできるコントロールです。ラジオボタンは常に2つまたはそれ以上のグループで表示され、グループ内では一度に1つのオプションしか選択できません。グループ内のボタンから新しい項目を選択すると、以前に選択されていたボタンは自動的に選択解除されます。チェックボックス – オプションを有効または無効にするためにクリックできるコントロール。ティックボックスとも呼ばれます。チェックボックスは、チェックマーク(☑)またはバツ印(☒)で「オン」または「オフ」の状態を示します。 複数の選択項目 で、チェックボックスが表すプロパティの値が異なることを示すために、中間状態(網掛けまたはダッシュ)で表示することもできます。ラジオボタンとは異なり、グループ内の複数のチェックボックスを選択できます。トグルスイッチ - 機能的にはチェックボックスに似ています。オン/オフを切り替えることができますが、チェックボックスとは異なり、通常は即座に効果が現れます。トグルボタン - 機能的にはチェックボックスに似ており、スイッチ として機能しますが、見た目はボタンです。オンとオフを切り替えることができます。 分割ボタン – ボタン(通常はデフォルトのアクションを呼び出す)と、関連する二次アクションを含むドロップダウンリストを組み合わせたコントロール サイクルボタン - ボタンの内容を2つ以上の値で順番に切り替えることで、複数の項目の中から1つを選択できるようにするボタン。スライダー – バー上でハンドルを上下(垂直スライダー)または左右(水平スライダー)に動かして値(またはハンドルが2つある場合は範囲)を選択できるコントロール。このバーを使用すると、ユーザーは許容値の範囲内で値や処理を調整できます。リストボックス とは、静的な複数行テキストボックス内に含まれるリストから、ユーザーが1つまたは複数の項目を選択できるようにするグラフィカルなコントロール要素です。スピナー – 値入力コントロール。上下の小さなボタンで値の範囲を段階的に切り替えることができます。ドロップダウンリスト – 選択可能な項目の一覧。通常、このリストは特別なボタンやインジケーターがクリックされた場合にのみ項目が表示されます。メニュー – 複数の操作をコントロールし、クリックして選択してアクティブ化できます。 コンテキストメニュー –メニューが呼び出された時点のコンテキスト または状態に応じて内容が変化するタイプのメニュー。パイメニュー – 選択が方向によって決まる円形のコンテキストメニューメニューバー – ドロップダウンメニューを含むグラフィカルなコントロール要素ツールバー – 画面上のボタン、アイコン、メニュー、その他の入力要素または出力要素を配置するグラフィカルな制御要素 リボン – メニューとツールバーのハイブリッドで、タブ付きインターフェースを通して、多数のコマンドを視覚的なレイアウトで表示する。コンボボックス (メニュー 付きテキストボックス またはリストボックス ) – 1行テキストボックス とドロップダウンリスト またはリストボックス を組み合わせたもので、ユーザーはコントロールに直接値を入力するか、既存のオプションのリストから選択することができます。アイコン – ソフトウェアツール、機能、またはデータファイルを素早く理解できるシンボル。ツリービュー – 情報の階層構造を表示するグラフィカルな制御要素グリッドビュー またはデータグリッド とは、スプレッドシート のような表 形式のデータ表示方法で、行と列に数値やテキストを入力できます。
ナビゲーション リンク – クリックすると別の画面やページに移動することを示す何らかの表示(通常は下線や色)が付いたテキスト。タブ – 複数のドキュメントやパネルを単一のウィンドウ内に表示できるグラフィカルなコントロール要素スクロールバー – 連続したテキスト、画像、またはその他のコンテンツをあらかじめ決められた方向(上、下、左、右)にスクロールできるグラフィカルな制御要素。
テキスト/値入力テキストボックス (編集フィールド) - ユーザーがテキストを入力できるようにするためのグラフィカルなコントロール要素
出力 ラベル – 他のウィジェットを説明するために使用されるテキストツールチップ – マウスカーソルを他のコントロールの上に重ねたときに表示される情報ウィンドウ風船の助け ステータスバー – ウィンドウの下部によく表示される情報領域を示すグラフィカルなコントロール要素プログレスバー – ダウンロード、ファイル転送、インストールなど、長時間のコンピュータ操作の進行状況を視覚化するために使用されるグラフィカルな制御要素。インフォバー – 多くのプログラムで、ユーザーに重要度の低い情報を表示するために使用されるグラフィカルなコントロール要素
容器 ウィンドウ – プログラムのグラフィカルユーザーインターフェース要素の一部を含む視覚領域で構成されるグラフィカル制御要素。折りたたみ式パネル – ウィジェットのタブをクリックすることで非表示または表示できる、コンテンツをコンパクトに格納できるパネル。 引き出し :補助コンテンツを含む側面シートまたは表面で、画面の左端または右端に固定したり、引き出したり、押し出したりすることができます。 [ 6 ] アコーディオン – ラベルやサムネイルなどのアイテムが縦に積み重ねられたリストで、各アイテムを「展開」して関連コンテンツを表示できる。モーダルウィンドウ とは、アプリケーションのメインウィンドウに従属するグラフィカルな制御要素であり、メインウィンドウが使用できないモードを作成するものです。ダイアログボックス – ユーザーに情報を伝え、応答を促す小さなウィンドウパレットウィンドウ (ユーティリティウィンドウとも呼ばれる)は、通常のウィンドウの上に浮かぶグラフィカルなコントロール要素で、現在のアプリケーションに必要なツール、コマンド、情報にすぐにアクセスできます。 インスペクターウィンドウ – 選択したオブジェクトの現在の属性の一覧を表示し、これらのパラメータをその場で変更できるダイアログウィンドウの一種。フレーム – グラフィック制御要素の集合をグループ化して関係性を視覚的に示すことができるボックスの一種。キャンバス – グラフィック情報を表現するための汎用的な描画要素カバーフロー – 文書、ウェブサイトのブックマーク、アルバムのアートワーク、写真などのスナップショットを視覚的にめくる、アニメーション化された3次元要素。バブルフロー とは、ユーザーがディスカッションスレッドのツリービュー全体を閲覧したり操作したりできる、アニメーション化された2次元要素です。カルーセル(コンピューティング) – ウェブサイトやモバイルアプリで、ユーザーが素早く閲覧できるような形でビジュアルカードを表示するために使用されるグラフィカルウィジェット。
参考文献 ↑ 「Microsoft: グラフィック要素」 . msdn.microsoft.com . Microsoft . 2015年 4月27日 取得 。 ↑ McCormack, Joel; Asente, Paul (1988). 「Xツールキットの概要」 . 第1回ACM SIGGRAPHユーザーインターフェースソフトウェアシンポジウム議事録 . pp. 46–55 . doi : 10.1145/62402.62407 . ISBN 0897912837 . S2CID 12924752 . ↑ Swick, Ralph R.; Weissman, Terry (1988). X Toolkit Widgets - C Language X Interface . p. 1 . ↑ Ralph R. Swick、Mark S. Ackerman (1988)。 「The X Toolkit: More Bricks for Building User-Interfaces –or– Widgets for Hire」 。USENIX Winter。pp . 221–228 。 2022年11月20 日 取得 。 ↑ 「ウィジェットとは? - WhatIs.com の定義」 . WhatIs.com . 2020年6月3日 取得 . ↑ https://material-ui.com/demos/drawers/ドロワー React コンポーネント - Material-UI
外部リンク パッケージ化されたWebアプリケーション(ウィジェット)-パッケージングとXML構成(第2版)-W3C勧告 2012年11月27日 ウィジェット1.0:ウィジェットの現状(2008年第1四半期)。W3Cワーキングドラフト 2008年4月14日 ウィジェットの標準化に関する要件。W3Cワーキンググループノート、2011年9月27日