sketchup-api-stubs 0.7.7 → 0.7.9

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  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 +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -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 -351
  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 +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  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 -370
  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 -225
  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 -209
  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/ReferenceEntity.rb +82 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -257
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,144 +1,144 @@
1
- # Copyright:: Copyright 2021 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
+ # Copyright:: Copyright 2023 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 2021 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 {#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 2023 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