صياغة اسم الاستدعاء و وسطائه

Preview

إن GUIDE يعرف اصطلاحات لأسماء الاستدعاء ووسطائه و يصيغ هذه المصطلحات في قوالب و إصدارات الاستدعاء التي تضاف إلى ملف M-file. كل قال يكون مشابه للتابع الجزئي callback لزر الضغط الموضح في العبارات التالية :

% — Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

 

إن سطر التعليق الأول يصف الحدث الذي يشغل تنفيذ الاستدعاء. إن هذا السطر يتبع بسطر تعريف التابع، أما التعليقات الباقية تصف وسطاء الدخل. أدخل شيفرة البرنامج بعد التعليق الأخير.يمكنك تجنب التوليد الآلي لأسطر تعليقات الاستدعاء للاستدعاءات الجديدة. في مربع حوار التفضيلات Preferences، اختر GUIDE وألغ الخيار:

Add Comments for newly generated Callback functions

 

  1. تسمية توابع الاستدعاء

إن مثال الاستدعاء الموضح أعلاه يوضح التعريف التالي للتابع:

function pushbutton1_Callback(hObject, eventdata, handles)

عندما يقوم GUIDE بتوليد القالب، فإنه ينشئ اسم الاستدعاء بإلحاق محرف الخط السفلي (_) واسم خاصية الاستدعاء إلى خاصية Tag للمكونة. في المثال المدروس، فإن pushbutton1 تكون خاصية Tag لزر الضغط، وcallback يكون واحداً من خواص الاستدعاء لزر الضغط. إن خاصية Tag تعرف وبشكل وحيد المكونة ضمن الواجهة GUI. في المرة الأولى التي تخزن فيها الواجهة GUI بعد إضافة المكونة، يضيف GUIDE استدعاءات هذه المكونة إلى ملف M-file ويولد أسماء الاستدعاء باستخدام القيمة الحالية لخاصية Tag. وإذا أردت تغيير قيمة Tag الافتراضية فإنه عليك أن تفعل ذلك قبل تخزين الواجهة GUI.

 

  1. تغيير أسماء الاستدعاءات المخصصة من GUIDE

يمكنك تغيير أسماء الاستدعاءات المخصصة من GUIDE بإحدى الطرق التالية :

أ‌.      تغيير خاصية Tag

يمكنك أن تغير خصائص Tag لإعطاء استدعاءات المكونة اسماً ذا معنى أقوى. أي أنه من الممكن تغيير خاصية Tag من pushbutton1 إلى closebutton. إذا أمكن، قم بتغيير خاصية Tag قبل تخزين الواجهة، وعندها فإن GUIDE وبشكل أوتوماتيكي يستخدم القيمة الجديدة عندما يسمي الاستدعاءات. مع ذلك فإنه إذا قمت بتغيير خاصية Tag بعد تخزين الواجهة GUI، فإن GUIDE سيحدث الأجزاء التالية تبعاً للقيمة الجديدة للـ Tag، مؤمناً جعل كل المكونات تملك قيم Tag مختلفة:

o     توابع استدعاء المكونات في ملف M-file.

o     قيم خصائص استدعاء المكونات، التي تستطيع عرضها في مراقب الخاصية.

o     الإشارة في ملف M-file إلى حقل بنية handles التي تتضمن مقبض المكونات.

 

ب‌.  تغيير خاصية الاستدعاء

لإعادة تسمية تابع جزئي لاستدعاء جزئي بدون تغيير خاصية Tag:

o     استبدل العبارة النصية للاسم في خاصية الاستدعاء باسم جديد. على سبيل المثال، إذا كانت قيمة خاصية الاستدعاء لزر الضغط في mygui هي:

mygui(‘pb1_Callback’,gcbo,[ ],guidata(hObject))

فإن العبارة النصية pb1_Callback عبارة عن الاسم لتابع الاستدعاء. غير الاسم إلى الاسم المطلوب، على سبيل المثال، closebutton.

o     يجب عليك أن تحدث كل حالات اسم تابع الاستدعاء في ملف M-file.

o     يجب عليك تحديث المراجع في ملف M-file إلى حقل بنية handles التي تتضمن مقبض
المكونات.

 

  1. وسطاء الدخل: إن جميع الاستدعاءات في ملف للواجهة GUI تملك وسطاء الدخل التالية:

  • hobject: مقبض العنصر (المكونة) الذي يتم به تنفيذ الاستدعاء.

  • eventdata: تحجز لاستخدامات لاحقة.

  • handles: بنية تتضمن مقابض العناصر في الشكل. وكذلك معطيات التطبيقات المعرفة.

 

  1. البنية Handles

ينشئ GUIDE البنية handles التي تتضمن مقابض كل العناصر في الشكل، من أجل الواجهات GUI التي تتضمن
نص محرر، لوحة، قائمة منبثقة، وزر ضغط، فإن البنية handles تبدو في الأصل مشابهة للنص التالي، إن GUIDE يستخدم خاصية tag للمكونات لتسمية عنصر البنية وذلك من أجل التعامل معه.

 handles
=                  

           Figure1: 160.0011           Edit1: 9.0020            Uipanel1: 8.0017
Popupmenu: 7.0018           Pushbutton1: 161.0011           Output: 160.0011

 

إن GUIDE ينشئ ويعرض بنية handles كمعطيات للواجهة GUI، حيث تمرر كوسيط دخل لكل الاستدعاءات وتمكن استدعاءات الواجهة من مشاركة قيم الخاصية ومعطيات التطبيق.

العودة إلى: الواجهات الرسومية باستخدام GUIDE > الوحدة 4: الاستدعاءات