sketchup-api-stubs 0.7.4 → 0.7.5

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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs.rb +1 -1
  3. data/lib/sketchup-api-stubs/sketchup.rb +147 -145
  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 +498 -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 +691 -691
  16. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  17. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  18. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
  20. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  21. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
  22. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  23. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  25. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  26. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  27. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  28. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  29. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  30. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  31. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  33. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  34. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  36. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  37. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  38. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  39. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  40. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  41. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  42. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  43. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  44. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  47. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -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 -112
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -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 +59 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  135. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
  136. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
  137. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
  138. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  139. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  140. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  141. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  142. data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
  143. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  144. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  145. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  146. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
  147. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  148. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  149. data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
  150. metadata +4 -2
@@ -1,43 +1,45 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # This observer interface is implemented to react to view 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 view object.
7
- #
8
- # @example
9
- # # This is an example of an observer that watches tool interactions.
10
- # class MyViewObserver < Sketchup::ViewObserver
11
- # def onViewChanged(view)
12
- # puts "onViewChanged: #{view}"
13
- # end
14
- # end
15
- #
16
- # # Attach the observer.
17
- # Sketchup.active_model.active_view.add_observer(MyViewObserver.new)
18
- #
19
- # @version SketchUp 6.0
20
- class Sketchup::ViewObserver
21
-
22
- # Instance Methods
23
-
24
- # The {#onViewChanged} method is called whenever the view is altered, such as
25
- # when the user uses the Pan, Orbit, or Zoom tools are used.
26
- #
27
- # @bug Prior to SketchUp 2019.2 this event did not trigger when the viewport
28
- # size changed.
29
- #
30
- # @example
31
- # def onViewChanged(view)
32
- # puts "onViewChanged: #{view}"
33
- # end
34
- #
35
- # @param [Sketchup::View] view
36
- #
37
- # @return [nil]
38
- #
39
- # @version SketchUp 6.0
40
- def onViewChanged(view)
41
- end
42
-
43
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # This observer interface is implemented to react to view events.
5
+ #
6
+ # @abstract To implement this observer, create a Ruby class of this type,
7
+ # override the desired methods, and add an instance of the observer to the
8
+ # view object.
9
+ #
10
+ # @example
11
+ # # This is an example of an observer that watches tool interactions.
12
+ # class MyViewObserver < Sketchup::ViewObserver
13
+ # def onViewChanged(view)
14
+ # puts "onViewChanged: #{view}"
15
+ # end
16
+ # end
17
+ #
18
+ # # Attach the observer.
19
+ # Sketchup.active_model.active_view.add_observer(MyViewObserver.new)
20
+ #
21
+ # @version SketchUp 6.0
22
+ class Sketchup::ViewObserver
23
+
24
+ # Instance Methods
25
+
26
+ # The {#onViewChanged} method is called whenever the view is altered, such as
27
+ # when the user uses the Pan, Orbit, or Zoom tools are used.
28
+ #
29
+ # @bug Prior to SketchUp 2019.2 this event did not trigger when the viewport
30
+ # size changed.
31
+ #
32
+ # @example
33
+ # def onViewChanged(view)
34
+ # puts "onViewChanged: #{view}"
35
+ # end
36
+ #
37
+ # @param [Sketchup::View] view
38
+ #
39
+ # @return [nil]
40
+ #
41
+ # @version SketchUp 6.0
42
+ def onViewChanged(view)
43
+ end
44
+
45
+ end
@@ -1,310 +1,317 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Command class is the preferred class for adding tools to the menus and
5
- # Ruby toolbars. For example, you could add a menu item and pass it a code
6
- # block directly, or you could first create a Command.
7
- #
8
- # Using Commands gives you greater control over how the item works in the UI,
9
- # and it allows multiple spots in the UI to call the same code. For example,
10
- # You might want a toolbar button and a context-click menu item to both point
11
- # to the same command, and to control the tooltip and its "graying" from
12
- # a single spot in your code.
13
- #
14
- # @example
15
- # # You can add menu items as procedure blocks, as shown here, but
16
- # # you have no control over whether it is grayed out, for example.
17
- # UI.menu("Draw").add_item("My Procedure") {
18
- # UI.messagebox("My Procedure")
19
- # }
20
- #
21
- # # Better to create a command object.
22
- # cmd = UI::Command.new("Tester") {
23
- # UI.messagebox("My Command")
24
- # }
25
- # cmd.menu_text = "My Command"
26
- # cmd.set_validation_proc {
27
- # if Sketchup.active_model.selection.length == 0
28
- # MF_GRAYED
29
- # else
30
- # MF_ENABLED
31
- # end
32
- # }
33
- # UI.menu("Draw").add_item cmd
34
- #
35
- # @version SketchUp 6.0
36
- class UI::Command
37
-
38
- # Class Methods
39
-
40
- # The new method is used to create a new command.
41
- #
42
- # @example
43
- # UI.menu("Draw").add_separator
44
- #
45
- # # Adds a Test submenu to the Draw menu where the Tester menu item appears
46
- # testmenu = UI.menu("Draw").add_submenu("Test")
47
- #
48
- # # This menu item simply displays Hello World on the screen when clicked.
49
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
50
- # testmenu.add_item cmd
51
- #
52
- # @note Prior to SketchUp 2019 it was not possible to sub-class {UI::Command}
53
- # due to a bug in how SketchUp initialized the class.
54
- #
55
- # @param [String] menutext
56
- # The text that will appear for this command's menu item
57
- # if it appears on a menu.
58
- #
59
- # @return [UI::Command] the new Command object
60
- #
61
- # @version SketchUp 6.0
62
- #
63
- # @yield Code that executes the command when the menu item or
64
- # toolbar item is selected.
65
- def self.new(menutext)
66
- end
67
-
68
- # Instance Methods
69
-
70
- # The large_icon method returns the icon file for the command's
71
- # large icon.
72
- #
73
- # @example
74
- # toolbar = UI::Toolbar.new "Test"
75
- # # This command displays Hello World on the screen when clicked
76
- # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
77
- # cmd.small_icon = "ToolPencilSmall.png"
78
- # cmd.large_icon = "ToolPencilLarge.png"
79
- # toolbar = toolbar.add_item cmd
80
- # toolbar.show
81
- # puts cmd.large_icon
82
- #
83
- # @return [String] the path to the large icon.
84
- #
85
- # @version SketchUp 8.0 M1
86
- def large_icon
87
- end
88
-
89
- # The large_icon= method is used to identify the icon file for the command's
90
- # large icon. large icons should be 24x24 pixel images for best display
91
- # quality.
92
- #
93
- # Since SketchUp 2016 it is possible to provide vector images for the cursors.
94
- # SVG format for Windows and PDF format for OS X. Since the vector images scale
95
- # for both small and large icon sizes, you may choose to use only one vector
96
- # image for both variants.
97
- #
98
- # @example
99
- # toolbar = UI::Toolbar.new "Test"
100
- # # This command displays Hello World on the screen when clicked
101
- # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
102
- # cmd.small_icon = "ToolPencilSmall.png"
103
- # cmd.large_icon = "ToolPencilLarge.png"
104
- # toolbar = toolbar.add_item cmd
105
- # toolbar.show
106
- #
107
- # @param [String] path
108
- # The path to the large icon.
109
- #
110
- # @return [String]
111
- #
112
- # @version SketchUp 6.0
113
- def large_icon=(path)
114
- end
115
-
116
- # The menu_text method returns the menu item name for the command.
117
- #
118
- # @example
119
- # add_separator_to_menu("Draw")
120
- # # Adds a Test submenu to the Draw menu where the Tester menu item appears
121
- # testmenu = UI.menu("Draw").add_submenu("Test")
122
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
123
- # cmd.menu_text = "New String"
124
- # testmenu.add_item cmd
125
- # puts cmd.menu_text
126
- #
127
- # @return [String]
128
- #
129
- # @version SketchUp 8.0 M1
130
- def menu_text
131
- end
132
-
133
- # The menu_text= method is used to set the menu item name for the command.
134
- #
135
- # @example
136
- # add_separator_to_menu("Draw")
137
- # # Adds a Test submenu to the Draw menu where the Tester menu item appears
138
- # testmenu = UI.menu("Draw").add_submenu("Test")
139
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
140
- # cmd.menu_text = "New String"
141
- # testmenu.add_item cmd
142
- #
143
- # @param [String] menuitem
144
- # A string representing the menu item for the command.
145
- #
146
- # @return [String]
147
- #
148
- # @version SketchUp 6.0
149
- def menu_text=(menuitem)
150
- end
151
-
152
- # The {#set_validation_proc} method allows you to change whether the command
153
- # is enabled, checked, etc. based on the user state. For example, you might
154
- # want your command to be disabled unless the user has a current selection.
155
- #
156
- # @example
157
- # # Create a command object.
158
- # cmd = UI::Command.new("Tester") {
159
- # UI.messagebox("My Command")
160
- # }
161
- # cmd.menu_text = "My Command"
162
- # cmd.set_validation_proc {
163
- # if Sketchup.active_model.selection.length == 0
164
- # MF_GRAYED
165
- # else
166
- # MF_ENABLED
167
- # end
168
- # }
169
- # UI.menu("Draw").add_item(cmd)
170
- #
171
- # @return [UI::Command]
172
- #
173
- # @version SketchUp 6.0
174
- #
175
- # @yield []
176
- #
177
- # @yieldreturn [Integer] +MF_ENABLED+, +MF_DISABLED+, +MF_CHECKED+,
178
- # +MF_UNCHECKED+, or +MF_GRAYED+
179
- def set_validation_proc
180
- end
181
-
182
- # The small_icon method returns the icon file for the command's
183
- # small icon.
184
- #
185
- # @example
186
- # toolbar = UI::Toolbar.new "Test"
187
- # # This toolbar command displays Hello World on the screen when clicked.
188
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
189
- # cmd.small_icon = "ToolPencilSmall.png"
190
- # cmd.large_icon = "ToolPencilLarge.png"
191
- # toolbar = toolbar.add_item cmd
192
- # toolbar.show
193
- # puts cmd.small_icon
194
- #
195
- # @return [String] the path to the small_icon
196
- #
197
- # @version SketchUp 8.0 M1
198
- def small_icon
199
- end
200
-
201
- # The small_icon= method is used to identify the icon file for the command's
202
- # small icon. Small icons should be 16x16 pixel images for best display
203
- # quality.
204
- #
205
- # Since SketchUp 2016 it is possible to provide vector images for the cursors.
206
- # SVG format for Windows and PDF format for OS X. Since the vector images scale
207
- # for both small and large icon sizes, you may choose to use only one vector
208
- # image for both variants.
209
- #
210
- # @example
211
- # toolbar = UI::Toolbar.new "Test"
212
- # # This toolbar command displays Hello World on the screen when clicked.
213
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
214
- # cmd.small_icon = "ToolPencilSmall.png"
215
- # cmd.large_icon = "ToolPencilLarge.png"
216
- # toolbar = toolbar.add_item cmd
217
- # toolbar.show
218
- #
219
- # @param [String] path
220
- # A path to the small icon.
221
- #
222
- # @return [String]
223
- #
224
- # @version SketchUp 6.0
225
- def small_icon=(path)
226
- end
227
-
228
- # The status_bar_text method returns the status bar text for the
229
- # command.
230
- #
231
- # @example
232
- # toolbar = UI::Toolbar.new "Test"
233
- # # This toolbar tool simply displays Hello World on the screen
234
- # # when clicked
235
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
236
- # cmd.small_icon = "ToolPencilSmall.png"
237
- # cmd.large_icon = "ToolPencilLarge.png"
238
- # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
239
- # toolbar = toolbar.add_item cmd
240
- # toolbar.show
241
- # puts cmd.status_bar_text
242
- #
243
- # @return [String] the status bar text.
244
- #
245
- # @version SketchUp 8.0 M1
246
- def status_bar_text
247
- end
248
-
249
- # The status_bar_text= method is used to set the status bar text for the
250
- # command.
251
- #
252
- # @example
253
- # toolbar = UI::Toolbar.new "Test"
254
- # # This toolbar tool simply displays Hello World on the screen when clicked
255
- # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
256
- # cmd.small_icon = "ToolPencilSmall.png"
257
- # cmd.large_icon = "ToolPencilLarge.png"
258
- # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
259
- # toolbar = toolbar.add_item cmd
260
- # toolbar.show
261
- #
262
- # @param [String] text
263
- # The text that will appear on the status bar when the
264
- # cursor is over the command's menu item.
265
- #
266
- # @return [String]
267
- #
268
- # @version SketchUp 6.0
269
- def status_bar_text=(text)
270
- end
271
-
272
- # The tooltip method returns command item's tooltip text.
273
- #
274
- # @example
275
- # toolbar = UI::Toolbar.new "Test"
276
- # # This command displays Hello World on the screen when clicked
277
- # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
278
- # cmd.tooltip = "Hello World Tool"
279
- # toolbar = toolbar.add_item cmd
280
- # toolbar.show
281
- # puts cmd.tooltip
282
- #
283
- # @return [String] the tooltip text
284
- #
285
- # @version SketchUp 8.0 M1
286
- def tooltip
287
- end
288
-
289
- # The tooltip= method is used to define a command item's tooltip text. Tooltips
290
- # will appear when the command is attached to a tool bar and the user hovers
291
- # their cursor over the icon.
292
- #
293
- # @example
294
- # toolbar = UI::Toolbar.new "Test"
295
- # # This command displays Hello World on the screen when clicked
296
- # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
297
- # cmd.tooltip = "Hello World Tool"
298
- # toolbar = toolbar.add_item cmd
299
- # toolbar.show
300
- #
301
- # @param [String] text
302
- # The text of the tooltip.
303
- #
304
- # @return [String]
305
- #
306
- # @version SketchUp 6.0
307
- def tooltip=(text)
308
- end
309
-
310
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Command class is the preferred class for adding tools to the menus and
5
+ # Ruby toolbars. For example, you could add a menu item and pass it a code
6
+ # block directly, or you could first create a Command.
7
+ #
8
+ # Using Commands gives you greater control over how the item works in the UI,
9
+ # and it allows multiple spots in the UI to call the same code. For example,
10
+ # You might want a toolbar button and a context-click menu item to both point
11
+ # to the same command, and to control the tooltip and its "graying" from
12
+ # a single spot in your code.
13
+ #
14
+ # @example
15
+ # # You can add menu items as procedure blocks, as shown here, but
16
+ # # you have no control over whether it is grayed out, for example.
17
+ # UI.menu("Draw").add_item("My Procedure") {
18
+ # UI.messagebox("My Procedure")
19
+ # }
20
+ #
21
+ # # Better to create a command object.
22
+ # cmd = UI::Command.new("Tester") {
23
+ # UI.messagebox("My Command")
24
+ # }
25
+ # cmd.menu_text = "My Command"
26
+ # cmd.set_validation_proc {
27
+ # if Sketchup.active_model.selection.length == 0
28
+ # MF_GRAYED
29
+ # else
30
+ # MF_ENABLED
31
+ # end
32
+ # }
33
+ # UI.menu("Draw").add_item cmd
34
+ #
35
+ # @version SketchUp 6.0
36
+ class UI::Command
37
+
38
+ # Class Methods
39
+
40
+ # The new method is used to create a new command.
41
+ #
42
+ # @example
43
+ # UI.menu("Draw").add_separator
44
+ #
45
+ # # Adds a Test submenu to the Draw menu where the Tester menu item appears
46
+ # testmenu = UI.menu("Draw").add_submenu("Test")
47
+ #
48
+ # # This menu item simply displays Hello World on the screen when clicked.
49
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
50
+ # testmenu.add_item cmd
51
+ #
52
+ # @note Prior to SketchUp 2019 it was not possible to sub-class {UI::Command}
53
+ # due to a bug in how SketchUp initialized the class.
54
+ #
55
+ # @param [String] menutext
56
+ # The text that will appear for this command's menu item
57
+ # if it appears on a menu.
58
+ #
59
+ # @return [UI::Command] the new Command object
60
+ #
61
+ # @version SketchUp 6.0
62
+ #
63
+ # @yield Code that executes the command when the menu item or
64
+ # toolbar item is selected.
65
+ def self.new(menutext)
66
+ end
67
+
68
+ # Instance Methods
69
+
70
+ # The large_icon method returns the icon file for the command's
71
+ # large icon.
72
+ #
73
+ # @example
74
+ # toolbar = UI::Toolbar.new "Test"
75
+ # # This command displays Hello World on the screen when clicked
76
+ # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
77
+ # cmd.small_icon = "ToolPencilSmall.png"
78
+ # cmd.large_icon = "ToolPencilLarge.png"
79
+ # toolbar = toolbar.add_item cmd
80
+ # toolbar.show
81
+ # puts cmd.large_icon
82
+ #
83
+ # @return [String] the path to the large icon.
84
+ #
85
+ # @version SketchUp 8.0 M1
86
+ def large_icon
87
+ end
88
+
89
+ # The large_icon= method is used to identify the icon file for the command's
90
+ # large icon. large icons should be 32x32 pixel images for best display
91
+ # quality.
92
+ #
93
+ # Since SketchUp 2016 it is possible to provide vector images for the command.
94
+ # SVG format for Windows and PDF format for OS X. Since the vector images scale
95
+ # for both small and large icon sizes, you may choose to use only one vector
96
+ # image for both variants.
97
+ #
98
+ # @example
99
+ # toolbar = UI::Toolbar.new "Test"
100
+ # # This command displays Hello World on the screen when clicked
101
+ # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
102
+ # cmd.small_icon = "ToolPencilSmall.png"
103
+ # cmd.large_icon = "ToolPencilLarge.png"
104
+ # toolbar = toolbar.add_item cmd
105
+ # toolbar.show
106
+ #
107
+ # @param [String] path
108
+ # The path to the large icon.
109
+ #
110
+ # @return [String]
111
+ #
112
+ # @version SketchUp 6.0
113
+ def large_icon=(path)
114
+ end
115
+
116
+ # The menu_text method returns the menu item name for the command.
117
+ #
118
+ # @example
119
+ # add_separator_to_menu("Draw")
120
+ # # Adds a Test submenu to the Draw menu where the Tester menu item appears
121
+ # testmenu = UI.menu("Draw").add_submenu("Test")
122
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
123
+ # cmd.menu_text = "New String"
124
+ # testmenu.add_item cmd
125
+ # puts cmd.menu_text
126
+ #
127
+ # @return [String]
128
+ #
129
+ # @version SketchUp 8.0 M1
130
+ def menu_text
131
+ end
132
+
133
+ # The menu_text= method is used to set the menu item name for the command.
134
+ #
135
+ # @example
136
+ # add_separator_to_menu("Draw")
137
+ # # Adds a Test submenu to the Draw menu where the Tester menu item appears
138
+ # testmenu = UI.menu("Draw").add_submenu("Test")
139
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
140
+ # cmd.menu_text = "New String"
141
+ # testmenu.add_item cmd
142
+ #
143
+ # @param [String] menuitem
144
+ # A string representing the menu item for the command.
145
+ #
146
+ # @return [String]
147
+ #
148
+ # @version SketchUp 6.0
149
+ def menu_text=(menuitem)
150
+ end
151
+
152
+ # The {#set_validation_proc} method allows you to change whether the command
153
+ # is enabled, checked, etc. For instance, the command toggling a dialog window
154
+ # may be displayed as checked while the dialog is open.
155
+ #
156
+ # @bug On Mac the validation proc isn't called as often as it should. For
157
+ # instance a selection change doesn't trigger it.
158
+ #
159
+ # @example
160
+ # # Create a command object.
161
+ # cmd = UI::Command.new("Tester") {
162
+ # UI.messagebox("My Command")
163
+ # }
164
+ # cmd.menu_text = "My Command"
165
+ # cmd.set_validation_proc {
166
+ # if Sketchup.active_model.selection.length == 0
167
+ # MF_GRAYED
168
+ # else
169
+ # MF_ENABLED
170
+ # end
171
+ # }
172
+ # UI.menu("Draw").add_item(cmd)
173
+ #
174
+ # @note Avoid disabling an command as it often isn't obvious to the user why
175
+ # it is disabled. Prefer keeping the command enabled but show an error
176
+ # message if pressed when it cannot be used.
177
+ #
178
+ # @return [UI::Command]
179
+ #
180
+ # @version SketchUp 6.0
181
+ #
182
+ # @yield []
183
+ #
184
+ # @yieldreturn [Integer] +MF_ENABLED+, +MF_DISABLED+, +MF_CHECKED+,
185
+ # +MF_UNCHECKED+, or +MF_GRAYED+
186
+ def set_validation_proc
187
+ end
188
+
189
+ # The small_icon method returns the icon file for the command's
190
+ # small icon.
191
+ #
192
+ # @example
193
+ # toolbar = UI::Toolbar.new "Test"
194
+ # # This toolbar command displays Hello World on the screen when clicked.
195
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
196
+ # cmd.small_icon = "ToolPencilSmall.png"
197
+ # cmd.large_icon = "ToolPencilLarge.png"
198
+ # toolbar = toolbar.add_item cmd
199
+ # toolbar.show
200
+ # puts cmd.small_icon
201
+ #
202
+ # @return [String] the path to the small_icon
203
+ #
204
+ # @version SketchUp 8.0 M1
205
+ def small_icon
206
+ end
207
+
208
+ # The small_icon= method is used to identify the icon file for the command's
209
+ # small icon. Small icons should be 24x24 pixel images for best display
210
+ # quality.
211
+ #
212
+ # Since SketchUp 2016 it is possible to provide vector images for the cursors.
213
+ # SVG format for Windows and PDF format for OS X. Since the vector images scale
214
+ # for both small and large icon sizes, you may choose to use only one vector
215
+ # image for both variants.
216
+ #
217
+ # @example
218
+ # toolbar = UI::Toolbar.new "Test"
219
+ # # This toolbar command displays Hello World on the screen when clicked.
220
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
221
+ # cmd.small_icon = "ToolPencilSmall.png"
222
+ # cmd.large_icon = "ToolPencilLarge.png"
223
+ # toolbar = toolbar.add_item cmd
224
+ # toolbar.show
225
+ #
226
+ # @param [String] path
227
+ # A path to the small icon.
228
+ #
229
+ # @return [String]
230
+ #
231
+ # @version SketchUp 6.0
232
+ def small_icon=(path)
233
+ end
234
+
235
+ # The status_bar_text method returns the status bar text for the
236
+ # command.
237
+ #
238
+ # @example
239
+ # toolbar = UI::Toolbar.new "Test"
240
+ # # This toolbar tool simply displays Hello World on the screen
241
+ # # when clicked
242
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
243
+ # cmd.small_icon = "ToolPencilSmall.png"
244
+ # cmd.large_icon = "ToolPencilLarge.png"
245
+ # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
246
+ # toolbar = toolbar.add_item cmd
247
+ # toolbar.show
248
+ # puts cmd.status_bar_text
249
+ #
250
+ # @return [String] the status bar text.
251
+ #
252
+ # @version SketchUp 8.0 M1
253
+ def status_bar_text
254
+ end
255
+
256
+ # The status_bar_text= method is used to set the status bar text for the
257
+ # command.
258
+ #
259
+ # @example
260
+ # toolbar = UI::Toolbar.new "Test"
261
+ # # This toolbar tool simply displays Hello World on the screen when clicked
262
+ # cmd = UI::Command.new("Tester") { UI.messagebox("Hello World") }
263
+ # cmd.small_icon = "ToolPencilSmall.png"
264
+ # cmd.large_icon = "ToolPencilLarge.png"
265
+ # cmd.status_bar_text = $tStrings.GetString("Testing the toolbars class")
266
+ # toolbar = toolbar.add_item cmd
267
+ # toolbar.show
268
+ #
269
+ # @param [String] text
270
+ # The text that will appear on the status bar when the
271
+ # cursor is over the command's menu item.
272
+ #
273
+ # @return [String]
274
+ #
275
+ # @version SketchUp 6.0
276
+ def status_bar_text=(text)
277
+ end
278
+
279
+ # The tooltip method returns command item's tooltip text.
280
+ #
281
+ # @example
282
+ # toolbar = UI::Toolbar.new "Test"
283
+ # # This command displays Hello World on the screen when clicked
284
+ # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
285
+ # cmd.tooltip = "Hello World Tool"
286
+ # toolbar = toolbar.add_item cmd
287
+ # toolbar.show
288
+ # puts cmd.tooltip
289
+ #
290
+ # @return [String] the tooltip text
291
+ #
292
+ # @version SketchUp 8.0 M1
293
+ def tooltip
294
+ end
295
+
296
+ # The tooltip= method is used to define a command item's tooltip text. Tooltips
297
+ # will appear when the command is attached to a tool bar and the user hovers
298
+ # their cursor over the icon.
299
+ #
300
+ # @example
301
+ # toolbar = UI::Toolbar.new "Test"
302
+ # # This command displays Hello World on the screen when clicked
303
+ # cmd = UI::Command.new("Test") { UI.messagebox("Hello World") }
304
+ # cmd.tooltip = "Hello World Tool"
305
+ # toolbar = toolbar.add_item cmd
306
+ # toolbar.show
307
+ #
308
+ # @param [String] text
309
+ # The text of the tooltip.
310
+ #
311
+ # @return [String]
312
+ #
313
+ # @version SketchUp 6.0
314
+ def tooltip=(text)
315
+ end
316
+
317
+ end