sketchup-api-stubs 0.7.4 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,229 +1,269 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # UI::Notification objects allows you to show native notifications in the
5
- # desktop, they are positioned in the top right of your screen, they can be
6
- # customized to have a message, icon and accept and/or dismiss buttons with
7
- # callback blocks.
8
- #
9
- # @version SketchUp 2017
10
- class UI::Notification
11
-
12
- # Instance Methods
13
-
14
- # Gets the icon name, this is the path that will be used to get the icon from
15
- # the file system path.
16
- #
17
- # @example
18
- # notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon", "icon Tooltip")
19
- # puts "Icon Name: #{notification.icon_name}"
20
- # notification.show
21
- #
22
- # @return [String]
23
- #
24
- # @version SketchUp 2017
25
- def icon_name
26
- end
27
-
28
- # Sets the icon path, this icon will be loaded from the path give, the path
29
- # has to be a local filesystem path.
30
- #
31
- # @example
32
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
33
- # notification.icon_name = "/path/to/icon"
34
- # notification.show
35
- #
36
- # @param [String] icon_name
37
- # String providing the icon filesystem path.
38
- #
39
- # @return [Boolean]
40
- #
41
- # @version SketchUp 2017
42
- def icon_name=(icon_name)
43
- end
44
-
45
- # Gets the icon Tooltip, this is the string that appear when the mouse is over
46
- # the icon.
47
- #
48
- # @example
49
- # notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon", "icon Tooltip")
50
- # puts "Tooltip: #{notification.icon_tooltip}"
51
- # notification.show
52
- #
53
- # @return [String]
54
- #
55
- # @version SketchUp 2017
56
- def icon_tooltip
57
- end
58
-
59
- # Sets the icon Tooltip, this string will appear when the mouse is over the
60
- # icon.
61
- #
62
- # @example
63
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
64
- # notification.icon_tooltip = "icon Tooltip"
65
- # notification.show
66
- #
67
- # @param [String] icon_tooltip
68
- # String providing the new icon Tooltip.
69
- #
70
- # @return [Boolean]
71
- #
72
- # @version SketchUp 2017
73
- def icon_tooltip=(icon_tooltip)
74
- end
75
-
76
- # The new method is used to create a new {UI::Notification}.
77
- #
78
- # In order to insert line breaks into the message you need to use +\\r\\n+.
79
- #
80
- # @example
81
- # notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon", "icon Tooltip")
82
- # notification.show
83
- #
84
- # @param [SketchupExtension] sketchup_extension
85
- # Required sketchup_extension
86
- # to identify the sender.
87
- #
88
- # @param [String] message
89
- # Optionally assign the message.
90
- #
91
- # @param [String] icon_name
92
- # Optionally set a path to an image.
93
- #
94
- # @param [String] icon_tooltip
95
- # Optionally set an image tooltip.
96
- #
97
- # @return [UI::Notification]
98
- #
99
- # @version SketchUp 2017
100
- def initialize(sketchup_extension, message, icon_name, icon_tooltip)
101
- end
102
-
103
- # Gets the message as string.
104
- #
105
- # @example
106
- # notification = UI::Notification.new(sketchup_extension)
107
- # puts "This is the current message: #{notification.message}"
108
- # notification.show
109
- #
110
- # @return [String]
111
- #
112
- # @version SketchUp 2017
113
- def message
114
- end
115
-
116
- # Sets a new message, notifications are meant for quick & brief messages,
117
- # remember that they are dismissed automatically.
118
- #
119
- # @example
120
- # notification = UI::Notification.new(sketchup_extension)
121
- # notification.message = "Hello world"
122
- # notification.show
123
- #
124
- # @param [String] message
125
- # String providing the new message.
126
- #
127
- # @return [Boolean]
128
- #
129
- # @version SketchUp 2017
130
- def message=(message)
131
- end
132
-
133
- # Shows a button in the notification with the given title and callback block,
134
- # both arguments are required.
135
- #
136
- # @example
137
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
138
- # notification.on_accept("Accept") do |notification, title|
139
- # puts "The user pressed [#{title}] with message #{notification.message}"
140
- # end
141
- # notification.show
142
- #
143
- # @param [String] title
144
- # Sets the title of the button.
145
- #
146
- # @param [Block] block
147
- # Sets the action callback, this will be called when
148
- # the user clicks on the dismiss button.
149
- #
150
- # @raise [RuntimeError] When calling on_accept when the notification has
151
- # already been shown.
152
- #
153
- # @return [Boolean]
154
- #
155
- # @version SketchUp 2017
156
- def on_accept(title, block)
157
- end
158
-
159
- # Returns the accept's button title.
160
- #
161
- # @example
162
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
163
- # notification.on_accept("Accept") do |notification, title|
164
- # puts "The user pressed #{notification.on_accept_title}"
165
- # end
166
- # notification.show
167
- #
168
- # @return [String]
169
- #
170
- # @version SketchUp 2017
171
- def on_accept_title
172
- end
173
-
174
- # Shows a button in the notification with the given title and callback block,
175
- # both arguments are required.
176
- #
177
- # @example
178
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
179
- # notification.on_dismiss("Close") do |notification, title|
180
- # puts "The user pressed [#{title}] with message #{notification.message}"
181
- # end
182
- # notification.show
183
- #
184
- # @param [String] title
185
- # Sets the title of the button.
186
- #
187
- # @param [Block] block
188
- # Sets the action callback, this will be called when
189
- # the user clicks on the dismiss button.
190
- #
191
- # @raise [RuntimeError] When calling on_dismiss when the notification has
192
- # already been shown.
193
- #
194
- # @return [Boolean]
195
- #
196
- # @version SketchUp 2017
197
- def on_dismiss(title, block)
198
- end
199
-
200
- # Returns the dismiss's button title.
201
- #
202
- # @example
203
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
204
- # notification.on_dismiss("Close") do |notification, title|
205
- # puts "The user pressed #{notification.on_dismiss_title}"
206
- # end
207
- # notification.show
208
- #
209
- # @return [String]
210
- #
211
- # @version SketchUp 2017
212
- def on_dismiss_title
213
- end
214
-
215
- # Shows the notification in the top right of the screen, the notifications will
216
- # be ordered from top to bottom if multiple notifications are shown, it will
217
- # automatically be dismissed if no action is taken.
218
- #
219
- # @example
220
- # notification = UI::Notification.new(sketchup_extension, "Hello world")
221
- # notification.show
222
- #
223
- # @return [Boolean]
224
- #
225
- # @version SketchUp 2017
226
- def show
227
- end
228
-
229
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # {UI::Notification} objects allows you to show native notifications in the
5
+ # desktop. Notifications can have a message, icon and accept and/or dismiss
6
+ # buttons with callback blocks.
7
+ #
8
+ # @example
9
+ # # For consistency, the accept (yes) and the dismiss (no) buttons
10
+ # # are always displayed in the same order.
11
+ # message = "A new version of pizza is available. Install now?"
12
+ # @notification = UI::Notification.new(sketchup_extension, message)
13
+ # @notification.on_accept("Pizza!") { puts "Pizza" }
14
+ # @notification.on_dismiss("No thanks") { puts "No pizza" }
15
+ # @notification.show
16
+ #
17
+ # # The two options are however not treated differently by SketchUp and can
18
+ # # also be used for questions with no strict yes/no answer.
19
+ # message = "Pizza clashes with health. Select which one to keep."
20
+ # @notification = UI::Notification.new(sketchup_extension, message)
21
+ # @notification.on_accept("Pizza") { puts "Pizza" }
22
+ # @notification.on_dismiss("Health") { puts "Salad" }
23
+ # @notification.show
24
+ #
25
+ # @version SketchUp 2017
26
+ class UI::Notification
27
+
28
+ # Instance Methods
29
+
30
+ # Gets the icon name, this is the path that will be used to get the icon from
31
+ # the file system path.
32
+ #
33
+ # @example
34
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon",
35
+ # "Icon Tooltip")
36
+ # puts "Icon Name: #{@notification.icon_name}"
37
+ # @notification.show
38
+ #
39
+ # @return [String]
40
+ #
41
+ # @version SketchUp 2017
42
+ def icon_name
43
+ end
44
+
45
+ # Sets the icon path, this icon will be loaded from the path give, the path
46
+ # has to be a local filesystem path.
47
+ #
48
+ # @example
49
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
50
+ # @notification.icon_name = "/path/to/icon"
51
+ # @notification.show
52
+ #
53
+ # @param [String] icon_name
54
+ # String providing the icon filesystem path.
55
+ #
56
+ # @return [Boolean]
57
+ #
58
+ # @version SketchUp 2017
59
+ def icon_name=(icon_name)
60
+ end
61
+
62
+ # Gets the icon Tooltip, this is the string that appear when the mouse is over
63
+ # the icon.
64
+ #
65
+ # @example
66
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon",
67
+ # "Icon Tooltip")
68
+ # puts "Tooltip: #{@notification.icon_tooltip}"
69
+ # @notification.show
70
+ #
71
+ # @return [String]
72
+ #
73
+ # @version SketchUp 2017
74
+ def icon_tooltip
75
+ end
76
+
77
+ # Sets the icon Tooltip, this string will appear when the mouse is over the
78
+ # icon.
79
+ #
80
+ # @example
81
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
82
+ # @notification.icon_tooltip = "icon Tooltip"
83
+ # @notification.show
84
+ #
85
+ # @param [String] icon_tooltip
86
+ # String providing the new icon Tooltip.
87
+ #
88
+ # @return [Boolean]
89
+ #
90
+ # @version SketchUp 2017
91
+ def icon_tooltip=(icon_tooltip)
92
+ end
93
+
94
+ # Creates a new {UI::Notification} object.
95
+ #
96
+ # @bug Prior to SketchUp 2018 messages could only be 3 lines long on Windows
97
+ # and 2 lines on Mac. Now the notification expands to fit its content.
98
+ #
99
+ # @bug Prior to SketchUp 2021.1 SketchUp could crash if the {UI::Notification} object is garbaged
100
+ # collected while it has notifications displayed on the screen. This could happen if the
101
+ # {UI::Notification} object was assigned to a local variable. The local variable would go out of
102
+ # scope and the garbage collector might collect it before the callbacks are invoked.
103
+ #
104
+ # @example
105
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world", "/path/to/icon",
106
+ # "Icon Tooltip")
107
+ # @notification.show
108
+ #
109
+ # @note In order to insert line breaks into the message you need to use +\\r\\n+.
110
+ #
111
+ # @param [SketchupExtension] sketchup_extension
112
+ # {SketchupExtension} instance used to identify
113
+ # the source of the notification.
114
+ #
115
+ # @param [String] message
116
+ # Message to display.
117
+ #
118
+ # @param [String] icon_name
119
+ # Path to an icon to display along with the message.
120
+ #
121
+ # @param [String] icon_tooltip
122
+ # Tooltip for the icon.
123
+ #
124
+ # @return [UI::Notification]
125
+ #
126
+ # @version SketchUp 2017
127
+ def initialize(sketchup_extension, message = nil, icon_name = nil, icon_tooltip = nil)
128
+ end
129
+
130
+ # Gets the message as string.
131
+ #
132
+ # @example
133
+ # @notification = UI::Notification.new(sketchup_extension)
134
+ # puts "This is the current message: #{@notification.message}"
135
+ # @notification.show
136
+ #
137
+ # @return [String]
138
+ #
139
+ # @version SketchUp 2017
140
+ def message
141
+ end
142
+
143
+ # Sets a new message. Notifications are meant for quick and brief messages.
144
+ # These message disappear automatically after a short while if they are not
145
+ # interacted with.
146
+ #
147
+ # @example
148
+ # @notification = UI::Notification.new(sketchup_extension)
149
+ # @notification.message = "Hello world"
150
+ # @notification.show
151
+ #
152
+ # @note In order to insert line breaks into the message you need to use +\\r\\n+.
153
+ #
154
+ # @param [String] message
155
+ # String providing the new message.
156
+ #
157
+ # @return [Boolean]
158
+ #
159
+ # @version SketchUp 2017
160
+ def message=(message)
161
+ end
162
+
163
+ # Shows a button in the notification with the given title and callback block,
164
+ # both arguments are required.
165
+ #
166
+ # @bug Prior to SketchUp 2019 both the accept and dismiss buttons were
167
+ # displayed, even if only one had been implemented.
168
+ #
169
+ # @example
170
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
171
+ # @notification.on_accept("Accept") do |notification, title|
172
+ # puts "The user pressed [#{title}] with message #{notification.message}"
173
+ # end
174
+ # @notification.show
175
+ #
176
+ # @param [String] title
177
+ # Sets the title of the button.
178
+ #
179
+ # @param [Block] block
180
+ # Sets the action callback, this will be called when
181
+ # the user clicks on the dismiss button.
182
+ #
183
+ # @raise [RuntimeError] When calling on_accept when the notification has
184
+ # already been shown.
185
+ #
186
+ # @return [Boolean]
187
+ #
188
+ # @version SketchUp 2017
189
+ def on_accept(title, block)
190
+ end
191
+
192
+ # Returns the accept's button title.
193
+ #
194
+ # @example
195
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
196
+ # @notification.on_accept("Accept") do |notification, title|
197
+ # puts "The user pressed #{notification.on_accept_title}"
198
+ # end
199
+ # @notification.show
200
+ #
201
+ # @return [String]
202
+ #
203
+ # @version SketchUp 2017
204
+ def on_accept_title
205
+ end
206
+
207
+ # Shows a button in the notification with the given title and callback block.
208
+ # Both arguments are required. This callback is only called if you press the
209
+ # Dismiss button, not when the time runs out and the notification automatically
210
+ # disappears.
211
+ #
212
+ # @bug Prior to SketchUp 2019 both the accept and dismiss buttons were
213
+ # displayed, even if only one had been implemented.
214
+ #
215
+ # @example
216
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
217
+ # @notification.on_dismiss("Close") do |notification, title|
218
+ # puts "The user pressed [#{title}] with message #{notification.message}"
219
+ # end
220
+ # @notification.show
221
+ #
222
+ # @param [String] title
223
+ # Sets the title of the button.
224
+ #
225
+ # @param [Block] block
226
+ # Sets the action callback, this will be called when
227
+ # the user clicks on the dismiss button.
228
+ #
229
+ # @raise [RuntimeError] When calling on_dismiss when the notification has
230
+ # already been shown.
231
+ #
232
+ # @return [Boolean]
233
+ #
234
+ # @version SketchUp 2017
235
+ def on_dismiss(title, block)
236
+ end
237
+
238
+ # Returns the dismiss's button title.
239
+ #
240
+ # @example
241
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
242
+ # @notification.on_dismiss("Close") do |notification, title|
243
+ # puts "The user pressed #{notification.on_dismiss_title}"
244
+ # end
245
+ # @notification.show
246
+ #
247
+ # @return [String]
248
+ #
249
+ # @version SketchUp 2017
250
+ def on_dismiss_title
251
+ end
252
+
253
+ # Shows the notification. If not interacted with, the notification will
254
+ # disappear without calling any callbacks.
255
+ #
256
+ # @bug If assigned to a local variable SketchUp might crash prior to SketchUp 2021.1.
257
+ # See {#initialize} for more details.
258
+ #
259
+ # @example
260
+ # @notification = UI::Notification.new(sketchup_extension, "Hello world")
261
+ # @notification.show
262
+ #
263
+ # @return [Boolean]
264
+ #
265
+ # @version SketchUp 2017
266
+ def show
267
+ end
268
+
269
+ end