# 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 addFrameChangeObserverPagesTest model = sketchup.acitve_model pages = model.pages end def removeFrameChangeObserverPagesTest end def getPagePagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" page = pages "Page 2" if (page) UI.messagebox page else UI.messagebox "Failure" end end def addPagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" if (status) UI.messagebox status else UI.messagebox "Failure" end end def eachPagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" pages.each {|page| UI.messagebox page} end def parentPagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" model = pages.parent if (model) UI.messagebox model else UI.messagebox "Failure" end end def selectedPagePagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" page = pages.selected_page if (page) UI.messagebox page else UI.messagebox "Failure" end end def showFrameAtPagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" status = pages.show_frame_at 10 if (status) UI.messagebox status else UI.messagebox "Failure" end end def sizePagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" size = pages.size if (size) UI.messagebox size else UI.messagebox "Failure" end end def slideshowTimePagesTest model = Sketchup.active_model pages = model.pages status = pages.add "Page 1" status = pages.add "Page 2" status = pages.show_frame_at 10 time = pages.slideshow_time if (time) UI.messagebox time else UI.messagebox "Failure" end end if( not file_loaded?("pagestests.rb") ) # This will add a separator to the menu, but only once add_separator_to_menu("Plugins") plugins_menu = UI.menu("Plugins") Pages_menu = plugins_menu.add_submenu("Pages Tests") Pages_menu.add_item("Pages.add_frame_change_observer") { addFrameChangeObserverPagesTest } Pages_menu.add_item("Pages.remove_frame_change_observer") { removeFrameChangeObserverPagesTest } Pages_menu.add_item("Pages.[]") { getPagesTest } Pages_menu.add_item("Pages.add") { addPagesTest } Pages_menu.add_item("Pages.count") { countPagesTest } Pages_menu.add_item("Pages.each") { eachPagesTest } Pages_menu.add_item("Pages.parent") { parentPagesTest } Pages_menu.add_item("Pages.selected_page") { selectedPagePagesTest } Pages_menu.add_item("Pages.show_frame_at") { showFrameAtPagesTest } Pages_menu.add_item("Pages.size") { sizePagesTest } Pages_menu.add_item("Pages.slideshow_time") { slideshowTimePagesTest } end #----------------------------------------------------------------------------- file_loaded("pagestests.rb")