Aug 21, 2026 · ishimoto

ナビゲーションエディタ

ナビゲーションエディタ

アプリケーションのメニュー、つまりナビゲーションバーは、Navigationbar/ フォルダ内の plist ファイルで定義されます(プロジェクト構成 の記事で登場しました)。ナビゲーションエディタを使うと、NeXTSTEP の plist を手書きする代わりに、 これらを視覚的なツリーとして編集できます。

Overview


階層化されたメニュー

TreasureBoat のナビゲーションは 階層化 されています。表示されるメニューは 3 つのソースから 組み立てられ、エディタは各項目がどこから来たのかが分かるように印を付けます。

  • [F] フレームワーク項目 — 依存しているフレームワークが提供する項目です。ここでは 読み取り専用 です。変更したい場合は、そのフレームワークのプロジェクトを直接開いてください。
  • [S] 共有項目 — 自分のアプリで定義され、すべての FaceID で利用できる項目です。
  • FaceID 項目 — 特定の FaceID に属する項目です。

FaceID

アプリケーション では、左パネルに FaceID の一覧が表示されます。それぞれが独立したメニュー 設定(ロールごと、セクションごと、テナントごと)です。FaceID を選ぶと、そのツリーを編集できます。 フレームワーク には FaceID はなく、フレームワークの項目を直接編集します。


項目を編集する

ツリーでノードを選択すると、プロパティパネルにその項目が何を指しているかが表示されます。よく使う ものは次のとおりです。

プロパティ 説明
name 項目の内部識別子
displayName メニューに表示されるラベル
pageName 開く TBComponent のページ
action ページの代わりに呼び出すアクションメソッド
href 外部 URL
directActionClass / directActionName 呼び出すダイレクトアクション
roleIdentifier このロールを持つユーザーだけに項目が表示されます(アクセス制御)
conditions 項目が表示される条件
domains ドメイン制限(マルチドメインアプリ向け)
target リンクのターゲット(例:_blank

ツリーのツールバーで、項目の追加・削除・並べ替え、およびツリー全体の展開・折りたたみができます。

Tree


知っておくと便利なこと

  • フレームワーク項目はアプリ内では読み取り専用です。 これは意図的な設計です。この階層構造により、フレームワークはデフォルトのメニューを提供でき、アプリはそれをフォークすることなく拡張できます。[F] の項目を変更するには、そのフレームワークを編集してください。
  • FaceID は、1 つのアプリで異なるメニューを表示するための仕組みです — ロールごと、セクションごと、テナントごとに、1 つのナビゲーション設定から切り替えます。
  • roleIdentifier は本物のアクセス制御です。ユーザーが該当ロールを持たない項目は、そのユーザーのメニューにそもそも表示されません。

関連記事


#IntelliJ #日本語

← Back to the blog