# Copyright 2005, @Last Software, Inc. # This software is provided as an example of using the Ruby interface # to SketchUp. # Permission to use, copy, modify, and distribute this software for # any purpose and without fee is hereby granted, provided that the above # copyright notice appear in all copies. # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #----------------------------------------------------------------------------- require 'sketchup.rb' #----------------------------------------------------------------------------- def newToolbarTest toolbar = UI::Toolbar.new "Test" end def addItemToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.show if (toolbar) UI.messagebox toolbar else UI.messagebox "Failure" end end def addSeparatorToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar = toolbar.add_separator cmd2 = UI::Command.new($tStrings.GetString("Test Two")) { helloWorld } cmd2.small_icon = "ToolPencilSmall.png" cmd2.large_icon = "ToolPencilLarge.png" cmd2.tooltip = $tStrings.GetString("Test Toolbars") cmd2.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd2.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd2 toolbar.show if (toolbar) UI.messagebox toolbar else UI.messagebox "Failure" end end def getLastStateToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.show state = toolbar.get_last_state if (state) UI.messagebox state else UI.messagebox "Failure" end end def hideToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.show UI.messagebox "Toolbar Showing" toolbar.hide UI.messagebox "Toolbar Hidden" end def restoreToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.restore end def showToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.show end def visibleToolbarTest toolbar = UI::Toolbar.new "Test" # This toolbar tool simply displays Hello World on the screen when clicked cmd = UI::Command.new($tStrings.GetString("Test")) { helloWorld } cmd.small_icon = "ToolPencilSmall.png" cmd.large_icon = "ToolPencilLarge.png" cmd.tooltip = $tStrings.GetString("Test Toolbars") cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class") cmd.menu_text = $tStrings.GetString("Test") toolbar = toolbar.add_item cmd toolbar.show status = toolbar.visible? if (status) UI.messagebox status else UI.messagebox status end end def helloWorld UI.messagebox "Hello World" end if( not file_loaded?("toolbartests.rb") ) # This will add a separator to the menu, but only once add_separator_to_menu("Plugins") plugins_menu = UI.menu("Plugins") ToolbarTest_menu = plugins_menu.add_submenu("Toolbar Tests") ToolbarTest_menu.add_item("Toolbar.new") { newToolbarTest } ToolbarTest_menu.add_item("Toolbar.add_item") { addItemToolbarTest } ToolbarTest_menu.add_item("Toolbar.add_separator") { addSeparatorToolbarTest } ToolbarTest_menu.add_item("Toolbar.get_last_state") { getLastStateToolbarTest } ToolbarTest_menu.add_item("Toolbar.hide") { hideToolbarTest } ToolbarTest_menu.add_item("Toolbar.restore") { restoreToolbarTest } ToolbarTest_menu.add_item("Toolbar.show") { showToolbarTest } ToolbarTest_menu.add_item("Toolbar.visible?") { visibleToolbarTest } end #----------------------------------------------------------------------------- file_loaded("toolbartests.rb")