# 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 getValueOptionsManagerTest model = Sketchup.active_model manager = model.options provider = manager[0] name = provider.name if (name) UI.messagebox name else UI.messagebox "Failure" end end #each and each_pair are the same. each_pair is an alias for each # The available option providers are: # PageOptions, AxisOptions, SlideshowOptions, UnitsOptions, NamedOptions def eachOptionsManagerTest model = Sketchup.active_model manager = model.options # Retrieves each provider manager.each { |provider| UI.messagebox provider.name } end # Keys lists all of the option providers in an array def keysOptionsManagerTest model = Sketchup.active_model manager = model.options key = manager.keys if (key) UI.messagebox key else UI.messagebox "Failure" end end # Size and count are the same. Count is an alias for Size. def sizeOptionsManagerTest model = Sketchup.active_model manager = model.options begin # First provider is PageManager provider = manager[0] rescue UI.messagebox $!.message end size = manager.size if (size) UI.messagebox size else UI.messagebox "Failure" end end if( not file_loaded?("optionsmanagertests.rb") ) # This will add a separator to the menu, but only once add_separator_to_menu("Plugins") plugins_menu = UI.menu("Plugins") OptionsManager_menu = plugins_menu.add_submenu("OptionsManager Tests") OptionsManager_menu.add_item("OptionsManager.[]") { getValueOptionsManagerTest } OptionsManager_menu.add_item("OptionsManager.each") { eachOptionsManagerTest } OptionsManager_menu.add_item("OptionsManager.keys") { keysOptionsManagerTest } OptionsManager_menu.add_item("OptionsManager.size") { sizeOptionsManagerTest } end #----------------------------------------------------------------------------- file_loaded("optionsmanagertests.rb")