sketchup-api-stubs 0.7.4 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,140 +1,144 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The {Sketchup::Animation} interface is implemented to create animations
5
- # inside SketchUp. At any given time, a single animation can be active on a
6
- # {Sketchup::View}. To make your own, build a Ruby class that contains the
7
- # methods described below:
8
- #
9
- # # This is an example of a simple animation that floats the camera up to
10
- # # a z position of 200". The only required method for an animation is
11
- # # nextFrame. It is called whenever you need to show the next frame of
12
- # # the animation. If nextFrame returns false, the animation will stop.
13
- # class FloatUpAnimation
14
- # def nextFrame(view)
15
- # new_eye = view.camera.eye
16
- # new_eye.z = new_eye.z + 1.0
17
- # view.camera.set(new_eye, view.camera.target, view.camera.up)
18
- # view.show_frame
19
- # return new_eye.z < 500.0
20
- # end
21
- # end
22
- #
23
- # # This adds an item to the Camera menu to activate our custom animation.
24
- # UI.menu("Camera").add_item("Run Float Up Animation") {
25
- # Sketchup.active_model.active_view.animation = FloatUpAnimation.new
26
- # }
27
- #
28
- # {Sketchup::Animation} objects are activated by using the
29
- # {Sketchup::View#animation=} method on a {Sketchup::View}
30
- # object. To stop an animation set the view's animation object to +nil+, like
31
- # so:
32
- #
33
- # Sketchup.active_model.active_view.animation = nil
34
- #
35
- # @version SketchUp 6.0
36
- class Sketchup::Animation
37
-
38
- # Instance Methods
39
-
40
- # The {#nextFrame} method is invoked by SketchUp to tell the animation to
41
- # display its next frame. This method should set up the camera and then call
42
- # {Sketchup::View#show_frame}.
43
- #
44
- # The {#nextFrame} method is the only required method of the
45
- # {Sketchup::Animation} interface that you must implement.
46
- #
47
- # @example
48
- # def nextFrame(view)
49
- # # Insert your handler code for updating the camera or other entities.
50
- # view.show_frame
51
- # return true
52
- # end
53
- #
54
- # @param [Sketchup::View] view
55
- # The view for the animation.
56
- #
57
- # @return [Boolean] continue - +true+ if you want the animation to continue
58
- # on to the next frame, +false+ if you want the animation
59
- # to stop after this frame.
60
- #
61
- # @version SketchUp 6.0
62
- #
63
- # @version SketchUp 6.0
64
- def nextFrame(view)
65
- end
66
-
67
- # The {#pause} method is invoked by SketchUp when the animation is paused.
68
- #
69
- # This method is optional (you do not need to implement this method unless you
70
- # want to perform some specialized function when the animation is paused). You
71
- # cannot call this method in your code explicitly and expect an animation to
72
- # pause, only certain SketchUp events cause the method to be called.
73
- #
74
- # @example
75
- # def pause
76
- # # Insert handler code for whatever you need to do when it is paused.
77
- # end
78
- #
79
- # @note The user interface for pausing and resuming animations isn't integrated
80
- # with the Ruby API in the current version, so this method is probably not
81
- # useful to you.
82
- #
83
- # @return [nil]
84
- #
85
- # @version SketchUp 6.0
86
- def pause
87
- end
88
-
89
- # The {#resume} method is invoked by SketchUp when the animation is resumed
90
- # after being paused.
91
- #
92
- # This method is optional (you do not need to implement this method unless you
93
- # want to perform some specialized function when the animation is resumed).
94
- # You cannot call this method in your code explicitly and expect an animation
95
- # to stop, only certain SketchUp events cause the method to be called.
96
- #
97
- # @example
98
- # def resume
99
- # # Insert your handler code for whatever you need to do as you resume.
100
- # end
101
- #
102
- # @note The user interface for pausing and resuming animations isn't integrated
103
- # with the Ruby API in the current version, so this method is probably not
104
- # useful to you.
105
- #
106
- # @return [nil]
107
- #
108
- # @version SketchUp 6.0
109
- def resume
110
- end
111
-
112
- # The {#stop} method is invoked by SketchUp when the animation is stopped.
113
- #
114
- # This method is optional (you do not need to implement this method unless you
115
- # want to perform some specialized function when the animation is stopped). You
116
- # cannot call this method in your code explicitly and expect an animation to
117
- # stop, only certain SketchUp events cause the method to be called.
118
- #
119
- # Perhaps the most common way for this method to be called is when your Ruby
120
- # code sets {Sketchup::View#animation=} to +nil+. See the class comments for
121
- # an example of this.
122
- #
123
- # @example
124
- # class MyAnimation
125
- # def stop
126
- # # Insert your handler code for cleaning up after your animation.
127
- # end
128
- # end
129
- #
130
- # @note Do not call {#Sketchup::View#animation=} from this method. This will
131
- # cause a recursive loop and crash SketchUp 2017 and earlier versions.
132
- # As of SketchUp 2018 this will raise a +RunTimeError+.
133
- #
134
- # @return [nil]
135
- #
136
- # @version SketchUp 6.0
137
- def stop
138
- end
139
-
140
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The {Sketchup::Animation} interface is implemented to create animations
5
+ # inside SketchUp. At any given time, a single animation can be active on a
6
+ # {Sketchup::View}. To make your own, build a Ruby class that contains the
7
+ # methods described below:
8
+ #
9
+ # # This is an example of a simple animation that floats the camera up to
10
+ # # a z position of 200". The only required method for an animation is
11
+ # # nextFrame. It is called whenever you need to show the next frame of
12
+ # # the animation. If nextFrame returns false, the animation will stop.
13
+ # class FloatUpAnimation
14
+ # def nextFrame(view)
15
+ # new_eye = view.camera.eye
16
+ # new_eye.z = new_eye.z + 1.0
17
+ # view.camera.set(new_eye, view.camera.target, view.camera.up)
18
+ # view.show_frame
19
+ # return new_eye.z < 500.0
20
+ # end
21
+ # end
22
+ #
23
+ # # This adds an item to the Camera menu to activate our custom animation.
24
+ # UI.menu("Camera").add_item("Run Float Up Animation") {
25
+ # Sketchup.active_model.active_view.animation = FloatUpAnimation.new
26
+ # }
27
+ #
28
+ # {Sketchup::Animation} objects are activated by using the
29
+ # {Sketchup::View#animation=} method on a {Sketchup::View}
30
+ # object. To stop an animation set the view's animation object to +nil+, like
31
+ # so:
32
+ #
33
+ # Sketchup.active_model.active_view.animation = nil
34
+ #
35
+ # @abstract Implement the methods described in this class to create a an
36
+ # animation. You can not sub-class this class because it is not defined by
37
+ # the API.
38
+ #
39
+ # @version SketchUp 6.0
40
+ class Sketchup::Animation
41
+
42
+ # Instance Methods
43
+
44
+ # The {#nextFrame} method is invoked by SketchUp to tell the animation to
45
+ # display its next frame. This method should set up the camera and then call
46
+ # {Sketchup::View#show_frame}.
47
+ #
48
+ # The {#nextFrame} method is the only required method of the
49
+ # {Sketchup::Animation} interface that you must implement.
50
+ #
51
+ # @example
52
+ # def nextFrame(view)
53
+ # # Insert your handler code for updating the camera or other entities.
54
+ # view.show_frame
55
+ # return true
56
+ # end
57
+ #
58
+ # @param [Sketchup::View] view
59
+ # The view for the animation.
60
+ #
61
+ # @return [Boolean] continue - +true+ if you want the animation to continue
62
+ # on to the next frame, +false+ if you want the animation
63
+ # to stop after this frame.
64
+ #
65
+ # @version SketchUp 6.0
66
+ #
67
+ # @version SketchUp 6.0
68
+ def nextFrame(view)
69
+ end
70
+
71
+ # The {#pause} method is invoked by SketchUp when the animation is paused.
72
+ #
73
+ # This method is optional (you do not need to implement this method unless you
74
+ # want to perform some specialized function when the animation is paused). You
75
+ # cannot call this method in your code explicitly and expect an animation to
76
+ # pause, only certain SketchUp events cause the method to be called.
77
+ #
78
+ # @example
79
+ # def pause
80
+ # # Insert handler code for whatever you need to do when it is paused.
81
+ # end
82
+ #
83
+ # @note The user interface for pausing and resuming animations isn't integrated
84
+ # with the Ruby API in the current version, so this method is probably not
85
+ # useful to you.
86
+ #
87
+ # @return [nil]
88
+ #
89
+ # @version SketchUp 6.0
90
+ def pause
91
+ end
92
+
93
+ # The {#resume} method is invoked by SketchUp when the animation is resumed
94
+ # after being paused.
95
+ #
96
+ # This method is optional (you do not need to implement this method unless you
97
+ # want to perform some specialized function when the animation is resumed).
98
+ # You cannot call this method in your code explicitly and expect an animation
99
+ # to stop, only certain SketchUp events cause the method to be called.
100
+ #
101
+ # @example
102
+ # def resume
103
+ # # Insert your handler code for whatever you need to do as you resume.
104
+ # end
105
+ #
106
+ # @note The user interface for pausing and resuming animations isn't integrated
107
+ # with the Ruby API in the current version, so this method is probably not
108
+ # useful to you.
109
+ #
110
+ # @return [nil]
111
+ #
112
+ # @version SketchUp 6.0
113
+ def resume
114
+ end
115
+
116
+ # The {#stop} method is invoked by SketchUp when the animation is stopped.
117
+ #
118
+ # This method is optional (you do not need to implement this method unless you
119
+ # want to perform some specialized function when the animation is stopped). You
120
+ # cannot call this method in your code explicitly and expect an animation to
121
+ # stop, only certain SketchUp events cause the method to be called.
122
+ #
123
+ # Perhaps the most common way for this method to be called is when your Ruby
124
+ # code sets {Sketchup::View#animation=} to +nil+. See the class comments for
125
+ # an example of this.
126
+ #
127
+ # @example
128
+ # class MyAnimation
129
+ # def stop
130
+ # # Insert your handler code for cleaning up after your animation.
131
+ # end
132
+ # end
133
+ #
134
+ # @note Do not call {#Sketchup::View#animation=} from this method. This will
135
+ # cause a recursive loop and crash SketchUp 2017 and earlier versions.
136
+ # As of SketchUp 2018 this will raise a +RunTimeError+.
137
+ #
138
+ # @return [nil]
139
+ #
140
+ # @version SketchUp 6.0
141
+ def stop
142
+ end
143
+
144
+ end
@@ -1,157 +1,169 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # This observer interface is implemented to react to application events.
5
- # This interface is often used to attach other observers to models as they
6
- # are opened or started.
7
- # This ensures that your observers are watching all open models.
8
- #
9
- # For example, when one attaches a {Sketchup::SelectionObserver}, it is only
10
- # attached to the {Sketchup::Selection} collection of a given model. If a 2nd
11
- # model is opened, the new model's selection changes will not fire selection
12
- # callbacks unless you've attached a {Sketchup::SelectionObserver} to the new
13
- # model as well. By watching for {#onNewModel}, you can be sure to do so.
14
- #
15
- # To implement this observer, create a Ruby class of this type, override the
16
- # desired methods, and add an instance of the observer to the
17
- # application class.
18
- #
19
- # @example
20
- # # This is an example of an observer that watches the application for
21
- # # new models and shows a messagebox.
22
- # class MyAppObserver < Sketchup::AppObserver
23
- # def onNewModel(model)
24
- # puts "onNewModel: #{model}"
25
- #
26
- # # Here is where one might attach other observers to the new model.
27
- # model.selection.add_observer(MySelectionObserver.new)
28
- # end
29
- # end
30
- #
31
- # # Attach the observer
32
- # Sketchup.add_observer(MyAppObserver.new)
33
- #
34
- # @version SketchUp 6.0
35
- class Sketchup::AppObserver
36
-
37
- # Instance Methods
38
-
39
- # The {#expectsStartupModelNotifications} method is called to determine if the
40
- # observer expects to receive {#onNewModel} and {#onOpenModel} calls for the
41
- # models that are created or opened at SketchUp startup. This includes the
42
- # empty initial model, a model opened via command line arguments, or
43
- # auto-restored models on Mac OS X.
44
- #
45
- # @example
46
- # def expectsStartupModelNotifications
47
- # return true
48
- # end
49
- #
50
- # @note Prior to SketchUp 2014, {#onNewModel} and {#onOpenModel} were
51
- # not being called for the startup models. This issue is now fixed but
52
- # observers still need to express their intent to receive these calls. This is
53
- # for back-compatibility with existing scripts which worked around these
54
- # missing calls by other means. For new code, this method should be implemented
55
- # and should return +true+.
56
- #
57
- # @return [Boolean] +true+ to receive {#onNewModel} and {#onOpenModel} calls
58
- # for startup models. Return +false+ or simply not
59
- # implement the method in order to not receive these calls
60
- # (which was the behavior prior to SketchUp 2014).
61
- #
62
- # @version SketchUp 2014
63
- def expectsStartupModelNotifications
64
- end
65
-
66
- # The {#onActivateModel} method is called when an open model is activated. This
67
- # is relevant on Mac only which supports multiple documents to be opened
68
- # simultaneously.
69
- #
70
- # @example
71
- # def onActivateModel(model)
72
- # puts "onActivateModel: #{model}"
73
- # end
74
- #
75
- # @param [Sketchup::Model] model
76
- # The newly-activated model object.
77
- #
78
- # @return [nil]
79
- #
80
- # @version SketchUp 2015
81
- def onActivateModel(model)
82
- end
83
-
84
- # The {#onNewModel} method is called when the application creates a new, empty
85
- # model.
86
- #
87
- # @example
88
- # def onNewModel(model)
89
- # puts "onNewModel: #{model}"
90
- # end
91
- #
92
- # @param [Sketchup::Model] model
93
- # The active model object.
94
- #
95
- # @return [nil]
96
- #
97
- # @version SketchUp 6.0
98
- def onNewModel(model)
99
- end
100
-
101
- # The {#onOpenModel} method is called when the application opens an existing
102
- # model.
103
- #
104
- # @example
105
- # def onOpenModel(model)
106
- # puts "onOpenModel: #{model}"
107
- # end
108
- #
109
- # @note If a skp file is loaded via the command line or double-clicking on
110
- # a skp in explorer (which is also is the command line) then this
111
- # observer will not be called. The Ruby interpreter in SketchUp is
112
- # initialized after command line processing so the observer won't
113
- # be added in time to get the notification.
114
- #
115
- # @param [Sketchup::Model] model
116
- # The active model object.
117
- #
118
- # @return [nil]
119
- #
120
- # @version SketchUp 6.0
121
- def onOpenModel(model)
122
- end
123
-
124
- # The {#onQuit} method is called when SketchUp closes. This is useful if you
125
- # need to clean up anything or store your application state upon close.
126
- #
127
- # @example
128
- # def onQuit()
129
- # puts "onQuit"
130
- # end
131
- #
132
- # @return [nil]
133
- #
134
- # @version SketchUp 6.0
135
- def onQuit
136
- end
137
-
138
- # The {#onUnloadExtension} method is called when the user turns off a Ruby
139
- # extension. This is useful for detecting if the user is deactivating
140
- # some critical set of observers, for example, so you can warn them
141
- # or cache your extension state.
142
- #
143
- # @example
144
- # def onUnloadExtension(extension_name)
145
- # puts "onUnloadExtension: #{extension_name}"
146
- # end
147
- #
148
- # @param [String] extension_name
149
- # The name of the extension just unloaded.
150
- #
151
- # @return [nil]
152
- #
153
- # @version SketchUp 7.0
154
- def onUnloadExtension(extension_name)
155
- end
156
-
157
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # This observer interface is implemented to react to application events.
5
+ # This interface is often used to attach other observers to models as they
6
+ # are opened or started.
7
+ # This ensures that your observers are watching all open models.
8
+ #
9
+ # For example, when one attaches a {Sketchup::SelectionObserver}, it is only
10
+ # attached to the {Sketchup::Selection} collection of a given model. If a 2nd
11
+ # model is opened, the new model's selection changes will not fire selection
12
+ # callbacks unless you've attached a {Sketchup::SelectionObserver} to the new
13
+ # model as well. By watching for {#onNewModel}, you can be sure to do so.
14
+ #
15
+ # @abstract To implement this observer, create a Ruby class of this type, override the
16
+ # desired methods, and add an instance of the observer to the
17
+ # application class.
18
+ #
19
+ # @example
20
+ # # This is an example of an observer that watches the application for
21
+ # # new models and shows a messagebox.
22
+ # class MyAppObserver < Sketchup::AppObserver
23
+ # def onNewModel(model)
24
+ # puts "onNewModel: #{model}"
25
+ #
26
+ # # Here is where one might attach other observers to the new model.
27
+ # model.selection.add_observer(MySelectionObserver.new)
28
+ # end
29
+ # end
30
+ #
31
+ # # Attach the observer
32
+ # Sketchup.add_observer(MyAppObserver.new)
33
+ #
34
+ # @version SketchUp 6.0
35
+ class Sketchup::AppObserver
36
+
37
+ # Instance Methods
38
+
39
+ # The {#expectsStartupModelNotifications} method is called to determine if the
40
+ # observer expects to receive {#onNewModel} and {#onOpenModel} calls for the
41
+ # models that are created or opened at SketchUp startup. This includes the
42
+ # empty initial model, a model opened via command line arguments, or
43
+ # auto-restored models on Mac OS X.
44
+ #
45
+ # @example
46
+ # def expectsStartupModelNotifications
47
+ # return true
48
+ # end
49
+ #
50
+ # @note Prior to SketchUp 2014, {#onNewModel} and {#onOpenModel} were
51
+ # not being called for the startup models. This issue is now fixed but
52
+ # observers still need to express their intent to receive these calls. This is
53
+ # for back-compatibility with existing scripts which worked around these
54
+ # missing calls by other means. For new code, this method should be implemented
55
+ # and should return +true+.
56
+ #
57
+ # @return [Boolean] +true+ to receive {#onNewModel} and {#onOpenModel} calls
58
+ # for startup models. Return +false+ or simply not
59
+ # implement the method in order to not receive these calls
60
+ # (which was the behavior prior to SketchUp 2014).
61
+ #
62
+ # @version SketchUp 2014
63
+ def expectsStartupModelNotifications
64
+ end
65
+
66
+ # The {#onActivateModel} method is called when an open model is activated. This
67
+ # is relevant on Mac only which supports multiple documents to be opened
68
+ # simultaneously.
69
+ #
70
+ # @example
71
+ # def onActivateModel(model)
72
+ # puts "onActivateModel: #{model}"
73
+ # end
74
+ #
75
+ # @param [Sketchup::Model] model
76
+ # The newly-activated model object.
77
+ #
78
+ # @return [nil]
79
+ #
80
+ # @version SketchUp 2015
81
+ def onActivateModel(model)
82
+ end
83
+
84
+ # The {#onExtensionsLoaded} method is called when SketchUp has finished loading
85
+ # all extensions when the application starts.
86
+ #
87
+ # @example
88
+ # def onExtensionsLoaded
89
+ # puts "onExtensionsLoaded"
90
+ # end
91
+ #
92
+ # @version SketchUp 2022.0
93
+ def onExtensionsLoaded
94
+ end
95
+
96
+ # The {#onNewModel} method is called when the application creates a new, empty
97
+ # model.
98
+ #
99
+ # @example
100
+ # def onNewModel(model)
101
+ # puts "onNewModel: #{model}"
102
+ # end
103
+ #
104
+ # @param [Sketchup::Model] model
105
+ # The active model object.
106
+ #
107
+ # @return [nil]
108
+ #
109
+ # @version SketchUp 6.0
110
+ def onNewModel(model)
111
+ end
112
+
113
+ # The {#onOpenModel} method is called when the application opens an existing
114
+ # model.
115
+ #
116
+ # @example
117
+ # def onOpenModel(model)
118
+ # puts "onOpenModel: #{model}"
119
+ # end
120
+ #
121
+ # @note If a skp file is loaded via the command line or double-clicking on
122
+ # a skp in explorer (which is also is the command line) then this
123
+ # observer will not be called. The Ruby interpreter in SketchUp is
124
+ # initialized after command line processing so the observer won't
125
+ # be added in time to get the notification.
126
+ #
127
+ # @param [Sketchup::Model] model
128
+ # The active model object.
129
+ #
130
+ # @return [nil]
131
+ #
132
+ # @version SketchUp 6.0
133
+ def onOpenModel(model)
134
+ end
135
+
136
+ # The {#onQuit} method is called when SketchUp closes. This is useful if you
137
+ # need to clean up anything or store your application state upon close.
138
+ #
139
+ # @example
140
+ # def onQuit()
141
+ # puts "onQuit"
142
+ # end
143
+ #
144
+ # @return [nil]
145
+ #
146
+ # @version SketchUp 6.0
147
+ def onQuit
148
+ end
149
+
150
+ # The {#onUnloadExtension} method is called when the user turns off a Ruby
151
+ # extension. This is useful for detecting if the user is deactivating
152
+ # some critical set of observers, for example, so you can warn them
153
+ # or cache your extension state.
154
+ #
155
+ # @example
156
+ # def onUnloadExtension(extension_name)
157
+ # puts "onUnloadExtension: #{extension_name}"
158
+ # end
159
+ #
160
+ # @param [String] extension_name
161
+ # The name of the extension just unloaded.
162
+ #
163
+ # @return [nil]
164
+ #
165
+ # @version SketchUp 7.0
166
+ def onUnloadExtension(extension_name)
167
+ end
168
+
169
+ end