نظام النوافذ


القصة

في هذا التمرين، ستحاكي نظام حاسوب قائمًا على النوافذ. ستنشئ بعض النوافذ التي يمكن تحريكها وتغيير حجمها وعرض محتوياتها. الصورة التالية تمثّل القيم التي ستعمل بها أدناه.

                  <--------------------- screenSize.width --------------------->

       ^          ╔════════════════════════════════════════════════════════════╗
       |          ║                                                            ║
       |          ║          position.x,_                                      ║
       |          ║          position.y  \                                     ║
       |          ║                       \<----- size.width ----->            ║
       |          ║                 ^      *──────────────────────┐            ║
       |          ║                 |      │        title         │            ║
       |          ║                 |      ├──────────────────────┤            ║
screenSize.height ║                 |      │                      │            ║
       |          ║            size.height │                      │            ║
       |          ║                 |      │       contents       │            ║
       |          ║                 |      │                      │            ║
       |          ║                 |      │                      │            ║
       |          ║                 v      └──────────────────────┘            ║
       |          ║                                                            ║
       |          ║                                                            ║
       v          ╚════════════════════════════════════════════════════════════╝

المهام

هذه أمثلة على مهام تناسب قصة تنفيذ نظام نوافذ مبسّط لنظام تشغيل:

  • تعريف بنية Size
  • تعريف بنية Position
  • تعريف صنف Window
  • إضافة طريقة لتغيير حجم النوافذ
  • إضافة طريقة لتحريك النوافذ
  • إضافة طرق لتحديث نص النافذة وعرض معلومات النافذة
  • إنشاء Window جديد

المصطلحات

هذه توصيات، وليست قواعد، بشأن المصطلحات المتكررة في التعليمات (بما في ذلك تعليقات القالب الأولي)

  • يشير screenSize إلى حجم الشاشة الكامل
  • يشير size إلى حجم النوافذ التي تظهر على الشاشة
  • يشير position إلى موضع الزاوية العلوية اليسرى لكل نافذة بالنسبة إلى الزاوية العلوية اليسرى للشاشة.

التنفيذات

المراجع