class Pages

 

Parent: Entity

Class Index

Methods:add_frame_change_observer, remove_frame_change_observer, [], add, count, each, parent, selected_page, show_frame_at, size, slideshow_time

 

Sample Code:pagestests.rb

 

 A collection of Pages in a model.  
 

Class Methods


 

add_frame_change_observer

The add_frame_change_observer method is used to add a new frame change observer for animations

Syntax:

pages.add_frame_change_observer object

Arguments:

object - an object that implements the frameChange method

Return Value:

 

Comments:

The argument is an object that implements a method frameChange with the following form:

def frameChange(fromPage, toPage, parameter)

...

end

This method is called during a slide show or creation of an animation after the camera has been set up, but before the frame is displayed. It give you a chance to perform your own actions during the animation. The arguments for frameChange method are the Page that you transition from (fromPage), the Page that you transition to (toPage), and a parameter between 0 and 1 that tell you the percentage of the way between the two pages.

The method returns an integer that can be used to remove the observer

Example:

number = Sketchup::Pages.add_frame_change_observer FrameChangeObserver.new

---------------

class FrameChangeObserver

     def frameChange(fromPage, toPage, parameter)
   # Just show the information
   #s1 = fromPage ? fromPage.name : "NULL"
   #s2 = toPage ? toPage.name : "NULL"
   #puts "#{s1} to #{s2} at #{parameter}"
   if( parameter < 1.0e-3 )
        get_entities_to_move(toPage)
   else
        move_entities parameter
   end
end

 
 

remove_frame_change_observer

The remove_frame_change_observer method is used to remove a frame change observer

Syntax:

pages.remove_frame_change_observer(observer_num)

Arguments:

 

Return Value:

 

Comments:

The argument is the number returned from the call to add_frame_change_observer.

Example:

number = Sketchup::Pages.remove_frame_change_observer

 
 

Instance Methods

 

[]

The [] method retrieves a page by either name or index.

Syntax:

page = pages[index]

page = pages["name"]

Arguments:

index - the index for a specific page

name - the name of the specific page

Return Value:

page - a Page object if successful

Comments:

 

Example:

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


 

add

The add method is used to add a empty Page object

Syntax:

page = pages.add

page = pages.add name

page = pages.add name, flags

Arguments:

name - the name of the specific page

flags -

Return Value:

 

Comments:

If no name is given, then a new name is generated using the default name for new Pages.

If a name is given, then a new Page with that name is added.

If flags is given, it controls which properties are saved with the new Page. See Page.update for a description of the flags that can be set.

Example:

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


 

count

The count method is an alias for size. See also Page.size

Syntax:

num_pages = pages.count

Arguments:

 

Return Value:

num_pages - the number of pages if successful

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
num = pages.count


 

each

The each method is used to iterate through pages.

Syntax:

pages.each {| page |...}

Arguments:

page – variables that will hold each page as it is found.

Return Value:

 

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
pages.each {|page| UI.messagebox page}


 

parent

The parent method is used to determine the model for the pages.

Syntax:

model = pages.parent

Arguments:

 

Return Value:

model - the model that contains the pages if successful

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
model = pages.parent


 

selected_page

The selected_page method is used to retrieve the currently selected page.

Syntax:

page = pages.selected_page

Arguments:

 

Return Value:

page - the currently selected Page object if successful

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
page = pages.selected_page


 

show_frame_at

The show_frame_at method is used to show a frame in animation (of the slide show) at a given time in seconds.

Syntax:

pages.show_frame_at time_in_seconds

Arguments:

time_in_seconds - the time in seconds

Return Value:

 

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
status = pages.show_frame_at 10


 

size

The size method is used to retrieve the number of pages.

Syntax:

num_pages = pages.size

Arguments:

 

Return Value:

num_pages - the number of pages

Comments:

 

Example:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
size = pages.size


 

slideshow_time

The slideshow_time method is used to retrieve the amount of time that a slideshow of all of the pages will take.

Syntax:

time = pages.slideshow_time

Arguments:

 

Return Value:

time - the amount of time that a slide show will take if successful

Comments:

This takes into account the transition time for each Page and the amount of time that each Page is displayed.

Example:

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