<menus>要素はプログラム内で使用されるメニューを定義します。Shareazaには多くのメニューがあり、各メニューはそれぞれを特定できるような独自の名前が割り当てられています。スキンでは全てのメニュー、または任意のいくつかのメニューのデザインを上書きすることができます。現在、メニューがどのように設定されているかについてはdefault-en.xmlを参照して下さい。
次のMyMenuSkin.xmlは簡単な例です:
<?xml version="1.0" encoding="UTF-8"?> <skin xmlns="http://www.shareaza.com/schemas/Skin.xsd" version="1.0"> <manifest name="My Menu Skin" author="Me" type="Skin"/> <menus> <menu name="CHomeWnd"> <item id="ID_TAB_HOME" text="_Home"/> <item id="ID_TAB_LIBRARY" text="_Library"/> <item id="ID_TAB_NETWORK" text="_Network"/> <item id="ID_TAB_TRANSFERS" text="_Transfers"/> <separator/> <item id="ID_TAB_CONNECT" text="_Connect"/> <item id="ID_NETWORK_SEARCH" text="New _Search..."/> </menu> </menus> </skin> |
それぞれのメニューはname属性によって命名された<menu>要素を持っています。現在割り当てられているメニュー名のリストはこのセクションの最後にあります(非常に沢山あります!)。
各メニューは一つ以上のアイテムを含み、それは<item>、<separator>、またはサブメニュー(<menu>)の内のどれかになります。
メニューアイテム
メニューアイテムは<item/>要素で作成される、メニューで最も一般的な要素です。各メニューは以下の属性を持っています:
- id - メニューアイテムのコマンドIDで、実際の動作を制御します
- text - メニューアイテムのアイコンの横に表示されるテキスト
セパレータ
セパレータは<separator/>要素で作成され、メニューで2番目に一般的な要素です。セパレータには追加属性はなく、コマンドの分類用にメニュー内に単純な区切り線を作るために使用されます。
サブメニュー
サブメニューやポップアップメニューを作成することで、既存のメニューを階層化することができます。これは総合的な操作を単純化する為、コマンドの論理的なグループ分けを行います。サブメニューを作成するのは簡単で、ただ単に既存メニュー内に新しい<menu>要素を追加するだけです。メニューとの唯一の違いはname属性を割り当てる必要はなく、代わりにサブメニューの表示方を決めるtext属性を割り当てるということだけです。
例:
<?xml version="1.0" encoding="UTF-8"?> <skin xmlns="http://www.shareaza.com/schemas/Skin.xsd" version="1.0"> <manifest name="My Menu Skin" author="Me" type="Skin"/> <menus> <menu name="CHomeWnd"> <item id="ID_TAB_HOME" text="_Home"/> <item id="ID_TAB_LIBRARY" text="_Library"/> <item id="ID_TAB_NETWORK" text="_Network"/> <item id="ID_TAB_TRANSFERS" text="_Transfers"/> <separator/> <menu text="_Advanced (Sub-Menu)"> <item id="ID_VIEW_SECURITY" text="Se_curity" shortcut="F7"/> <item id="ID_VIEW_HOSTS" text="H_ost Cache" shortcut="F8"/> <item id="ID_VIEW_DISCOVERY" text="Disco_very" shortcut="F9"/> <item id="ID_VIEW_TRAFFIC" text="_Graph" shortcut="F10"/> </menu> <item id="ID_TAB_CONNECT" text="_Connect"/> <item id="ID_NETWORK_SEARCH" text="New _Search..."/> </menu> </menus> </skin> |
メニュー名
nameの最新のバージョンに関してはスキンフォルダのdefault-en.xmlを参照してください。現在のメニュー名のリスト:
メニュー | 説明 |
CMainWnd.Windowed | ウィンドウモード時のメインウィンドウメニュー |
CMainWnd.Tabbed | タブモード時のメインウィンドウメニュー |
CmainWnd.Basic | 標準モード時のメインウィンドウメニュー |
CMainWnd.View.Windowed | ユーザが右クリック時の表示ポップアップメニュー。ウィンドウモード用 |
CMainWnd.View.Tabbed | ユーザが右クリック時の表示ポップアップメニュー。タブモード用 |
CMainWnd.Tray | システムトレイのポップアップメニュー |
CSystemWnd | システムウィンドウ内のポップアップメニュー |
CNeighboursWnd | 近隣(neighbours)ウィンドウ内のポップアップメニュー |
CHostCacheWnd | ホストキャッシュウィンドウ内のポップアップメニュー |
CSearchWnd | 検索ウィンドウ内のポップアップメニュー |
CHitMonitorWnd | ヒットモニタウィンドウ内のポップアップメニュー |
CSearchMonitorWnd | 検索モニタウィンドウ内のポップアップメニュー |
CDownloadsWnd.Download | ダウンロードウィンドウ内でダウンロードを選択した時のポップアップメニュー |
CDownloadsWnd.Source | ダウンロードウィンドウ内で転送またはソースを選択した時のポップアップメニュー |
CDownloadsWnd.Completed | ダウンロードウィンドウ内で完了ダウンロードを選択した時のポップアップメニュー |
CLibraryWnd.Folder | ライブラリウィンドウ内でフォルダを選択した時のポップアップメニュー |
CLibraryWnd.File | ライブラリウィンドウ内でファイルを選択した時のポップアップメニュー |
CUploadsWnd | アップロードウィンドウ内のポップアップメニュー |
CTrafficWnd | 転送グラフウィンドウ内のポップアップメニュー |
CSecurityWnd | セキュリティウィンドウ内のポップアップメニュー |
CDiscoveryWnd | ディスカバリサービスウィンドウ内のポップアップメニュー |
CBrowseHostWnd | ホスト参照ウィンドウ内のポップアップメニュー |
CHomeWnd | ホームウィンドウ内のポップアップメニュー |