خـصـائـص الـبـرمـجـة فـي GUIDE


ما هو GUIDE ؟
إن GUIDE عبارة عن بيئة تطوير واجهة المستخدم الرسومية GUI في MATLAB , حيث تؤمن هذه البيئة مجموعة من الأدوات لإنشاء واجهة رسم المستخدم GUI. هذه الأدوات تبسط عملية تخطيط و برمجة GUI.

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

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

خلاصة أدوات GUIDE
إن أدوات GUIDE المتاحة في محرر التخطيط مبينة بالشكل.
إن الأدوات المسماة على الشكل موصوفة باختصار في الجدول المرفق. حيث يوضح الجدول كيفية استخدامها في الواجهة. 

يمكنك أيضاً ضبط التفضيلات التي تطبق على كل الواجهات التي يتم إنشاؤها و الخيارات التي تخص واجهة محددة.

الأداة (Tool)
استخدام هذه الأداة من أجل :

محرر التخطيط Layout Editor
يختار المكونات من لوحة المكونات الموجودة على الجانب اليساري من المحرر و يرتبها في منطقة التخطيط.
جدولة ضبط قياس الشكل
Figure Resize Tab
يضبط القياس للواجهة التي تكون معروضة بشكل أولي.
محرر القائمة Menu Editor
ينشئ قوائم و امتدادات (قوائم منيثقة...).

عناصر المحاذاة Align Objects
تحاذي و تقسم مجموعات المكونات, الشبكات و المساطر تمكنك أيضاً من محاذاة المكونات على الشبكة بالتوصيل الاختياري للشبكة.
محرر درجة الجدولة Tab Order Editor
يضبط درجة الجدولة و التخزين للمكونات في منطقة تخطيطك.

مراقب الخاصية Property Inspector
يحدد خصائص المكونات على مكان التخطيط لواجهتك, حيث يظهر قائمة من كل الخصائص التي يمكنك أن تضعها و يعرض القيم الحالية لها.
مكتشف الهدف Object Browser
يعرض قائمة هرمية من العناصر الموجودة على الشكل.

نفذ Run
يخزن و ينفذ الواجهة الحالية و يعرض الملف M-file المرافق مع الواجهة في محررك الافتراضي.


تفضيلات GUIDE
يمكنك ضبط التفضيلات لمحرر تخطيط GUIDE باختيار Preferences من قائمة File في الماتلاب. هذه التفضيلات تطبق على كل الواجهات التي تقوم بإنشائها.
إن التفضيلات تكون موجودة بأماكن مختلفة ضمن مربع حوار التفضيلات :
·        تفضيلات التأكيد.
·        خيار التوافق مع الإصدارات الأقدم.
·        كل التفضيلات الأخرى.

-         تفضيلات التأكيد
يوجد في محرر تخطيط GUIDE مربعي حوار يستخدمان للتأكيد, حيث يمكنك أن تختار ماذا تريد أن يعرض مربع حوار التأكيد عندما تقوم بما يلي :
§        تفعِل الواجهة GUI.
§        تصدِر الواجهة GUI.
في مربع حوار تفضيلات MATLAB, انقر General -> Confirmation Dialogs للدخول إلى تفضيلات التأكيد لمحرر التخطيط , كما بالشكل , ابحث عن كلمة GUIDE في العمود Tool.

أ‌.       خيار التخزين مع التفعيل :
عندما تقوم بتفعيل واجهتك GUI بالنقر على زر Run, سيظهر لك مربع حوار ليخبرك عن التخزين الوشيك و يدعك تختار فيها إذا كنت تريد أو لا تريد الاستمرار وذلك كما يوضح الشكل.

ب‌.  خيار التخزين مع التصدير :
عندما تقوم باختيار Export من قائمة File لمحرر التخطيط, سيظهر لك مربع حوار يخبرك عن التخزين الوشيك و يجعلك تختار فيما إذا كنت تريد الاستمرار أم لا, كما بالشكل .


-         خيار التوافق مع الإصدارات الأقدم
إن ملفات الشكل FIG-Files للواجهات الرسومية التي تم إنشاؤها أو تطويرها مع النسخة MATLAB 7.0 أو النسخ الأحدث من ذلك, تكون غير متوافقة بشكل أوتوماتيكي مع النسخة MATLAB 6.5 والنسخ الأقدم. لجعل ملف الشكل FIG-File الذي يكون نوع من الملفات MAT, متوافق مع النسخ الأقدم, فإنه يجب عليك أن تختبر التفضيل : Ensure backward compatibility (-v6)  وذلك النسبة للملف MAT-file و الذي يكون في مربع حوار Preferences تحت MAT-Files كما هو موضح بالشكل.
ملاحظة : الواجهات الرسومية التي تم تطويرها مع النسخة MATLAB 7.3 والأحدث لا تكون متوافقة مع النسخ MATLAB 7.2 والتي قبلها و يجب الأخذ بعين الاعتبار لذلك عند حفظ ملف الواجهة الرسومية.

 -         التفضيلات الأخرى
إن محرر تخطيط GUIDE مزود بتفضيلات أخرى متعددة. في مربع حوار تفضيلات MATLAB, انقر GUIDE للدخول إلى التفضيلات الباقية لمحرر التخطيط كما هو موضح.

كما هو موضح بالشكل فإن التفضيلات تقوم بما يلي :
أ‌.  .  عرض أسماء في لوحة المكونات.
ب‌. . عرض امتداد الملف في عنوان النافذة.
ت‌.  .عرض مسار الملف في عنوان النافذة.
ث‌.  .إضافة تعليقات لتوابع الاستدعاء المولدة حديثاً.

خيارات واجهة المستخدم الرسومية GUI
بعد فتح قالب جديد للواجهة GUI في محرر التخطيط, وقبل أن تخزن هذه الواجهة, يمكنك تكوين خيارات سير عمل مختلفة للواجهة و ذلك باستخدام مربع الحوار GUI options. هذه الخيارات يتم تطبيقها على واجهة محددة فقط و هي التي قمت بإنشائها.
إن الدخول إلى مربع الحوار يتم باختيار GUI options من قائمة Tools لمحرر التخطيط, فيظهر لك كما هو مبين الخيارات التالية :
o      سلوك ضبط القياس.
o      قابلية الدخول إلى سطر الأمر.
o      توليد ملف FIG-File  و M-file.
o      توليد ملف شكل FIG-File فقط.

-         سلوك ضبط القياس
يمكنك أن تتحكم فيما إذا كان المستخدم يستطيع أن يضبط قياس نافذة الشكل المتضمنة واجهتك و كيف يتعامل MATLAB مع ضبط القياس. إن GUIDE يوفر ثلاث خيارات :
·        Non-resizable : لا يستطيع المستخدم في هذه الحالة تغيير قياس النافذة (حالة افتراضية).
·        Proportional : يقوم MATLAB  في هذا الخيار و بشكل أوتوماتيكي بضبط قياس مكونات الواجهة بشكل نسبي مع قياس نافذة الشكل الجديد.
·        Other (يستخدم ResizeFcn) : تتم برمجة الواجهة بحيث يتم ضبط المكونات بطريقة معينة عندما يقوم المستخدم بإعادة ضبط قياس الشكل. إن الطريقة الأولى و الثانية ببساطة تحدد الخواص بشكل مناسب و لا تتطلب أي إجراء آخر. أما الطريقة الثالثة تتطلب منك أن تكتب إجرائية الاستدعاء التي تعيد حساب قياس و مكان المكونات بناء على قياس الشكل الجديد.

-         محاذاة المكونات
إن محرر التخطيط يزودك بعدد من الخصائص التي تسهل محاذاة وتوزيع المكونات بالنسبة لبعضها البعض.
o      أداة المحاذاة
تمكنك أداة المحاذاة من وضع العناصر بشكل متناسق بالنسبة لبعضها البعض وضبط الفراغ بين العناصر المختارة. إن عمليات المحاذاة المحددة تطبق على جميع المكونات التي تم اختيارها عندما تطبق الزر Apply.
إن أداة المحاذاة تزودك بنوعين من عميات المحاذاة :
§        Align : تحاذي المكونات المختارة إلى سطر مرجعي وحيد.
§        Distribute : تضع مساحة لكل المكونات المختارة بشكل تكون متساوية لبعضها البعض.
وكلا النوعين من المحاذاة يمكن أن يطبق في الاتجاهين العمودي والأفقي كما هو في الشكل. لاحظ أنه في عدد من الحالات, فإنه من الأفضل أن نطبق المحاذاة بشكل مستقل بالنسبة للاتجاه العمودي أو الأفقي باستخدام خطوتين منفصلتين.

1.    خيارات المحاذاة
هناك نوعين للمحاذاة بشكل أفقي وبشكل عمودي. كل خيار يحاذي المكونات المختارة إلى سطر مرجعي, الذي يتم تحديده بمربع التحديد الذي يضم العناصر المختارة. على سبيل المثال, فإن الصورة في الشكل التالي لمنطقة التخطيط توضح مربع التحديد مشكل من ثلاثة أزرار ضغط مختارة.

إن كل خيارات المحاذاة (أعلى عمودياً, مركزي, يسار أفقي و سفلي, مركزي, يميني) تخطط المكونات المختارة بالنسبة للطرف المقابل لمربع التحديد المختار.

2.    خيارات التوزيع
إن توزيع المكونات يضيف فراغات متساوية بين كل المكونات في المجموعة المنتقاة. تعمل خيارات التوزيع وفق نمطين مختلفين :
·        فراغات متساوية بين المكونات المختارة ضمن مربع التحديد (الحالة الافتراضية لهذا الخيار).
·        تفصل المكونات المختارة بقيمة محددة من البيكسل (اختر مربع الخيار set spacing) و spacingمختارة بقيمة محددة من البيكسل (اختر مربع الخيار تراضية لهذا الخيار).
·         المكونات المختارة بالنسبة للطرف المقابل لمربع ا و حدد قيمة البيكسل).
إن كلا النمطين يمكنك من تحديد قياس الفراغ, كما هو مشار إلى التسميات السفلية لأداة المحاذاة. تتضمن هذه الخيارات فراغات مقاسة بالنسبة للحواف التالية:
·        عمودياً (داخلية, فوق, مركز, وأسفل).
·        أفقياً (داخلية, يسار, مركز, ويمين).

-         الشبكة و المساطر
إن منطقة التخطيط تعرض شبكة ومساطر لتسهل تخطيط المكونات, خطوط الشبكة مفصولة بمجالات 50 بيكسل بشكل افتراضي ويمكنك أن تختار عدداً من القيم الأخرى تتراوح بين (10-200) بيكسل. تستطيع بشكل اختياري تمكين خاصية snap-to-grid والتي تسبب تحركاً لأي عنصر أو يعاد ضبط قياسه إلى ضمن 9 بيكسل من خط الشبكة للقفز إلى هذا الخط. إن خيار snap-to-grid يعمل مع أو بدون الشبكة المرئية.

استخدم مربع حوار الشبكة والمساطر الموضح بالشكل التالي من أجل :
·        التحكم برؤية الشبكة والمساطر وخطوط الشبكة.
·        ضبط فراغات الشبكة.
·        تمكين أو عدم تمكين خاصية snap-to-grid.

-         ضبط المرتبة الجدولية
إن المرتبة الجدولية للواجهة GUI عبارة عن تسلسل مكونات الواجهة الرسومية المختارة عندما يقوم المستخدم بنقر المفتاح Tab من لوحة المفاتيح.
توفر أشكال MATLAB عدة مجموعات جزئية منفصلة تتحكم بجدولة الأنواع المختلفة للمكونات:
·        عناصر تحكم واجهة المستخدم مثل الأزرار, المنزلقات, والقوائم المنبثقة.
·        اللوحات, مجموعة الأزرار button group (المحاور تكون بنفس المجموعة الجزئية ولكن لا تجدول).
·        العناصر ActiveX(لا يمكن جدولتها).
يمكنك أن تتحكم بالدرجة الجدولية للمكونات فقط إذا كانت هذه المكونات بنفس المجموعات الجزئية. تحدد المرتبة الجدولية لكل مستوى بشكل مستقل, بحيث يكون الشكل المستوى الأساسي, وكل لوحة أو مجموعة أزرار button group تنشئ مستواها الخاص بها. إذاً, أثناء جدولة المكونات على مستوى الشكل, قام المستخدم بجدولة لوحة أو مجموعة الأزرار button group, عندها يتتابع تسلسل الجدولة ضمن مكونات اللوحة أو مجموعة الأزرار button group قبل العودة إلى المستوى الذي وصلت إليه اللوحة ومجموعة الأزرار button group.
من أجل تغيير مرتبة الجدولة, اختر المكونة وانقر على السهم أعلى up وأسفل down من أجل تحريك المكونة للأسفل أو للأعلى في القائمة.