Class: Sketchup::LayersObserver Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb

Overview

This class is abstract.

To implement this observer, create a Ruby class of this type, override the desired methods, and add an instance of the observer to the objects of interests.

This observer interface is implemented to react to layers events.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerAdded(layers, layer)
    puts "onLayerAdded: #{layer.name}"
  end
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
Sketchup.active_model.layers.add("Hello World")

Version:

  • SketchUp 6.0

Instance Method Summary collapse

Instance Method Details

#onCurrentLayerChanged(layers, layer) ⇒ nil

The #onCurrentLayerChanged method is called when the user selects a different active layer.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onCurrentLayerChanged(layers, layer)
    puts "onCurrentLayerChanged: #{layer.name}"
  end
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
layer = Sketchup.active_model.layers.add("Hello World")
Sketchup.active_model.active_layer = layer

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 6.0



46
47
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 46

def onCurrentLayerChanged(layers, layer)
end

#onLayerAdded(layers, layer) ⇒ nil

The #onLayerAdded method is called when a new layer is added to a model.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerAdded(layers, layer)
    puts "onLayerAdded: #{layer.name}"
  end
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
Sketchup.active_model.layers.add("Hello World")

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 6.0



68
69
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 68

def onLayerAdded(layers, layer)
end

#onLayerChanged(layers, layer) ⇒ nil

The #onLayerChanged method is called when a layer is changed.

Examples:

def onLayerChanged(layers, layer)
  puts "onLayerChanged: #{layer.name}"
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
layer = Sketchup.active_model.layers.add("Hello World")
layer.name = "Hello Universe"

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 2014



89
90
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 89

def onLayerChanged(layers, layer)
end

#onLayerFolderAdded(layers, layer_folder) ⇒ nil

The #onLayerFolderAdded method is called when a layer folder is added to a model.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerFolderAdded(layers, layer_folder)
    puts "onLayerFolderAdded: #{layer_folder.name}"
  end
end

model = Sketchup.active_model
model.layers.add_observer(MyLayersObserver.new)
folder = model.layers.add_folder("Hello World")

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 2021.0



115
116
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 115

def onLayerFolderAdded(layers, layer_folder)
end

#onLayerFolderChanged(layers, layer_folder) ⇒ nil

The #onLayerFolderChanged method is called when a layer folder changes one of its properties.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerFolderChanged(layers, layer_folder)
    puts "onLayerFolderChanged: #{layer_folder.name}"
  end
end

model = Sketchup.active_model
model.layers.add_observer(MyLayersObserver.new)
folder = model.layers.add_folder("Hello World")
folder.name = "Hello Universe"
folder.visible = false

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 2021.0



143
144
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 143

def onLayerFolderChanged(layers, layer_folder)
end

#onLayerFolderRemoved(layers, layer_folder) ⇒ nil

The #onLayerFolderRemoved method is called when a layer folder is removed from a model.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerFolderRemoved(layers, layer_folder)
    puts "onLayerRemoved: #{layer_folder.name}"
  end
end

model = Sketchup.active_model
model.layers.add_observer(MyLayersObserver.new)
folder = model.layers.add_folder("Hello World")
model.layers.remove_folder(folder)

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 2021.0



170
171
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 170

def onLayerFolderRemoved(layers, layer_folder)
end

#onLayerRemoved(layers, layer) ⇒ nil

The #onLayerRemoved method is called when a layer is removed from a model.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onLayerRemoved(layers, layer)
    puts "onLayerRemoved: #{layer.name}"
  end
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
layer = Sketchup.active_model.layers.add("Hello World")
Sketchup.active_model.layers.remove(layer)

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 6.0



193
194
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 193

def onLayerRemoved(layers, layer)
end

#onParentFolderChanged(layers, layer) ⇒ nil

Note:

When a folder changes parent #onLayerFolderRemoved and #onLayerFolderAdded triggers.

The #onParentFolderChanged method is called when a layer changes parent folder.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onParentFolderChanged(layers, layer)
    puts "onParentFolderChange: #{layer.name}"
  end
end

model = Sketchup.active_model
model.layers.add_observer(MyLayersObserver.new)
layer = model.layers.add_layer("World")
folder = model.layers.add_folder("Hello")
layer.folder = folder

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 2021.0



224
225
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 224

def onParentFolderChanged(layers, layer)
end

#onRemoveAllLayers(layers) ⇒ nil

The #onRemoveAllLayers method is called when all layer are removed from a model.

Examples:

class MyLayersObserver < Sketchup::LayersObserver
  def onRemoveAllLayers(layers)
    puts "onRemoveAllLayers: #{layers}"
  end
end

Sketchup.active_model.layers.add_observer(MyLayersObserver.new)
layer = Sketchup.active_model.layers.add("Hello World")
Sketchup.active_model.layers.remove(layer)

Parameters:

Returns:

  • (nil)

Version:

  • SketchUp 6.0



246
247
# File 'lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb', line 246

def onRemoveAllLayers(layers)
end