sketchup-api-stubs 0.6.1 → 0.7.4

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -401
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -523
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -569
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -455
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -359
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -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 +220 -232
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -563
  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 +204 -216
  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 +694 -547
  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/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -554
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1097
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -262
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1483
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -282
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -356
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -995
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -303
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -660
  149. metadata +2 -16
@@ -1,132 +1,132 @@
1
- # Copyright:: Copyright 2019 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Tools class contains methods to manipulate a collection of SketchUp
5
- # tools. You access this collection by calling the Model.tools method.
6
- #
7
- # @example
8
- # tools = Sketchup.active_model.tools
9
- #
10
- # @version SketchUp 6.0
11
- class Sketchup::Tools
12
-
13
- # Instance Methods
14
-
15
- # The {#active_tool} method is used to obtain the active Ruby tool.
16
- #
17
- # @example
18
- # tools = Sketchup.active_model.tools
19
- # tool = tools.current
20
- #
21
- # @return [Object, nil] Returns the active Ruby tool, or `nil` otherwise.
22
- #
23
- # @version SketchUp 2019
24
- def active_tool
25
- end
26
-
27
- # The active_tool_id method is used to retrieve the active tool's id.
28
- #
29
- # @example
30
- # tools = Sketchup.active_model.tools
31
- # id = tools.active_tool_id
32
- #
33
- # @return id - the active tool's id.
34
- #
35
- # @version SketchUp 6.0
36
- def active_tool_id
37
- end
38
-
39
- # The active_tool_name method is used to retrieve the active tool's name.
40
- #
41
- # @example
42
- # tools = Sketchup.active_model.tools
43
- # if tools.active_tool_id.equal? 0
44
- # puts "Tools collection is empty"
45
- # else
46
- # name = tools.active_tool_name
47
- # end
48
- #
49
- # @return name = the active tool's name.
50
- #
51
- # @version SketchUp 6.0
52
- def active_tool_name
53
- end
54
-
55
- # The add_observer method is used to add an observer to the current object.
56
- #
57
- # @example
58
- # tools = Sketchup.active_model.tools
59
- # observer = Sketchup::ToolsObserver.new
60
- # status = tools.add_observer observer
61
- #
62
- # @param observer
63
- # An observer.
64
- #
65
- # @return status - true if successful, false if unsuccessful.
66
- #
67
- # @version SketchUp 6.0
68
- def add_observer(observer)
69
- end
70
-
71
- # The model method is used to get the model associated with this tools object.
72
- #
73
- # @example
74
- # tools = Sketchup.active_model.tools
75
- # model = tools.model
76
- #
77
- # @return model - the Model object associated with this tools
78
- # collection.
79
- #
80
- # @version SketchUp 6.0
81
- def model
82
- end
83
-
84
- # The pop_tool method is used to pop the last pushed tool on the tool stack.
85
- #
86
- # @example
87
- # tools = Sketchup.active_model.tools
88
- # tool = tools.pop_tool
89
- #
90
- # @return the last pushed Tool object, if it is a Ruby tool. If a
91
- # native tool is active, selects the default native tool
92
- # and returns nil.
93
- #
94
- # @version SketchUp 6.0
95
- def pop_tool
96
- end
97
-
98
- # The push_tool method is used to push (aka activate) a user-defined tool.
99
- # See the Tool interface for details on creating your own SketchUp tool.
100
- #
101
- # @example
102
- # tools = Sketchup.active_model.tools
103
- # status = tools.push_tool tool
104
- #
105
- # @param tool
106
- # A user.
107
- #
108
- # @return status - true if successful, false if unsuccessful.
109
- #
110
- # @version SketchUp 6.0
111
- def push_tool(tool)
112
- end
113
-
114
- # The remove_observer method is used to remove an observer from the current
115
- # object.
116
- #
117
- # @example
118
- # tools = Sketchup.active_model.tools
119
- # observer = Sketchup::ToolsObserver.new
120
- # tools.add_observer observer
121
- # status = tools.remove_observer observer
122
- #
123
- # @param observer
124
- # An observer.
125
- #
126
- # @return true if successful, false if unsuccessful.
127
- #
128
- # @version SketchUp 6.0
129
- def remove_observer(observer)
130
- end
131
-
132
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Tools class contains methods to manipulate a collection of SketchUp
5
+ # tools. You access this collection by calling the Model.tools method.
6
+ #
7
+ # @example
8
+ # tools = Sketchup.active_model.tools
9
+ #
10
+ # @version SketchUp 6.0
11
+ class Sketchup::Tools
12
+
13
+ # Instance Methods
14
+
15
+ # The {#active_tool} method is used to obtain the active Ruby tool.
16
+ #
17
+ # @example
18
+ # tools = Sketchup.active_model.tools
19
+ # tool = tools.current
20
+ #
21
+ # @return [Object, nil] Returns the active Ruby tool, or `nil` otherwise.
22
+ #
23
+ # @version SketchUp 2019
24
+ def active_tool
25
+ end
26
+
27
+ # The active_tool_id method is used to retrieve the active tool's id.
28
+ #
29
+ # @example
30
+ # tools = Sketchup.active_model.tools
31
+ # id = tools.active_tool_id
32
+ #
33
+ # @return id - the active tool's id.
34
+ #
35
+ # @version SketchUp 6.0
36
+ def active_tool_id
37
+ end
38
+
39
+ # The active_tool_name method is used to retrieve the active tool's name.
40
+ #
41
+ # @example
42
+ # tools = Sketchup.active_model.tools
43
+ # if tools.active_tool_id.equal? 0
44
+ # puts "Tools collection is empty"
45
+ # else
46
+ # name = tools.active_tool_name
47
+ # end
48
+ #
49
+ # @return name = the active tool's name.
50
+ #
51
+ # @version SketchUp 6.0
52
+ def active_tool_name
53
+ end
54
+
55
+ # The add_observer method is used to add an observer to the current object.
56
+ #
57
+ # @example
58
+ # tools = Sketchup.active_model.tools
59
+ # observer = Sketchup::ToolsObserver.new
60
+ # status = tools.add_observer observer
61
+ #
62
+ # @param observer
63
+ # An observer.
64
+ #
65
+ # @return status - true if successful, false if unsuccessful.
66
+ #
67
+ # @version SketchUp 6.0
68
+ def add_observer(observer)
69
+ end
70
+
71
+ # The model method is used to get the model associated with this tools object.
72
+ #
73
+ # @example
74
+ # tools = Sketchup.active_model.tools
75
+ # model = tools.model
76
+ #
77
+ # @return model - the Model object associated with this tools
78
+ # collection.
79
+ #
80
+ # @version SketchUp 6.0
81
+ def model
82
+ end
83
+
84
+ # The pop_tool method is used to pop the last pushed tool on the tool stack.
85
+ #
86
+ # @example
87
+ # tools = Sketchup.active_model.tools
88
+ # tool = tools.pop_tool
89
+ #
90
+ # @return the last pushed Tool object, if it is a Ruby tool. If a
91
+ # native tool is active, selects the default native tool
92
+ # and returns nil.
93
+ #
94
+ # @version SketchUp 6.0
95
+ def pop_tool
96
+ end
97
+
98
+ # The push_tool method is used to push (aka activate) a user-defined tool.
99
+ # See the Tool interface for details on creating your own SketchUp tool.
100
+ #
101
+ # @example
102
+ # tools = Sketchup.active_model.tools
103
+ # status = tools.push_tool tool
104
+ #
105
+ # @param tool
106
+ # A user.
107
+ #
108
+ # @return status - true if successful, false if unsuccessful.
109
+ #
110
+ # @version SketchUp 6.0
111
+ def push_tool(tool)
112
+ end
113
+
114
+ # The remove_observer method is used to remove an observer from the current
115
+ # object.
116
+ #
117
+ # @example
118
+ # tools = Sketchup.active_model.tools
119
+ # observer = Sketchup::ToolsObserver.new
120
+ # tools.add_observer observer
121
+ # status = tools.remove_observer observer
122
+ #
123
+ # @param observer
124
+ # An observer.
125
+ #
126
+ # @return true if successful, false if unsuccessful.
127
+ #
128
+ # @version SketchUp 6.0
129
+ def remove_observer(observer)
130
+ end
131
+
132
+ end
@@ -1,154 +1,154 @@
1
- # Copyright:: Copyright 2019 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # This observer interface is implemented to react to tool events. To implement
5
- # this observer, create a Ruby class of this type, override the desired
6
- # methods, and add an instance of the observer to the {Sketchup::Tools} object.
7
- #
8
- # Some of the code below mentions +tool_names+ and +tool_ids+. Here is a list
9
- # of the common tool IDs and names:
10
- #
11
- # - +21013+ = 3DTextTool
12
- # - +21065+ = ArcTool
13
- # - +10523+ = CameraDollyTool
14
- # - +10508+ = CameraOrbitTool
15
- # - +10525+ = CameraPanTool
16
- # - +21169+ = PositionCameraTool
17
- # - +10520+ = CameraWalkTool
18
- # - +10509+ = CameraZoomTool
19
- # - +10526+ = CameraZoomWindowTool
20
- # - +21096+ = CircleTool
21
- # - +21013+ = ComponentTool
22
- # - +21126+ = ComponentCSTool
23
- # - +21410+ = DimensionTool
24
- # - +21019+ = EraseTool
25
- # - +21031+ = FreehandTool
26
- # - +21525+ = ExtrudeTool
27
- # - +21126+ = SketchCSTool
28
- # - +21048+ = MoveTool
29
- # - +21024+ = MeasureTool
30
- # - +21100+ = OffsetTool
31
- # - +21074+ = PaintTool
32
- # - +21013+ = PasteTool
33
- # - +21095+ = PolyTool
34
- # - +21515+ = PositionTextureTool
35
- # - +21041+ = PushPullTool
36
- # - +21057+ = ProtractorTool
37
- # - +21094+ = RectangleTool
38
- # - +21129+ = RotateTool
39
- # - +21236+ = ScaleTool
40
- # - +21022+ = SelectionTool
41
- # - +21337+ = SectionPlaneTool
42
- # - +21020+ = SketchTool
43
- # - +21405+ = TextTool
44
- #
45
- # @example
46
- # # This is an example of an observer that watches tool interactions.
47
- # class MyToolsObserver < Sketchup::ToolsObserver
48
- # def onActiveToolChanged(tools, tool_name, tool_id)
49
- # puts "onActiveToolChanged: #{tool_name}"
50
- # end
51
- # end
52
- #
53
- # # Attach the observer.
54
- # Sketchup.active_model.tools.add_observer(MyToolsObserver.new)
55
- #
56
- # @version SketchUp 6.0
57
- class Sketchup::ToolsObserver
58
-
59
- # Instance Methods
60
-
61
- # Once you subclass {Sketchup::ToolsObserver} with your unique class, you can
62
- # override the {#onActiveToolChanged} method to receive tool change
63
- # notifications.
64
- #
65
- # @example
66
- # def onActiveToolChanged(tools, tool_name, tool_id)
67
- # tool_name = fix_mac_tool_name(tool_name)
68
- # puts "onActiveToolChanged: #{tool_name}"
69
- # end
70
- #
71
- # # Returns the "correct" tool name to account for mac API differences.
72
- # #
73
- # # Args:
74
- # # tool_name The tool name to fix
75
- # #
76
- # # Returns
77
- # # string corrected tool name
78
- # def fix_mac_tool_name(tool_name)
79
- # if tool_name == "eTool"
80
- # tool_name = "ScaleTool"
81
- # elsif tool_name == "ool"
82
- # tool_name = "MoveTool"
83
- # elsif tool_name == "onentCSTool"
84
- # tool_name = "ComponentCSTool"
85
- # elsif tool_name == "PullTool"
86
- # tool_name = "PushPullTool"
87
- # end
88
- # return tool_name
89
- # end
90
- #
91
- # @note In SketchUp 6 and SketchUp 7.0, tool names on the Mac have some of
92
- # their first characters truncated. For instance, on Windows, a tool is
93
- # +"CameraOrbit"+. On the Mac, is comes across as +"raOrbit"+. Therefore,
94
- # use the +tool_id+ to keep track of which tool you need to watch for, or use
95
- # logic that corrects for the error. There is an example method of one way to
96
- # do this shown below. (This example is not a comprehensive list of the tool
97
- # names.)
98
- #
99
- # @param [Sketchup::Tools] tools
100
- # A Tools object.
101
- #
102
- # @param [String] tool_name
103
- # The name of the tool.
104
- #
105
- # @param [Integer] tool_id
106
- # The ID of the tool. This is a predefined number
107
- # unique to a given tool. For example, the Materials Browser is tool_id
108
- # 21074.
109
- #
110
- # @return [nil]
111
- #
112
- # @version SketchUp 6.0
113
- def onActiveToolChanged(tools, tool_name, tool_id)
114
- end
115
-
116
- # The {#onToolStateChanged} method is called each time the user performs an
117
- # action with a tool. The actual state that is returned is an internal number
118
- # that varies tool to tool. If you want to watch existing tools for every
119
- # interaction, you will need to experiment with the tool state to determine
120
- # which states you care about. There is little consistency tool to tool.
121
- #
122
- # @example
123
- # def onToolStateChanged(tools, tool_name, tool_id, tool_state)
124
- # puts "onToolStateChanged: #{tool_name}:#{tool_state}"
125
- # end
126
- #
127
- # @note In SketchUp 6 and SketchUp 7, tool names on the Mac have their first
128
- # few characters truncated. For instance, on Windows, a tool is
129
- # +"CameraOrbit".+ On the Mac, is comes across as +"raOrbit"+. Therefore,
130
- # use the tool_id to keep track of which tool you need to watch for, or use
131
- # logic that corrects for the error. This bug was fixed in SketchUp 8.0.
132
- #
133
- # @param [Sketchup::Tools] tools
134
- # A Tools object.
135
- #
136
- # @param [String] tool_name
137
- # The name of the tool.
138
- #
139
- # @param [Integer] tool_id
140
- # The ID of the tool. This is a predefined number
141
- # unique to a given tool. For example, the Materials Browser is tool_id
142
- # 21074.
143
- #
144
- # @param [Integer] tool_state
145
- # A number identifying the state the tool just
146
- # entered.
147
- #
148
- # @return [nil]
149
- #
150
- # @version SketchUp 6.0
151
- def onToolStateChanged(tools, tool_name, tool_id, tool_state)
152
- end
153
-
154
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # This observer interface is implemented to react to tool events. To implement
5
+ # this observer, create a Ruby class of this type, override the desired
6
+ # methods, and add an instance of the observer to the {Sketchup::Tools} object.
7
+ #
8
+ # Some of the code below mentions +tool_names+ and +tool_ids+. Here is a list
9
+ # of the common tool IDs and names:
10
+ #
11
+ # - +21013+ = 3DTextTool
12
+ # - +21065+ = ArcTool
13
+ # - +10523+ = CameraDollyTool
14
+ # - +10508+ = CameraOrbitTool
15
+ # - +10525+ = CameraPanTool
16
+ # - +21169+ = PositionCameraTool
17
+ # - +10520+ = CameraWalkTool
18
+ # - +10509+ = CameraZoomTool
19
+ # - +10526+ = CameraZoomWindowTool
20
+ # - +21096+ = CircleTool
21
+ # - +21013+ = ComponentTool
22
+ # - +21126+ = ComponentCSTool
23
+ # - +21410+ = DimensionTool
24
+ # - +21019+ = EraseTool
25
+ # - +21031+ = FreehandTool
26
+ # - +21525+ = ExtrudeTool
27
+ # - +21126+ = SketchCSTool
28
+ # - +21048+ = MoveTool
29
+ # - +21024+ = MeasureTool
30
+ # - +21100+ = OffsetTool
31
+ # - +21074+ = PaintTool
32
+ # - +21013+ = PasteTool
33
+ # - +21095+ = PolyTool
34
+ # - +21515+ = PositionTextureTool
35
+ # - +21041+ = PushPullTool
36
+ # - +21057+ = ProtractorTool
37
+ # - +21094+ = RectangleTool
38
+ # - +21129+ = RotateTool
39
+ # - +21236+ = ScaleTool
40
+ # - +21022+ = SelectionTool
41
+ # - +21337+ = SectionPlaneTool
42
+ # - +21020+ = SketchTool
43
+ # - +21405+ = TextTool
44
+ #
45
+ # @example
46
+ # # This is an example of an observer that watches tool interactions.
47
+ # class MyToolsObserver < Sketchup::ToolsObserver
48
+ # def onActiveToolChanged(tools, tool_name, tool_id)
49
+ # puts "onActiveToolChanged: #{tool_name}"
50
+ # end
51
+ # end
52
+ #
53
+ # # Attach the observer.
54
+ # Sketchup.active_model.tools.add_observer(MyToolsObserver.new)
55
+ #
56
+ # @version SketchUp 6.0
57
+ class Sketchup::ToolsObserver
58
+
59
+ # Instance Methods
60
+
61
+ # Once you subclass {Sketchup::ToolsObserver} with your unique class, you can
62
+ # override the {#onActiveToolChanged} method to receive tool change
63
+ # notifications.
64
+ #
65
+ # @example
66
+ # def onActiveToolChanged(tools, tool_name, tool_id)
67
+ # tool_name = fix_mac_tool_name(tool_name)
68
+ # puts "onActiveToolChanged: #{tool_name}"
69
+ # end
70
+ #
71
+ # # Returns the "correct" tool name to account for mac API differences.
72
+ # #
73
+ # # Args:
74
+ # # tool_name The tool name to fix
75
+ # #
76
+ # # Returns
77
+ # # string corrected tool name
78
+ # def fix_mac_tool_name(tool_name)
79
+ # if tool_name == "eTool"
80
+ # tool_name = "ScaleTool"
81
+ # elsif tool_name == "ool"
82
+ # tool_name = "MoveTool"
83
+ # elsif tool_name == "onentCSTool"
84
+ # tool_name = "ComponentCSTool"
85
+ # elsif tool_name == "PullTool"
86
+ # tool_name = "PushPullTool"
87
+ # end
88
+ # return tool_name
89
+ # end
90
+ #
91
+ # @note In SketchUp 6 and SketchUp 7.0, tool names on the Mac have some of
92
+ # their first characters truncated. For instance, on Windows, a tool is
93
+ # +"CameraOrbit"+. On the Mac, is comes across as +"raOrbit"+. Therefore,
94
+ # use the +tool_id+ to keep track of which tool you need to watch for, or use
95
+ # logic that corrects for the error. There is an example method of one way to
96
+ # do this shown below. (This example is not a comprehensive list of the tool
97
+ # names.)
98
+ #
99
+ # @param [Sketchup::Tools] tools
100
+ # A Tools object.
101
+ #
102
+ # @param [String] tool_name
103
+ # The name of the tool.
104
+ #
105
+ # @param [Integer] tool_id
106
+ # The ID of the tool. This is a predefined number
107
+ # unique to a given tool. For example, the Materials Browser is tool_id
108
+ # 21074.
109
+ #
110
+ # @return [nil]
111
+ #
112
+ # @version SketchUp 6.0
113
+ def onActiveToolChanged(tools, tool_name, tool_id)
114
+ end
115
+
116
+ # The {#onToolStateChanged} method is called each time the user performs an
117
+ # action with a tool. The actual state that is returned is an internal number
118
+ # that varies tool to tool. If you want to watch existing tools for every
119
+ # interaction, you will need to experiment with the tool state to determine
120
+ # which states you care about. There is little consistency tool to tool.
121
+ #
122
+ # @example
123
+ # def onToolStateChanged(tools, tool_name, tool_id, tool_state)
124
+ # puts "onToolStateChanged: #{tool_name}:#{tool_state}"
125
+ # end
126
+ #
127
+ # @note In SketchUp 6 and SketchUp 7, tool names on the Mac have their first
128
+ # few characters truncated. For instance, on Windows, a tool is
129
+ # +"CameraOrbit".+ On the Mac, is comes across as +"raOrbit"+. Therefore,
130
+ # use the tool_id to keep track of which tool you need to watch for, or use
131
+ # logic that corrects for the error. This bug was fixed in SketchUp 8.0.
132
+ #
133
+ # @param [Sketchup::Tools] tools
134
+ # A Tools object.
135
+ #
136
+ # @param [String] tool_name
137
+ # The name of the tool.
138
+ #
139
+ # @param [Integer] tool_id
140
+ # The ID of the tool. This is a predefined number
141
+ # unique to a given tool. For example, the Materials Browser is tool_id
142
+ # 21074.
143
+ #
144
+ # @param [Integer] tool_state
145
+ # A number identifying the state the tool just
146
+ # entered.
147
+ #
148
+ # @return [nil]
149
+ #
150
+ # @version SketchUp 6.0
151
+ def onToolStateChanged(tools, tool_name, tool_id, tool_state)
152
+ end
153
+
154
+ end