类:UI::Command

继承:
对象
  • 对象
show all

概述

Command类是向菜单和Ruby工具栏添加工具的首选类。例如,可以添加菜单项并直接向其传递代码块,也可以先创建命令。

使用命令可以更好地控制项在UI中的工作方式,并且允许UI中的多个点调用相同的代码。例如,您可能希望工具栏按钮和上下文单击菜单项都指向同一命令,并从代码中的单个位置控制工具提示及其“灰显”。

示例:

# You can add menu items as procedure blocks, as shown here, but
# you have no control over whether it is grayed out, for example.
UI.menu("Draw").add_item("My Procedure") {
  UI.messagebox("My Procedure")
}

# Better to create a command object.
cmd = UI::Command.new("Tester") {
  UI.messagebox("My Command")
}
cmd.menu_text = "My Command"
cmd.set_validation_proc {
  if Sketchup.active_model.selection.length == 0
    MF_GRAYED
  else
    MF_ENABLED
  end
}
UI.menu("Draw").add_item cmd

版本:

  • SketchUp 6.0

类方法摘要# collapse

实例方法摘要# collapse

类方法详细信息

.new(menutext) { ... } ⇒ UI::Command

注:

在SketchUp 2019之前,不可能对UI::Command由于SketchUp初始化类的方式中存在错误。

新方法用于创建新命令。

示例:

UI.menu("Draw").add_separator

# Adds a Test submenu to the Draw menu where the Tester menu item appears
testmenu = UI.menu("Draw").add_submenu("Test")

# This menu item simply displays Hello World on the screen when clicked.
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
testmenu.add_item cmd

参数:

  • menutext (String)

    此命令的菜单项(如果出现在菜单上)将显示的文本。

产量:

  • 选择菜单项或工具栏项时执行命令的代码。

返回值:

版本:

  • SketchUp 6.0

实例方法详细信息

#large_iconString

large_icon方法返回命令的大图标的图标文件。

示例:

toolbar = UI::Toolbar.new "Test"
# This command displays Hello World on the screen when clicked
cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
toolbar = toolbar.add_item cmd
toolbar.show
puts cmd.large_icon

返回值:

  • (String)

    指向大图标的路径。

版本:

  • SketchUp 8.0 M1

#large_icon=(path) ⇒ String

large_icon=方法用于标识命令的大图标的图标文件。大图标应该是24x24像素的图像,以获得最佳的显示质量。

自SketchUp 2016年起,就可以为光标提供矢量图像。SVG格式适用于Windows,PDF格式适用于OS X。由于矢量图像可缩放为小图标和大图标,因此您可以选择仅对两种变体使用一种矢量图像。

示例:

toolbar = UI::Toolbar.new "Test"
# This command displays Hello World on the screen when clicked
cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
toolbar = toolbar.add_item cmd
toolbar.show

参数:

  • path (String)

    指向大图标的路径。

返回值:

版本:

  • SketchUp 6.0

menu_text方法返回命令的菜单项名称。

示例:

add_separator_to_menu("Draw")
# Adds a Test submenu to the Draw menu where the Tester menu item appears
testmenu = UI.menu("Draw").add_submenu("Test")
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.menu_text = "New String"
testmenu.add_item cmd
puts cmd.menu_text

返回值:

版本:

  • SketchUp 8.0 M1

menu_text=方法用于设置命令的菜单项名称。

示例:

add_separator_to_menu("Draw")
# Adds a Test submenu to the Draw menu where the Tester menu item appears
testmenu = UI.menu("Draw").add_submenu("Test")
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.menu_text = "New String"
testmenu.add_item cmd

参数:

  • menuitem (String)

    表示命令的菜单项的字符串。

返回值:

版本:

  • SketchUp 6.0

#set_validation_proc { ... } ⇒ UI::Command

这个#set_validation_proc方法允许您根据用户状态更改命令是否启用、检查等。例如,除非用户有当前选择,否则可能希望禁用命令。

示例:

# Create a command object.
cmd = UI::Command.new("Tester") {
  UI.messagebox("My Command")
}
cmd.menu_text = "My Command"
cmd.set_validation_proc {
  if Sketchup.active_model.selection.length == 0
    MF_GRAYED
  else
    MF_ENABLED
  end
}
UI.menu("Draw").add_item(cmd)

产量:

产量返回值:

  • (整数)

    MF_ENABLED,MF_DISABLED,MF_CHECKED,MF_UNCHECKED,或MF_GRAYED

返回值:

版本:

  • SketchUp 6.0

#small_iconString

smallŠicon方法返回命令的小图标的图标文件。

示例:

toolbar = UI::Toolbar.new "Test"
# This toolbar command displays Hello World on the screen when clicked.
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
toolbar = toolbar.add_item cmd
toolbar.show
puts cmd.small_icon

返回值:

  • (String)

    指向small_icon的路径

版本:

  • SketchUp 8.0 M1

#small_icon=(path) ⇒ String

small_icon=方法用于标识命令的小图标的图标文件。小图标应该是16x16像素的图像,以获得最佳的显示质量。

自SketchUp 2016年起,就可以为光标提供矢量图像。SVG格式适用于Windows,PDF格式适用于OS X。由于矢量图像可缩放为小图标和大图标,因此您可以选择仅对两种变体使用一种矢量图像。

示例:

toolbar = UI::Toolbar.new "Test"
# This toolbar command displays Hello World on the screen when clicked.
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
toolbar = toolbar.add_item cmd
toolbar.show

参数:

  • path (String)

    指向小图标的路径。

返回值:

版本:

  • SketchUp 6.0

#status_bar_textString

status_bar_text方法返回命令的状态栏文本。

示例:

toolbar = UI::Toolbar.new "Test"
# This toolbar tool simply displays Hello World on the screen
# when clicked
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
toolbar = toolbar.add_item cmd
toolbar.show
puts cmd.status_bar_text

返回值:

  • (String)

    状态栏文本。

版本:

  • SketchUp 8.0 M1

#status_bar_text=(text) ⇒ String

status_bar_text=方法用于设置命令的状态栏文本。

示例:

toolbar = UI::Toolbar.new "Test"
# This toolbar tool simply displays Hello World on the screen when clicked
cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
cmd.small_icon = "ToolPencilSmall.png"
cmd.large_icon = "ToolPencilLarge.png"
cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
toolbar = toolbar.add_item cmd
toolbar.show

参数:

  • text (String)

    光标位于命令菜单项上时状态栏上显示的文本。

返回值:

版本:

  • SketchUp 6.0

#tooltipString

tooltip方法返回命令项的工具提示文本。

示例:

toolbar = UI::Toolbar.new "Test"
# This command displays Hello World on the screen when clicked
cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
cmd.tooltip = "Hello World Tool"
toolbar = toolbar.add_item cmd
toolbar.show
puts cmd.tooltip

返回值:

  • (String)

    工具提示文本

版本:

  • SketchUp 8.0 M1

#tooltip=(text) ⇒ String

tooltip=方法用于定义命令项的工具提示文本。当命令附加到工具栏并且用户将光标悬停在图标上时,工具提示将出现。

示例:

toolbar = UI::Toolbar.new "Test"
# This command displays Hello World on the screen when clicked
cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
cmd.tooltip = "Hello World Tool"
toolbar = toolbar.add_item cmd
toolbar.show

参数:

  • text (String)

    工具提示的文本。

返回值:

版本:

  • SketchUp 6.0