メニュー
特定のイベント機能を備えたキーボードナビゲーションメニュー。
lib.registerMenu
指定された ID でメニューを登録し、キャッシュします。
Lua
lib.registerMenu(data, cb)- のデータがある:
table(object)- id.K.である:
string - というタイトルをつけた:
string - のオプションがある:
table(array)- のラベルが貼られている:
string - 進捗状況は?
number - colorScheme?
string - アイコンは?
string- 左側に表示される FontAwesome アイコンは、通知や textui アイコンと同じように機能します。
- また、画像 URL、png、webp ファイルをサポートしていますが、フォントの素晴らしいアイコンを超えて使用することはお勧めしません。
- iconColor?
string - iconAnimation?
'spin''spinPulse''spinReverse''pulse''beat''fade''beatFade''bounce''shake' - 価値観?
string[]または{ label: string, description: string }[]- 指定すると、横スクロール可能なリストを作成する。
- オブジェクトと設定の説明を使用すると、設定された説明がメニューのツールチップに表示されます。
- チェックした?
boolean- true または false のいずれかを設定すると、ボタンはチェックボックスになります。
valuesも提供されている場合、ボタンは スクロール可能なリストになります。
- true または false のいずれかを設定すると、ボタンはチェックボックスになります。
- という記述がある:
string- メニューの下にツールチップを表示します。
- defaultIndex?
number- リストの現在のインデックスを指定された数に設定する。
- 引数?
{[string]: any}- ボタンに引数を渡すことができる。
- ボタンに
valuesではisScrollが自動的に渡される。 - ボタンに
checkedを true または false に設定する。isCheckが自動的に渡される。
- クローズ?
boolean- false に設定すると、このオプションを操作してもメニューは閉じない。
- のラベルが貼られている:
- ポジションは?
'top-left'または'top-right'または'bottom-left'または'bottom-right'- デフォルト:
'top-left'
- デフォルト:
- disableInput?
boolean- デフォルト:
false
- デフォルト:
- を閉じることができる:
boolean- false に設定すると、ユーザーはいずれかのボタンを押さなければメニューを終了できなくなる。
- onClose:
function(keyPressed?'Escape' | 'Backspace')- ESC/Backspace でメニューを終了したときに実行される機能。
- onSelected:
function(選ばれた:numberセカンダリー:number|boolean引数:{[string]: any})- メニューで選択されているボタンが変化したときに実行される機能。
- onSideScroll:
function(選ばれた:numberscrollIndex:number引数:{[string]: any})- スクロールリストの項目が変更されるたびに実行される関数。
- オンチェック:
function(選ばれた:numberチェックした:boolean引数:{[string]: any})- チェックボックスがトグルされるたびに実行される関数。
- id.K.である:
- cb:
function(選ばれた:numberscrollIndex:number引数:{[string]: any})- メニュー項目が押されたときのコールバック関数。
lib.showMenu
指定された ID のメニューを表示する。
Lua
lib.showMenu(id)- id.K.である:
string
lib.hideMenu
Lua
lib.hideMenu(onExit)- onExit?
boolean- true の場合、メニューの
onClose関数である。
- true の場合、メニューの
lib.getOpenMenu
現在開いているメニューの ID を返します。
Lua
lib.getOpenMenu()lib.setMenuOptions
Lua
lib.setMenuOptions(id, options, index)- id.K.である:
string - のオプションがある:
table(objectまたはarray) - インデックス?
number- 指定すると、指定したオプション・インデックスのオプション・テーブルだけを設定する。
指定されたメニューの3番目のインデックスオプションを置き換える
Lua
lib.setMenuOptions('some_menu_id', {label = 'New option', icon = 'plus'}, 3)使用例
まず、指定したオプションでメニューを登録し、次にコマンドの show 関数を呼び出す。
外部の値に依存しないメニュー(静的メニュー)を常に再登録することは避けてください。
Lua
lib.registerMenu({
id = 'some_menu_id',
title = 'Menu title',
position = 'top-right',
onSideScroll = function(selected, scrollIndex, args)
print("Scroll: ", selected, scrollIndex, args)
end,
onSelected = function(selected, secondary, args)
if not secondary then
print("Normal button")
else
if args.isCheck then
print("Check button")
end
if args.isScroll then
print("Scroll button")
end
end
print(selected, secondary, json.encode(args, {indent=true}))
end,
onCheck = function(selected, checked, args)
print("Check: ", selected, checked, args)
end,
onClose = function(keyPressed)
print('Menu closed')
if keyPressed then
print(('Pressed %s to close the menu'):format(keyPressed))
end
end,
options = {
{label = 'Simple button', description = 'It has a description!'},
{label = 'Checkbox button', checked = true},
{label = 'Scroll button with icon', icon = 'arrows-up-down-left-right', values={'hello', 'there'}},
{label = 'Button with args', args = {someArg = 'nice_button'}},
{label = 'List button', values = {'You', 'can', 'side', 'scroll', 'this'}, description = 'It also has a description!'},
{label = 'List button with default index', values = {'You', 'can', 'side', 'scroll', 'this'}, defaultIndex = 5},
{label = 'List button with args', values = {'You', 'can', 'side', 'scroll', 'this'}, args = {someValue = 3, otherValue = 'value'}},
}
}, function(selected, scrollIndex, args)
print(selected, scrollIndex, args)
end)
RegisterCommand('testmenu', function()
lib.showMenu('some_menu_id')
end)
Last updated on