sketchup-api-stubs 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +9 -9
  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 -400
  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 -522
  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 -573
  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 -514
  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 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -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 +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 -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 +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 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/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 -562
  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 -1119
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -544
  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 -280
  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 -1601
  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 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -770
  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 -364
  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 -1301
  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 -311
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -348
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  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 -667
  149. metadata +3 -4
@@ -1,43 +1,43 @@
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. 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,310 +1,310 @@
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 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