タイトル鶴薗賢吾のCocoaはやっぱり!出張版》#6 - ツールバー(4)カテゴリーユーザインタフェース, Cocoa, 鶴薗賢吾のCocoaはやっぱり!出張版
作成日2001/12/17 22:58:34作成者新居雅行
―――――表示モードによる挙動の変化

 ̄ ̄ ̄3つの表示モード___

ツールバーには3つの表示モードがあります。「 Icon & Text 」と「 Icon Only 」と「 Text Only 」です。変更は、設定パレットの下部のポップアップボタンで行います。

◇表示モードの変更
 

ちょっと補足:表示モードを変えるには別の方法もあります。ツールバーのコンテキストメニューから選ぶ方法と、ウィンドウの右上のボタンをコマンドキーを押したままクリックする方法です。

注目すべきなのは、Text Onlyモードです。このモードでは、ツールバーアイテムがテキストで表示されるため、各ツールバーアイテムは、複雑な形状は持てません。

◇Text Onlyモードでの表示
 

ただし、単なるボタンになってしまってはビューアイテムの機能を実現することは困難ですので、各ツールバーアイテムにはメニューを付けることができるようになっています。Font Styleアイテムからは以下のようなメニューが表示されます。

◇Text OnlyモードでのFont Styleアイテム
 

Mailアプリケーションの検索機能のようなものは、メニューでも代用できませんので、使えなくなるという仕様になっています。ビューアイテムの場合は、メニューを付けなければ自動的に使えなくなります。ただし、メニューから検索文字列を入れるダイアログが表示させるという方法も考えられます。

◇Text OnlyモードでのMailのツールバー
 

メニューの作成は、一般のCocoaアプリケーションと同じでInterface Builderで行います。このサンプルでは、以下のように2つのメニューがあることがわかります。

◇MainMenu.nibの中のメニュー
 

このサンプルでは、Controllerというインスタンスからメニューを利用していますので、参照のためのアウトレットを用意してコネクトしています。Font Styleメニューは以下のようにfontStyleMenuというアウトレットにコネクトしています。

◇ツールバーアイテムのメニューとのコネクト
 

メニューのアクションのコネクトもいつものとおり行えますので、メニューから実行されるアクションもコネクトしておきます。

 ̄ ̄ ̄オーバーフローメニュー___

Icon & Textモードや、Icon Onlyモードでも、ウィンドウの横幅が狭くなると、ツールバーに入りきらないアイテムは強制的にメニューにされてしまいます。このメニューを「 オーバーフローメニュー ( Overflow Menu ) 」と呼びます。Text Onlyモードのときと同じメニューが使用されます。

◇オーバーフローメニュー
 

 ̄ ̄ ̄ツールバーアイテムのおさらい___

これで、ツールバーとツールバーアイテムの大体の機能を見ることが出来ましたので、ツールバーアイテムのおさらいをしてみます。ツールバーアイテムは、以下のようになっています。イメージアイテムとビューアイテムに分けて書いておきます。

イメージアイテムの特徴

  • 画像とラベルで表示される。
  • 設定パネル用にパレットラベルを持つ。ツールチップを持つ。
  • プロジェクトには画像ファイルを用意する。
  • アクションを1つ持つ。アイテムとのコネクトはコード上から行う。
  • テキスト表示の時のメニューを持つことができる(通常は使わない)。

ビューアイテムの特徴

  • カスタムビューとラベルで表示される。
  • 設定パネル用にパレットラベルを持つ。ツールチップを持つ。
  • プロジェクトには、カスタムビューの入ったnibファイルを用意する。
  • アクションは、カスタムビューの中の部品をコネクトしておく(コード上での指定も可能)。
  • テキスト表示の時のメニューを持つことが出来る(nibファイル内に用意するのが簡単)。

(この項続く)
[鶴薗賢吾]
関連リンクCocoaはやっぱり!