Σύστημα παραθύρων


Ιστορία

Σε αυτή την άσκηση θα προσομοιώσεις ένα υπολογιστικό σύστημα βασισμένο σε παράθυρα. Θα δημιουργήσεις μερικά παράθυρα που μπορούν να μετακινηθούν και να αλλάξουν μέγεθος και να εμφανίζουν το περιεχόμενό τους. Η παρακάτω εικόνα είναι ενδεικτική των τιμών με τις οποίες θα δουλέψεις στη συνέχεια.

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

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

Εργασίες

Αυτές είναι παραδείγματα εργασιών που ταιριάζουν στην ιστορία της υλοποίησης ενός απλοποιημένου συστήματος παραθύρων για ένα λειτουργικό σύστημα:

  • Όρισε ένα struct Size
  • Όρισε ένα struct Position
  • Όρισε μια κλάση Window
  • Πρόσθεσε μια μέθοδο για αλλαγή μεγέθους παραθύρων
  • Πρόσθεσε μια μέθοδο για μετακίνηση παραθύρων
  • Πρόσθεσε μεθόδους για ενημέρωση του κειμένου του παραθύρου και εμφάνιση πληροφοριών του παραθύρου
  • Δημιούργησε ένα νέο Window

Ορολογία

Αυτές είναι συστάσεις, όχι κανόνες, για την επαναλαμβανόμενη ορολογία στις οδηγίες (συμπεριλαμβανομένων των σχολίων του stub)

  • Το screenSize αναφέρεται στο μέγεθος της πλήρους οθόνης
  • Το size αναφέρεται στο μέγεθος των παραθύρων που εμφανίζονται στην οθόνη
  • Το position αναφέρεται στη θέση της πάνω αριστερής γωνίας κάθε παραθύρου σε σχέση με την πάνω αριστερή γωνία της οθόνης.

Υλοποιήσεις

Αναφορές