<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Depending on what you want to do, some have to be interruptible,
and some have to prioritary. For example in the following example,
where you can start/stop incrementing a slider, the "start"
callback must be interruptible but the "stop" callback must be
prioritary :<br>
</p>
<pre style="font-family:Monospaced;font-style:normal;font-size:18.0;"><font size="2"><span style="color:rgb(176,24,19);">function</span> <span style="color:rgb(0,0,0);text-decoration:underline;">stop</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(50,185,185);">set</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">button</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">userdata</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(218,112,214);">%t</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(176,24,19);">endfunction</span>
<span style="color:rgb(176,24,19);">function</span> <span style="color:rgb(0,0,0);text-decoration:underline;">start</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(160,32,240);">try</span>
<span style="color:rgb(0,0,0);">but</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">get</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">button</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">string</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">stop</span><span style="color:rgb(188,143,143);">"</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">callback</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">stop()</span><span style="color:rgb(188,143,143);">"</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">callback_type</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">userdata</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(218,112,214);">%f</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">sl</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">get</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">slider</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(0,0,0);">tuser</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">tuser</span><span style="color:rgb(92,92,92);">>=</span><span style="color:rgb(0,0,0);">sl</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">value</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(160,32,240);">if</span> <span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">userdata</span>
<span style="color:rgb(95,158,160);">break</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">sl</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">value</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">t</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">title</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">msprintf</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">t=%g</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">callback_type</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">callback</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">start()</span><span style="color:rgb(188,143,143);">"</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">.</span><span style="color:rgb(170,170,170);">string</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">start</span><span style="color:rgb(188,143,143);">"</span>
<span style="color:rgb(160,32,240);">catch</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(176,24,19);">endfunction</span>
<span style="color:rgb(0,0,0);">tuser</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">0</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">0.001</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">sl</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">uicontrol</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">style</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">slider</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">tag</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">slider</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">units</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">normalized</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">position</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0.1</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0.9</span> <span style="color:rgb(188,143,143);">0.05</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">background</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">min</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">max</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(255,170,0);">$</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">sliderstep</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">2</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">-</span><span style="color:rgb(0,0,0);">t</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">but</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(50,185,185);">uicontrol</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">style</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">pushbutton</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">units</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">normalized</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">position</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(74,85,219);">[</span><span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0</span> <span style="color:rgb(188,143,143);">0.1</span> <span style="color:rgb(188,143,143);">0.05</span><span style="color:rgb(74,85,219);">]</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">string</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">start</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">tag</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">button</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">string</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">start</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">...</span>
<span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">callback</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(188,143,143);">start()</span><span style="color:rgb(188,143,143);">"</span><span style="color:rgb(74,85,219);">)</span></font></pre>
<p></p>
<div class="moz-cite-prefix">Le 20/09/2022 à 13:41, Stefan Du Rietz
a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:82da9096-85c8-e693-9187-181ac95ed033@durietz.se">Hi,
thanks.
<br>
Yes, but it doesn't seem to make much difference. And I don't
exactly understand the different options.
<br>
<br>
Stefan
<br>
<br>
<br>
On 2022-09-20 12:03, Stéphane Mottelet wrote:
<br>
<blockquote type="cite">Hi,
<br>
<br>
Did you try to play wth callback_type (interruptible or not) ?
<br>
<br>
Le 20/09/2022 à 10:48, Stefan Du Rietz a écrit :
<br>
<blockquote type="cite">Hello Stéphane,
<br>
<br>
a minimal example works OK all the time ...
<br>
<br>
So, there must be something in my rather complex GUI
environment, with many private functions, that does not. But
since I get no warning or error messages, I don't know how to
proceed.
<br>
<br>
Can the delays be due to timeouts?
<br>
<br>
Regards
<br>
Stefan
<br>
<br>
<br>
On 2022-09-19 08:45, Stéphane Mottelet wrote:
<br>
<blockquote type="cite">Hello Stefan,
<br>
<br>
Can you give a minimal and reproductible example ?
<br>
<br>
S.
<br>
<br>
Le 18/09/2022 à 12:18, Stefan Du Rietz a écrit :
<br>
<blockquote type="cite">Hello,
<br>
I have a problem with GUI: when I choose a menu or press a
button, sometimes it takes half a minute before the
callback starts. Scilab is then using 100% of CPU,
according to Bash top. I suppose it has something to do
with Java? What can I do?
<br>
<br>
--> ver
<br>
ans =
<br>
"Scilab Version: " "6.1.1.1626343451"
<br>
"Operating System: " "Linux
5.4.0-125-generic"
<br>
"Java version: " "1.8.0_292"
<br>
"Java runtime information: " "OpenJDK Runtime
Environment (build 1.8.0_292-b10)"
<br>
"Java Virtual Machine information: " "OpenJDK 64-Bit
Server VM (build 25.292-b10, mixed mode)"
<br>
"Vendor specification: " "Oracle
Corporation"
<br>
<br>
Regards
<br>
Stefan
<br>
_______________________________________________
<br>
users mailing list - <a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<br>
Click here to unsubscribe:
<a class="moz-txt-link-rfc2396E" href="mailto:users-unsubscribe@lists.scilab.org"><mailto:users-unsubscribe@lists.scilab.org></a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
<br>
</blockquote>
<br>
</blockquote>
_______________________________________________
<br>
users mailing list - <a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<br>
Click here to unsubscribe:
<a class="moz-txt-link-rfc2396E" href="mailto:users-unsubscribe@lists.scilab.org"><mailto:users-unsubscribe@lists.scilab.org></a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
<br>
</blockquote>
<br>
</blockquote>
_______________________________________________
<br>
users mailing list - <a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<br>
Click here to unsubscribe:
<a class="moz-txt-link-rfc2396E" href="mailto:users-unsubscribe@lists.scilab.org"><mailto:users-unsubscribe@lists.scilab.org></a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
<br>
</blockquote>
<pre class="moz-signature" cols="72">--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a>
</pre>
</body>
</html>