This file is indexed.

/usr/share/doc/libjuce/apiref/classThreadWithProgressWindow.html is in libjuce-doc 4.3.0~repack-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JUCE: ThreadWithProgressWindow Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JUCE
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classThreadWithProgressWindow-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ThreadWithProgressWindow Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A thread that automatically pops up a modal dialog box with a progress bar and cancel button while it's busy running.  
 <a href="classThreadWithProgressWindow.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for ThreadWithProgressWindow:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classThreadWithProgressWindow.png" usemap="#ThreadWithProgressWindow_map" alt=""/>
  <map id="ThreadWithProgressWindow_map" name="ThreadWithProgressWindow_map">
<area href="classThread.html" title="Encapsulates a thread. " alt="Thread" shape="rect" coords="0,0,171,24"/>
<area href="classTimer.html" title="Makes repeated callbacks to a virtual method at a specified time interval. " alt="Timer" shape="rect" coords="181,0,352,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac4fae9b0c2d110ca03e010d34133ea75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#ac4fae9b0c2d110ca03e010d34133ea75">ThreadWithProgressWindow</a> (const <a class="el" href="classString.html">String</a> &amp;windowTitle, bool hasProgressBar, bool hasCancelButton, int timeOutMsWhenCancelling=10000, const <a class="el" href="classString.html">String</a> &amp;cancelButtonText=<a class="el" href="classString.html">String</a>(), <a class="el" href="classComponent.html">Component</a> *componentToCentreAround=nullptr)</td></tr>
<tr class="memdesc:ac4fae9b0c2d110ca03e010d34133ea75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the thread.  <a href="#ac4fae9b0c2d110ca03e010d34133ea75">More...</a><br /></td></tr>
<tr class="separator:ac4fae9b0c2d110ca03e010d34133ea75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04c322fd5b4eb2612ab5118565ee4d29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#a04c322fd5b4eb2612ab5118565ee4d29">~ThreadWithProgressWindow</a> ()</td></tr>
<tr class="memdesc:a04c322fd5b4eb2612ab5118565ee4d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a04c322fd5b4eb2612ab5118565ee4d29">More...</a><br /></td></tr>
<tr class="separator:a04c322fd5b4eb2612ab5118565ee4d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe370f79b86da5772db49f692e3bf09a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#afe370f79b86da5772db49f692e3bf09a">runThread</a> (int priority=5)</td></tr>
<tr class="memdesc:afe370f79b86da5772db49f692e3bf09a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the thread and waits for it to finish.  <a href="#afe370f79b86da5772db49f692e3bf09a">More...</a><br /></td></tr>
<tr class="separator:afe370f79b86da5772db49f692e3bf09a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb0f85d0de1be635284b3606b02d1708"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#adb0f85d0de1be635284b3606b02d1708">launchThread</a> (int priority=5)</td></tr>
<tr class="memdesc:adb0f85d0de1be635284b3606b02d1708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the thread and returns.  <a href="#adb0f85d0de1be635284b3606b02d1708">More...</a><br /></td></tr>
<tr class="separator:adb0f85d0de1be635284b3606b02d1708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a607960c4dca64ea8e6193cc5e94d8c76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#a607960c4dca64ea8e6193cc5e94d8c76">setProgress</a> (double newProgress)</td></tr>
<tr class="memdesc:a607960c4dca64ea8e6193cc5e94d8c76"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thread should call this periodically to update the position of the progress bar.  <a href="#a607960c4dca64ea8e6193cc5e94d8c76">More...</a><br /></td></tr>
<tr class="separator:a607960c4dca64ea8e6193cc5e94d8c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f85676fc78cb05eecaf93f5d47eeaa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#a3f85676fc78cb05eecaf93f5d47eeaa5">setStatusMessage</a> (const <a class="el" href="classString.html">String</a> &amp;newStatusMessage)</td></tr>
<tr class="memdesc:a3f85676fc78cb05eecaf93f5d47eeaa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The thread can call this to change the message that's displayed in the dialog box.  <a href="#a3f85676fc78cb05eecaf93f5d47eeaa5">More...</a><br /></td></tr>
<tr class="separator:a3f85676fc78cb05eecaf93f5d47eeaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e5317249298095d572ca993649f444f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAlertWindow.html">AlertWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#a0e5317249298095d572ca993649f444f">getAlertWindow</a> () const noexcept</td></tr>
<tr class="memdesc:a0e5317249298095d572ca993649f444f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="classAlertWindow.html" title="A window that displays a message and has buttons for the user to react to it. ">AlertWindow</a> that is being used.  <a href="#a0e5317249298095d572ca993649f444f">More...</a><br /></td></tr>
<tr class="separator:a0e5317249298095d572ca993649f444f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d992a3d19b28c2f1fca0a6a73865409"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThreadWithProgressWindow.html#a1d992a3d19b28c2f1fca0a6a73865409">threadComplete</a> (bool userPressedCancel)</td></tr>
<tr class="memdesc:a1d992a3d19b28c2f1fca0a6a73865409"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called (on the message thread) when the operation has finished.  <a href="#a1d992a3d19b28c2f1fca0a6a73865409">More...</a><br /></td></tr>
<tr class="separator:a1d992a3d19b28c2f1fca0a6a73865409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classThread.html">Thread</a></td></tr>
<tr class="memitem:a9105c0abed75dd620b80c8c5e8b01603 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a9105c0abed75dd620b80c8c5e8b01603">Thread</a> (const <a class="el" href="classString.html">String</a> &amp;threadName, size_t threadStackSize=0)</td></tr>
<tr class="memdesc:a9105c0abed75dd620b80c8c5e8b01603 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a thread.  <a href="classThread.html#a9105c0abed75dd620b80c8c5e8b01603">More...</a><br /></td></tr>
<tr class="separator:a9105c0abed75dd620b80c8c5e8b01603 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a026b23628e1727050e864e00489c0baf inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a026b23628e1727050e864e00489c0baf">~Thread</a> ()</td></tr>
<tr class="memdesc:a026b23628e1727050e864e00489c0baf inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="classThread.html#a026b23628e1727050e864e00489c0baf">More...</a><br /></td></tr>
<tr class="separator:a026b23628e1727050e864e00489c0baf inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae90dfabab3e1776cf01a26e7ee3a620 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#aae90dfabab3e1776cf01a26e7ee3a620">run</a> ()=0</td></tr>
<tr class="memdesc:aae90dfabab3e1776cf01a26e7ee3a620 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Must be implemented to perform the thread's actual code.  <a href="classThread.html#aae90dfabab3e1776cf01a26e7ee3a620">More...</a><br /></td></tr>
<tr class="separator:aae90dfabab3e1776cf01a26e7ee3a620 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5502205d727c00752f95af27a063d983 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a5502205d727c00752f95af27a063d983">startThread</a> ()</td></tr>
<tr class="memdesc:a5502205d727c00752f95af27a063d983 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the thread running.  <a href="classThread.html#a5502205d727c00752f95af27a063d983">More...</a><br /></td></tr>
<tr class="separator:a5502205d727c00752f95af27a063d983 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc4aff2ceb97b0f16a0a08132315a900 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#acc4aff2ceb97b0f16a0a08132315a900">startThread</a> (int priority)</td></tr>
<tr class="memdesc:acc4aff2ceb97b0f16a0a08132315a900 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the thread with a given priority.  <a href="classThread.html#acc4aff2ceb97b0f16a0a08132315a900">More...</a><br /></td></tr>
<tr class="separator:acc4aff2ceb97b0f16a0a08132315a900 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18583d51411d6a34c59b63f0adff4697 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a18583d51411d6a34c59b63f0adff4697">stopThread</a> (int timeOutMilliseconds)</td></tr>
<tr class="memdesc:a18583d51411d6a34c59b63f0adff4697 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to stop the thread running.  <a href="classThread.html#a18583d51411d6a34c59b63f0adff4697">More...</a><br /></td></tr>
<tr class="separator:a18583d51411d6a34c59b63f0adff4697 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4e7957f1c3a3f98218324c0fdc3beb inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#afc4e7957f1c3a3f98218324c0fdc3beb">isThreadRunning</a> () const</td></tr>
<tr class="memdesc:afc4e7957f1c3a3f98218324c0fdc3beb inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the thread is currently active.  <a href="classThread.html#afc4e7957f1c3a3f98218324c0fdc3beb">More...</a><br /></td></tr>
<tr class="separator:afc4e7957f1c3a3f98218324c0fdc3beb inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affe168e27c6ee50b0d10522810772268 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#affe168e27c6ee50b0d10522810772268">signalThreadShouldExit</a> ()</td></tr>
<tr class="memdesc:affe168e27c6ee50b0d10522810772268 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a flag to tell the thread it should stop.  <a href="classThread.html#affe168e27c6ee50b0d10522810772268">More...</a><br /></td></tr>
<tr class="separator:affe168e27c6ee50b0d10522810772268 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab89b68d53514e0b3978460aab3202fd7 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#ab89b68d53514e0b3978460aab3202fd7">threadShouldExit</a> () const</td></tr>
<tr class="memdesc:ab89b68d53514e0b3978460aab3202fd7 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the thread has been told to stop running.  <a href="classThread.html#ab89b68d53514e0b3978460aab3202fd7">More...</a><br /></td></tr>
<tr class="separator:ab89b68d53514e0b3978460aab3202fd7 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9b6494f25d5d8eb07ed6fc96178eac5 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#ad9b6494f25d5d8eb07ed6fc96178eac5">waitForThreadToExit</a> (int timeOutMilliseconds) const</td></tr>
<tr class="memdesc:ad9b6494f25d5d8eb07ed6fc96178eac5 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for the thread to stop.  <a href="classThread.html#ad9b6494f25d5d8eb07ed6fc96178eac5">More...</a><br /></td></tr>
<tr class="separator:ad9b6494f25d5d8eb07ed6fc96178eac5 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0975d9ee9f403f5f82287fcce4a7168f inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a0975d9ee9f403f5f82287fcce4a7168f">setPriority</a> (int priority)</td></tr>
<tr class="memdesc:a0975d9ee9f403f5f82287fcce4a7168f inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the thread's priority.  <a href="classThread.html#a0975d9ee9f403f5f82287fcce4a7168f">More...</a><br /></td></tr>
<tr class="separator:a0975d9ee9f403f5f82287fcce4a7168f inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a614605563fceeac6f03d507bc35bdce4 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a614605563fceeac6f03d507bc35bdce4">setAffinityMask</a> (<a class="el" href="juce__MathsFunctions_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> affinityMask)</td></tr>
<tr class="memdesc:a614605563fceeac6f03d507bc35bdce4 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the affinity mask for the thread.  <a href="classThread.html#a614605563fceeac6f03d507bc35bdce4">More...</a><br /></td></tr>
<tr class="separator:a614605563fceeac6f03d507bc35bdce4 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99ac29606fd57fd418dfd169939f7b25 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a99ac29606fd57fd418dfd169939f7b25">wait</a> (int timeOutMilliseconds) const</td></tr>
<tr class="memdesc:a99ac29606fd57fd418dfd169939f7b25 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the thread wait for a notification.  <a href="classThread.html#a99ac29606fd57fd418dfd169939f7b25">More...</a><br /></td></tr>
<tr class="separator:a99ac29606fd57fd418dfd169939f7b25 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b4d5a1ffaa35cc13f323a0524012a2b inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a0b4d5a1ffaa35cc13f323a0524012a2b">notify</a> () const</td></tr>
<tr class="memdesc:a0b4d5a1ffaa35cc13f323a0524012a2b inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wakes up the thread.  <a href="classThread.html#a0b4d5a1ffaa35cc13f323a0524012a2b">More...</a><br /></td></tr>
<tr class="separator:a0b4d5a1ffaa35cc13f323a0524012a2b inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39ca822734b9b20ab32eeba774c9a803 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classThread.html#a077e20855a3c974c2fc6f9e7caa8412c">ThreadID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a39ca822734b9b20ab32eeba774c9a803">getThreadId</a> () const noexcept</td></tr>
<tr class="memdesc:a39ca822734b9b20ab32eeba774c9a803 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ID of this thread.  <a href="classThread.html#a39ca822734b9b20ab32eeba774c9a803">More...</a><br /></td></tr>
<tr class="separator:a39ca822734b9b20ab32eeba774c9a803 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d416be2e075de0be64ba958ac0efc17 inherit pub_methods_classThread"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classString.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a0d416be2e075de0be64ba958ac0efc17">getThreadName</a> () const</td></tr>
<tr class="memdesc:a0d416be2e075de0be64ba958ac0efc17 inherit pub_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the thread.  <a href="classThread.html#a0d416be2e075de0be64ba958ac0efc17">More...</a><br /></td></tr>
<tr class="separator:a0d416be2e075de0be64ba958ac0efc17 inherit pub_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classThread.html">Thread</a></td></tr>
<tr class="memitem:a077e20855a3c974c2fc6f9e7caa8412c inherit pub_types_classThread"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a077e20855a3c974c2fc6f9e7caa8412c">ThreadID</a></td></tr>
<tr class="memdesc:a077e20855a3c974c2fc6f9e7caa8412c inherit pub_types_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">A value type used for thread IDs.  <a href="classThread.html#a077e20855a3c974c2fc6f9e7caa8412c">More...</a><br /></td></tr>
<tr class="separator:a077e20855a3c974c2fc6f9e7caa8412c inherit pub_types_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classThread.html">Thread</a></td></tr>
<tr class="memitem:ac92778089556fd0b5ab9c31557669ce8 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#ac92778089556fd0b5ab9c31557669ce8">currentThreadShouldExit</a> ()</td></tr>
<tr class="memdesc:ac92778089556fd0b5ab9c31557669ce8 inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the current thread has been told to stop running.  <a href="classThread.html#ac92778089556fd0b5ab9c31557669ce8">More...</a><br /></td></tr>
<tr class="separator:ac92778089556fd0b5ab9c31557669ce8 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a777202bb5aa9ce7f57605674b100f4 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a9a777202bb5aa9ce7f57605674b100f4">setCurrentThreadPriority</a> (int priority)</td></tr>
<tr class="memdesc:a9a777202bb5aa9ce7f57605674b100f4 inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the priority of the caller thread.  <a href="classThread.html#a9a777202bb5aa9ce7f57605674b100f4">More...</a><br /></td></tr>
<tr class="separator:a9a777202bb5aa9ce7f57605674b100f4 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21eb5ae8c32bc2ecacba904f3411802 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static void <a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#ac21eb5ae8c32bc2ecacba904f3411802">setCurrentThreadAffinityMask</a> (<a class="el" href="juce__MathsFunctions_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> affinityMask)</td></tr>
<tr class="memdesc:ac21eb5ae8c32bc2ecacba904f3411802 inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the affinity mask for the caller thread.  <a href="classThread.html#ac21eb5ae8c32bc2ecacba904f3411802">More...</a><br /></td></tr>
<tr class="separator:ac21eb5ae8c32bc2ecacba904f3411802 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee1ddee32aa82ac90bc567cb7427926 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static void <a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a4ee1ddee32aa82ac90bc567cb7427926">sleep</a> (int milliseconds)</td></tr>
<tr class="separator:a4ee1ddee32aa82ac90bc567cb7427926 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf47a344b3b715e49ffcbc6119c72cdc inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static void <a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#aaf47a344b3b715e49ffcbc6119c72cdc">yield</a> ()</td></tr>
<tr class="memdesc:aaf47a344b3b715e49ffcbc6119c72cdc inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Yields the calling thread's current time-slot.  <a href="classThread.html#aaf47a344b3b715e49ffcbc6119c72cdc">More...</a><br /></td></tr>
<tr class="separator:aaf47a344b3b715e49ffcbc6119c72cdc inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd4762b20144186ffc28280cedd224e9 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classThread.html#a077e20855a3c974c2fc6f9e7caa8412c">ThreadID</a> <a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#abd4762b20144186ffc28280cedd224e9">getCurrentThreadId</a> ()</td></tr>
<tr class="memdesc:abd4762b20144186ffc28280cedd224e9 inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an id that identifies the caller thread.  <a href="classThread.html#abd4762b20144186ffc28280cedd224e9">More...</a><br /></td></tr>
<tr class="separator:abd4762b20144186ffc28280cedd224e9 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a9f45ea3ff9a7d39a50f78059640cd inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classThread.html">Thread</a> *<a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a40a9f45ea3ff9a7d39a50f78059640cd">getCurrentThread</a> ()</td></tr>
<tr class="memdesc:a40a9f45ea3ff9a7d39a50f78059640cd inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the thread object that is currently running.  <a href="classThread.html#a40a9f45ea3ff9a7d39a50f78059640cd">More...</a><br /></td></tr>
<tr class="separator:a40a9f45ea3ff9a7d39a50f78059640cd inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ba2a683ea8111c08db83092360b7226 inherit pub_static_methods_classThread"><td class="memItemLeft" align="right" valign="top">static void <a class="el" href="juce__PlatformDefs_8h.html#af0b3f78ca801d88a7912f4c6bbf50e58">JUCE_CALLTYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classThread.html#a8ba2a683ea8111c08db83092360b7226">setCurrentThreadName</a> (const <a class="el" href="classString.html">String</a> &amp;newThreadName)</td></tr>
<tr class="memdesc:a8ba2a683ea8111c08db83092360b7226 inherit pub_static_methods_classThread"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the name of the caller thread.  <a href="classThread.html#a8ba2a683ea8111c08db83092360b7226">More...</a><br /></td></tr>
<tr class="separator:a8ba2a683ea8111c08db83092360b7226 inherit pub_static_methods_classThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A thread that automatically pops up a modal dialog box with a progress bar and cancel button while it's busy running. </p>
<p>These are handy for performing some sort of task while giving the user feedback about how long there is to go, etc.</p>
<p>E.g.</p><div class="fragment"><div class="line"><span class="keyword">class </span>MyTask  : <span class="keyword">public</span> <a class="code" href="classThreadWithProgressWindow.html">ThreadWithProgressWindow</a></div><div class="line">{</div><div class="line"><span class="keyword">public</span>:</div><div class="line">    MyTask()    : <a class="code" href="classThreadWithProgressWindow.html">ThreadWithProgressWindow</a> (<span class="stringliteral">&quot;busy...&quot;</span>, true, true)</div><div class="line">    {</div><div class="line">    }</div><div class="line"></div><div class="line">    <span class="keywordtype">void</span> <a class="code" href="classThread.html#aae90dfabab3e1776cf01a26e7ee3a620">run</a>()</div><div class="line">    {</div><div class="line">        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; thingsToDo; ++i)</div><div class="line">        {</div><div class="line">            <span class="comment">// must check this as often as possible, because this is</span></div><div class="line">            <span class="comment">// how we know if the user&#39;s pressed &#39;cancel&#39;</span></div><div class="line">            <span class="keywordflow">if</span> (<a class="code" href="classThread.html#ab89b68d53514e0b3978460aab3202fd7">threadShouldExit</a>())</div><div class="line">                <span class="keywordflow">break</span>;</div><div class="line"></div><div class="line">            <span class="comment">// this will update the progress bar on the dialog box</span></div><div class="line">            <a class="code" href="classThreadWithProgressWindow.html#a607960c4dca64ea8e6193cc5e94d8c76">setProgress</a> (i / (<span class="keywordtype">double</span>) thingsToDo);</div><div class="line"></div><div class="line"></div><div class="line">            <span class="comment">//   ... do the business here...</span></div><div class="line">        }</div><div class="line">    }</div><div class="line">};</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> doTheTask()</div><div class="line">{</div><div class="line">    MyTask m;</div><div class="line"></div><div class="line">    <span class="keywordflow">if</span> (m.runThread())</div><div class="line">    {</div><div class="line">        <span class="comment">// thread finished normally..</span></div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">// user pressed the cancel button..</span></div><div class="line">    }</div><div class="line">}</div></div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="classThread.html" title="Encapsulates a thread. ">Thread</a>, <a class="el" href="classAlertWindow.html" title="A window that displays a message and has buttons for the user to react to it. ">AlertWindow</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac4fae9b0c2d110ca03e010d34133ea75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4fae9b0c2d110ca03e010d34133ea75">&sect;&nbsp;</a></span>ThreadWithProgressWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ThreadWithProgressWindow::ThreadWithProgressWindow </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classString.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>windowTitle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hasProgressBar</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>hasCancelButton</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeOutMsWhenCancelling</em> = <code>10000</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classString.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>cancelButtonText</em> = <code><a class="el" href="classString.html">String</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classComponent.html">Component</a> *&#160;</td>
          <td class="paramname"><em>componentToCentreAround</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates the thread. </p>
<p>Initially, the dialog box won't be visible, it'll only appear when the <a class="el" href="classThreadWithProgressWindow.html#afe370f79b86da5772db49f692e3bf09a" title="Starts the thread and waits for it to finish. ">runThread()</a> method is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">windowTitle</td><td>the title to go at the top of the dialog box </td></tr>
    <tr><td class="paramname">hasProgressBar</td><td>whether the dialog box should have a progress bar (see <a class="el" href="classThreadWithProgressWindow.html#a607960c4dca64ea8e6193cc5e94d8c76" title="The thread should call this periodically to update the position of the progress bar. ">setProgress()</a> ) </td></tr>
    <tr><td class="paramname">hasCancelButton</td><td>whether the dialog box should have a cancel button </td></tr>
    <tr><td class="paramname">timeOutMsWhenCancelling</td><td>when 'cancel' is pressed, this is how long to wait for the thread to stop before killing it forcibly (see <a class="el" href="classThread.html#a18583d51411d6a34c59b63f0adff4697" title="Attempts to stop the thread running. ">Thread::stopThread()</a> ) </td></tr>
    <tr><td class="paramname">cancelButtonText</td><td>the text that should be shown in the cancel button (if it has one). Leave this empty for the default "Cancel" </td></tr>
    <tr><td class="paramname">componentToCentreAround</td><td>if this is non-null, the window will be positioned so that it's centred around this component. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a04c322fd5b4eb2612ab5118565ee4d29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04c322fd5b4eb2612ab5118565ee4d29">&sect;&nbsp;</a></span>~ThreadWithProgressWindow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ThreadWithProgressWindow::~ThreadWithProgressWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="afe370f79b86da5772db49f692e3bf09a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe370f79b86da5772db49f692e3bf09a">&sect;&nbsp;</a></span>runThread()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ThreadWithProgressWindow::runThread </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em> = <code>5</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts the thread and waits for it to finish. </p>
<p>This will start the thread, make the dialog box appear, and wait until either the thread finishes normally, or until the cancel button is pressed.</p>
<p>Before returning, the dialog box will be hidden.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">priority</td><td>the priority to use when starting the thread - see <a class="el" href="classThread.html#a5502205d727c00752f95af27a063d983" title="Starts the thread running. ">Thread::startThread()</a> for values </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the thread finished normally; false if the user pressed cancel </dd></dl>

</div>
</div>
<a id="adb0f85d0de1be635284b3606b02d1708"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb0f85d0de1be635284b3606b02d1708">&sect;&nbsp;</a></span>launchThread()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ThreadWithProgressWindow::launchThread </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em> = <code>5</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts the thread and returns. </p>
<p>This will start the thread and make the dialog box appear in a modal state. When the thread finishes normally, or the cancel button is pressed, the window will be hidden and the <a class="el" href="classThreadWithProgressWindow.html#a1d992a3d19b28c2f1fca0a6a73865409" title="This method is called (on the message thread) when the operation has finished. ">threadComplete()</a> method will be called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">priority</td><td>the priority to use when starting the thread - see <a class="el" href="classThread.html#a5502205d727c00752f95af27a063d983" title="Starts the thread running. ">Thread::startThread()</a> for values </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a607960c4dca64ea8e6193cc5e94d8c76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a607960c4dca64ea8e6193cc5e94d8c76">&sect;&nbsp;</a></span>setProgress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ThreadWithProgressWindow::setProgress </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>newProgress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The thread should call this periodically to update the position of the progress bar. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newProgress</td><td>the progress, from 0.0 to 1.0 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classThreadWithProgressWindow.html#a3f85676fc78cb05eecaf93f5d47eeaa5" title="The thread can call this to change the message that&#39;s displayed in the dialog box. ">setStatusMessage</a> </dd></dl>

</div>
</div>
<a id="a3f85676fc78cb05eecaf93f5d47eeaa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f85676fc78cb05eecaf93f5d47eeaa5">&sect;&nbsp;</a></span>setStatusMessage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ThreadWithProgressWindow::setStatusMessage </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classString.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>newStatusMessage</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The thread can call this to change the message that's displayed in the dialog box. </p>

</div>
</div>
<a id="a0e5317249298095d572ca993649f444f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e5317249298095d572ca993649f444f">&sect;&nbsp;</a></span>getAlertWindow()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classAlertWindow.html">AlertWindow</a>* ThreadWithProgressWindow::getAlertWindow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the <a class="el" href="classAlertWindow.html" title="A window that displays a message and has buttons for the user to react to it. ">AlertWindow</a> that is being used. </p>

<p>References <a class="el" href="juce__PlatformDefs_8h.html#a851b02724a8158a7f746c66b5758b3dd">JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR</a>, and <a class="el" href="classTimer.html#a8adc40ca0fb4170737ba12e30481b9d8">Timer::timerCallback()</a>.</p>

</div>
</div>
<a id="a1d992a3d19b28c2f1fca0a6a73865409"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d992a3d19b28c2f1fca0a6a73865409">&sect;&nbsp;</a></span>threadComplete()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ThreadWithProgressWindow::threadComplete </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>userPressedCancel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is called (on the message thread) when the operation has finished. </p>
<p>You may choose to use this callback to delete the <a class="el" href="classThreadWithProgressWindow.html" title="A thread that automatically pops up a modal dialog box with a progress bar and cancel button while it...">ThreadWithProgressWindow</a> object. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="juce__ThreadWithProgressWindow_8h.html">juce_ThreadWithProgressWindow.h</a></li>
</ul>
</div><!-- contents -->
<hr class="footer"/>
<address class="footer"><small>All content &copy ROLI Ltd.</small></address><br/>
</body>
</html>