<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972</link>
    <title>MATLAB Central Newsreader - I have a question about gui</title>
    <description>Feed for thread: I have a question about gui</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Wed, 26 Nov 2008 17:02:02 -0500</pubDate>
      <title>I have a question about gui</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972#613422</link>
      <author>JJ JJ</author>
      <description>Hi &lt;br&gt;
&lt;br&gt;
I want to make a simple gravity simulation.&lt;br&gt;
&lt;br&gt;
It's very simple.&lt;br&gt;
&lt;br&gt;
If  input weight(text field) and press add button,&lt;br&gt;
&lt;br&gt;
object is made and drop down by gravity.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The problem is here.&lt;br&gt;
&lt;br&gt;
When one object already dropping, I add another object,&lt;br&gt;
&lt;br&gt;
second object doesn't move until first object reaches ground.&lt;br&gt;
&lt;br&gt;
I think, I make function move() and&lt;br&gt;
&lt;br&gt;
function move() returns immediately from the function call.&lt;br&gt;
&lt;br&gt;
but, how can I exactly do that ?&lt;br&gt;
&lt;br&gt;
I want to make many object and drop down at the same time.</description>
    </item>
    <item>
      <pubDate>Thu, 27 Nov 2008 09:47:02 -0500</pubDate>
      <title>Re: I have a question about gui</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972#613547</link>
      <author>Ryan Ollos</author>
      <description>&quot;JJ JJ&quot; &amp;lt;JJham2142@gmail.com&amp;gt; wrote in message &amp;lt;ggjvea$sfi$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hi &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I want to make a simple gravity simulation.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; It's very simple.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; If  input weight(text field) and press add button,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; object is made and drop down by gravity.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The problem is here.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; When one object already dropping, I add another object,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; second object doesn't move until first object reaches ground.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I think, I make function move() and&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function move() returns immediately from the function call.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; but, how can I exactly do that ?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I want to make many object and drop down at the same time.&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;br&gt;
I have done animations like this using Timer functions.  I assume you have a FOR loop running in move().  There is no way to make the MATLAB function move() return before it completes.&lt;br&gt;
&lt;br&gt;
If you use a timer object, at each execution of the callback you can have a set of conditionals that creates and destroys objects, and increments the position of objects.  One option is to store the data in UserData of the Timer function, so that it is accessible and can be updated on each invokation of the callback.</description>
    </item>
    <item>
      <pubDate>Sun, 30 Nov 2008 09:40:20 -0500</pubDate>
      <title>Re: I have a question about gui</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972#613955</link>
      <author>J.J. hamin</author>
      <description>&quot;Ryan Ollos&quot; &amp;lt;ryano@physiosonics.com&amp;gt; wrote in message &amp;lt;gglqam$1c0$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;JJ JJ&quot; &amp;lt;JJham2142@gmail.com&amp;gt; wrote in message &amp;lt;ggjvea$sfi$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Hi &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I want to make a simple gravity simulation.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; It's very simple.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; If  input weight(text field) and press add button,&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; object is made and drop down by gravity.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; The problem is here.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; When one object already dropping, I add another object,&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; second object doesn't move until first object reaches ground.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I think, I make function move() and&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; function move() returns immediately from the function call.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; but, how can I exactly do that ?&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; I want to make many object and drop down at the same time.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; I have done animations like this using Timer functions.  I assume you have a FOR loop running in move().  There is no way to make the MATLAB function move() return before it completes.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; If you use a timer object, at each execution of the callback you can have a set of conditionals that creates and destroys objects, and increments the position of objects.  One option is to store the data in UserData of the Timer function, so that it is accessible and can be updated on each invokation of the callback.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Very Very Thanks for your answer.&lt;br&gt;
&lt;br&gt;
It's helpful!&lt;br&gt;
&lt;br&gt;
but, I can't make program in a concrete way.&lt;br&gt;
&lt;br&gt;
So, Could you sent me a example source code that was mentioned your answer?&lt;br&gt;
&lt;br&gt;
my email is JJham2142@gmail.com</description>
    </item>
    <item>
      <pubDate>Sun, 30 Nov 2008 10:47:02 -0500</pubDate>
      <title>Re: I have a question about gui</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972#613959</link>
      <author>Ryan Ollos</author>
      <description>&quot;J.J. hamin&quot; &amp;lt;JJham2142@gmail.com&amp;gt; wrote in message &amp;lt;ggtn24$44i$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Very Very Thanks for your answer.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; It's helpful!&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; but, I can't make program in a concrete way.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; So, Could you sent me a example source code that was mentioned your answer?&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; my email is JJham2142@gmail.com&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
function hOut = moveObjectWithTimer&lt;br&gt;
% This function randomly creates 'dots' and moves them across the screen&lt;br&gt;
&lt;br&gt;
global h&lt;br&gt;
&lt;br&gt;
h.figure = figure;&lt;br&gt;
&lt;br&gt;
h.axes = axes('XLim', [0 10], ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'YLim', [0 10]);   &lt;br&gt;
&lt;br&gt;
h.line = [];&lt;br&gt;
&lt;br&gt;
h.timer = timer('ExecutionMode', 'fixedrate', ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Period', 1, ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'TimerFcn', @moveObject);&lt;br&gt;
&lt;br&gt;
start(h.timer);&lt;br&gt;
&lt;br&gt;
hOut = h;&lt;br&gt;
&lt;br&gt;
function moveObject(tObj, eventdata)&lt;br&gt;
&lt;br&gt;
global h&lt;br&gt;
&lt;br&gt;
% Move objects&lt;br&gt;
for i=1:length(h.line)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XData = get(h.line(i), 'XData');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YData = get(h.line(i), 'YData');    &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XData = XData - 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YData = YData - 1;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;set(h.line(i), 'XData', XData, ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'YData', YData);&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
% Randomly create a new object, on average every nPeriods&lt;br&gt;
nPeriods = 5;&lt;br&gt;
r = randi(nPeriods, 1);&lt;br&gt;
if r == 1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hObj = createObject;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h.line = [h.line hObj];&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
% Delete objects that have reached lhs of axes&lt;br&gt;
hLineTemp = h.line;&lt;br&gt;
for i=1:length(h.line)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XData = get(h.line(i), 'XData');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;YData = get(h.line(i), 'YData');    &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if XData==-1 &amp;&amp; YData==-1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delete(hLineTemp(i))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hLineTemp(i)=[];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
end&lt;br&gt;
h.line = hLineTemp;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
function hObj = createObject&lt;br&gt;
&lt;br&gt;
global h&lt;br&gt;
&lt;br&gt;
hObj = line('Parent', h.axes, ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'XData', 10, ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'YData', 10, ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Marker', 'o', ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'MarkerFaceColor', [0 0 0], ...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'LineStyle', 'none');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
% [EOF]</description>
    </item>
    <item>
      <pubDate>Wed, 03 Dec 2008 06:47:01 -0500</pubDate>
      <title>Re: I have a question about gui</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/239972#614665</link>
      <author>J.J. hamin</author>
      <description>&quot;Ryan Ollos&quot; &amp;lt;ryano@physiosonics.com&amp;gt; wrote in message &amp;lt;ggtqv6$nbi$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;J.J. hamin&quot; &amp;lt;JJham2142@gmail.com&amp;gt; wrote in message &amp;lt;ggtn24$44i$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Very Very Thanks for your answer.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; It's helpful!&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; but, I can't make program in a concrete way.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; So, Could you sent me a example source code that was mentioned your answer?&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; my email is JJham2142@gmail.com&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function hOut = moveObjectWithTimer&lt;br&gt;
&amp;gt; % This function randomly creates 'dots' and moves them across the screen&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; global h&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; h.figure = figure;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; h.axes = axes('XLim', [0 10], ...&lt;br&gt;
&amp;gt;     'YLim', [0 10]);   &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; h.line = [];&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; h.timer = timer('ExecutionMode', 'fixedrate', ...&lt;br&gt;
&amp;gt;     'Period', 1, ...&lt;br&gt;
&amp;gt;     'TimerFcn', @moveObject);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; start(h.timer);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; hOut = h;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function moveObject(tObj, eventdata)&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; global h&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Move objects&lt;br&gt;
&amp;gt; for i=1:length(h.line)&lt;br&gt;
&amp;gt;     XData = get(h.line(i), 'XData');&lt;br&gt;
&amp;gt;     YData = get(h.line(i), 'YData');    &lt;br&gt;
&amp;gt;     XData = XData - 1;&lt;br&gt;
&amp;gt;     YData = YData - 1;&lt;br&gt;
&amp;gt;     set(h.line(i), 'XData', XData, ...&lt;br&gt;
&amp;gt;         'YData', YData);&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Randomly create a new object, on average every nPeriods&lt;br&gt;
&amp;gt; nPeriods = 5;&lt;br&gt;
&amp;gt; r = randi(nPeriods, 1);&lt;br&gt;
&amp;gt; if r == 1&lt;br&gt;
&amp;gt;     hObj = createObject;&lt;br&gt;
&amp;gt;     h.line = [h.line hObj];&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Delete objects that have reached lhs of axes&lt;br&gt;
&amp;gt; hLineTemp = h.line;&lt;br&gt;
&amp;gt; for i=1:length(h.line)&lt;br&gt;
&amp;gt;     XData = get(h.line(i), 'XData');&lt;br&gt;
&amp;gt;     YData = get(h.line(i), 'YData');    &lt;br&gt;
&amp;gt;     if XData==-1 &amp;&amp; YData==-1&lt;br&gt;
&amp;gt;         delete(hLineTemp(i))&lt;br&gt;
&amp;gt;         hLineTemp(i)=[];&lt;br&gt;
&amp;gt;     end&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; h.line = hLineTemp;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function hObj = createObject&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; global h&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; hObj = line('Parent', h.axes, ...&lt;br&gt;
&amp;gt;     'XData', 10, ...&lt;br&gt;
&amp;gt;     'YData', 10, ...&lt;br&gt;
&amp;gt;     'Marker', 'o', ...&lt;br&gt;
&amp;gt;     'MarkerFaceColor', [0 0 0], ...&lt;br&gt;
&amp;gt;     'LineStyle', 'none');&lt;br&gt;
&amp;gt;         &lt;br&gt;
&amp;gt; % [EOF]&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
THANKS !!</description>
    </item>
  </channel>
</rss>

