最初のステップは、ToolManager
によって制御されるすべてのツールを一覧表示することです。これは、ListTools
という名前のカスタム ツールを作成することで達成できます。ListTools
クラスは ToolBase
から継承されています。ListTools
の trigger()
メソッドは、すべての利用可能なツールの名前、説明、キーマップを表示します。
class ListTools(ToolBase):
"""List all the tools controlled by the `ToolManager`."""
default_keymap = 'm' ## keyboard shortcut
description = 'List Tools'
def trigger(self, *args, **kwargs):
print('_' * 80)
fmt_tool = "{:12} {:45} {}".format
print(fmt_tool('Name (id)', 'Tool description', 'Keymap'))
print('-' * 80)
tools = self.toolmanager.tools
for name in sorted(tools):
if not tools[name].description:
continue
keys = ', '.join(sorted(self.toolmanager.get_tool_keymap(name)))
print(fmt_tool(name, tools[name].description, keys))
print('_' * 80)
fmt_active_toggle = "{!s:12} {!s:45}".format
print("Active Toggle tools")
print(fmt_active_toggle("Group", "Active"))
print('-' * 80)
for group, active in self.toolmanager.active_toggle.items():
print(fmt_active_toggle(group, active))