BusyAction & Interruptible
BusyAction &
Interruptible
اكثر
اشیایی كه در ساختار گرافیكی مطلب دیده میشوند ، ویژگیهای مشتركی دارند.امروز به
دو ویژگی دیگر از آنها میپردازم.
این كدها
را در در یك m-file
به اسم plot1 ذخیره كنید.
x=1:100;
y=x.^2;
hold on
for i=1:99
plot([x(i) x(i+1)],[y
(i)
y(i+1)])
drawnow
end
و كدهای
زیر را به اسم plot2
x=1:100;
y=-(x.^2);
hold on
for i=1:99
plot([x(i)
x(i+1)],[y(i) y(i+1)])
drawnow
end
در خط
فرمان دستور زیر را بنویسید.
figure
('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1')
بر روی
پنجره باز شده كلیك كرده و تكمه موس را پایین نگه دارید ، بعد از چند لحظه تكمه
موس را رها كنید.
میبینید
كه رسم نمودار اول متوقف شده و نمودار دروم رسم میشود.
با دستور
get مقدار دو ویژگی یاد
شده را مشاهده كنید.
get
(gcf,'bus')
get
(gcf,'inter')
نكته : در هنگام كار كردن با ویژگیها لازم نیست نام
كامل آنها را بنویسید، فقط تا آنجایی كه با بقیه ویژگیها قاطی نشود لازم است كه
بنویسید.
مقدار
bus برابر با
queue(صف) یعنی
رخداد(event)
دوم بعد از رخداد اول انجام میشود.مقدار inter برابر با on یعنی رخداد دوم میتواند جلوی رخداد اول را بگیرد.
figure
('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1','Interru
ptible','off')
دوباره
تكمه موس را پایین نگه داشته و بعد رها كنید.میبینید كه رخداد اول یطور كامل
انجام شده و بعد رخداد دوم انجام میشود.
این دفعه
یك پنجره ایجاد كرده و مقدار bus
را برابر با cancel
و مقدار inter
را off
میكنیم.
figure
('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1')
set
(gcf,'inter','off')
set
(gcf,'bus','cancel')
بعد از
رها كردن موس هیچ اتفاقی نمیافتد.