KDE 3.0 アーキテクチャ/システムリソースへのアクセス/アイコンのローディング - 旧 Wiki アーカイブ
オリジナル : http://developer.kde.org/documentation/library/kdeqt/kde3arch/iconloader.html
Loading and installing icons in KDE
1. 初めに
アイコンはどのデスクトップ環境においても重要なユーザーインターフェースの一部です。
ユーザーの設定やビデオハードウェアが原因で、同じアイコンでも、異なったサイズや色深度で表示されます。
これを制御するために、アイコンを保存し、またアクセスする為の標準的な方法が開発されています。
2. Loading icons
アイコンローダーへのアクセス
アイコンはKIconLoader?クラスを用いてロードされます。
どのKDEアプリケーションもグローバルアイコンローダを所持しています。
このオブジェクトには下の様な方法でアクセスできます。
#include <kglobal.h> #include <kiconloader.h> KIconLoader *loader = KGlobal::iconLoader();
loadIconを使ってアイコンをロード
アイコンローダはアイコンをロードし、キャッシュを作り、エフェクトを加えます。 アイコンをロードするには、loadIconメソッドを使います。このように定義されています。
QPixmap loadIcon(QString name, int group, int size=0, int state=KIcon::DefaultState, QString *path_store=0L, bool canReturnNull=false);
上のように、多くの引数を取ります。最初の二つは最も重要です。
name | ロードするアイコンの名前。拡張子なしにiconの名前を指定しなければなりません。 |
group | アイコングループ。下で説明します. |
アイコングループ
アイコングル‐プという考え方はKDEのアイコンの仕組みのなかで重要な概念です。
アイコングループはそのアイコンがスクリーン上のどこで使用されるかを現しています。
KDEユーザーはアイコンのサイズと視覚効果を設定できるので、これは関連性があります。
アイコングループをアイコンローダーに渡すということは、実際にはどのアイコンの実体をロードするのかをローダーに指定するということになります。
グループの引数を取ることによって、アイコンローダーはKDEデスクトップ全体のアイコンの一貫した、そして設定可能な見映えを可能にします。
例 : ユーザーは32ピクセルのアイコンをメインツールバーに設定できます。
利用できるアイコングループは下の通りです。これら全てはKIconクラスで宣言されています。
なので実際にはこれらの前にKIcon::をつけて使用します。
Desktop | デスクトップ上のアイコン。ファイルマネージャーやそれに似た場所で使用されます。 |
Toolbar | 通常のツールバー用 |
MainToolbar? | メインツールバー用のアイコン。アプリケーションはいくつかのツールバーを持ちますが、これはメインツールバー用です。通常は外のツールバーよりも大きなアイコンを持ちます。 |
Small | 例えばポップアップメニューやリストビュー、ツリーリストで用いられるような様々な小アイコン |
User | アプリケーション特化のアイコンをロードするためのグループ。これについてはsection3を見て下さい。 |
Desktopグループで"kfind"アイコンをロードするには以下のようにします。
QPixmap icon; icon = loader->loadIcon("kfind", KIcon::Desktop);
外のパラメータも見てみましょう。
size | 特定のアイコングループに設定されたサイズを上書きします。影響はそのグループのアイコン全体に及びます。 |
state | アイコンの状態を示します。stateはKIcon::DefaultState?、KIcon::ActiveState?、KIcon::DisableState?のうちのどれかです。例えばツールバーのボタンは、マウスが上に有るときはactiveに、有効でない時はdisableに、それ以外のときはdefaultになっています。それぞれの状態は視覚的にも変ります。 |
path_store | アイコンがどこからロードされたか知りたければ、ここにQStringのポインタを渡すとアイコンのパスが保管されます。 |
canReturnNull? | アイコンが見付からなかった場合、結果はこのパラメータに依存します。canReturnNULLがtrueなら、null pixmapが返されます。そうでなければ"unknown"アイコンが返されます。 |
3.アイコンのインストール
アイコンは様々なサイズや色深度になります。これをテーマアイコンと呼ぶことにします。
決まった形で表示されるものをテーマ化されていないアイコンと呼ぶことにします。
デフォルトアイコンサイズ
標準のアイコンのサイズは以下の通りです。
40 Colors: 16x16 pixels 22x22 pixels 32x32 pixels
Truecolor: 22x22 pixels 32x32 pixels 48x48 pixels
それぞれのサイズのアイコンサイズはアイコングループに設定できることを覚えて置いてください。
アイコンコンテクスト
テーマアイコンはディレクトリに階層的に保存されます。それは1.色深度、2.サイズ、3.コンテキストによります。
コンテキストというのはKDEアイコン機構で導入された新しい概念です。
アイコンが意味しているものがコンテキストです。標準のコンテキストには次のようなものがあります。
action | 例えば"Open"や"Save"といったツールバー内のアクションを示します |
application | "kfind"のようなアプリケーションを示します |
device | "floppy"や"mount"といったデバイスに関係の有るものを示します |
filesystem | "directory"や"socket"、"trashcan"といったファイルシステムに関連するものを示します |
mimetype | "text/html"のようなmimetypeを表します |
コンテキストはアイコンを選ぶ際に非常に重要となります。
アプリケーションがユーザーにアイコンを選んでもらう時、例えばツールバーなら、KDEにインストールされたすべてのアイコンを表示するのはユーザーフレンドリーではありません。
対照的に、ユーザーの為にに"action"アイコンだけを表示するのは非常に良いことです。