Ήδη εξετάσαμε μερικούς από τους τρόπους με τους οποίους ο πάγκος εργασίας επιτρέπει στο χρήστη να ελέγξει την εμφάνιση των πρόσθετων λειτουργιών. Μπορεί να γίνει εμφάνιση ή απόκρυψη των προβολών από το μενού Παράθυρο >Εμφάνιση προβολής.
Μπορεί να γίνει εμφάνιση ή απόκρυψη των συνόλων εργασιών από το μενού
Παράθυρο > Προσαρμογή προοπτικής.... Αυτές οι λειτουργίες βοηθούν το χρήστη να οργανώσει τον πάγκο εργασίας.
Οι Προοπτικές παρέχουν ένα επιπλέον επίπεδο οργάνωσης μέσα σε ένα παράθυρο του πάγκου εργασίας. Οι χρήστες μπορούν να αλλάζουν προοπτικές κατά τη μετακίνηση στις διάφορες εργασίες. Η προοπτική ορίζει μια συλλογή προβολών, μια διάταξη για τις προβολές και τα ορατά σύνολα ενεργειών που θα πρέπει να χρησιμοποιηθούν όταν ο χρήστης ανοίγει για πρώτη φορά την προοπτική.
Η υλοποίηση των προοπτικών γίνεται με χρήση της διεπαφής IPerspectiveFactory. Οι υλοποιητές της διεπαφής IPerspectiveFactory θα πρέπει να ρυθμίσουν μια διεπαφή IPageLayout με πληροφορίες που περιγράφουν την προοπτική και τη διάταξη της σελίδα προοπτικής.
Μια από τις κύριες εργασίες μιας διεπαφής IPageLayout είναι να περιγράφει την τοποθέτηση της λειτουργίας επεξεργασίας και των προβολών στο παράθυρο του πάγκου εργασίας. Να σημειωθεί ότι αυτές οι διατάξεις είναι διαφορετικές από την κλάση Layout στο SWT. Παρόλο που η διεπαφή IPageLayout και η κλάση Layout λύνουν ένα παρόμοιο πρόβλημα (την τοποθέτηση και τη ρύθμιση του μεγέθους των οργάνων σε μια ευρύτερη περιοχή) δε χρειάζεται να κατανοήσετε τις διατάξεις SWT για να δημιουργήσετε μια διάταξη σελίδας προοπτικής.
Η απόδοση των αρχικών τιμών για μια διάταξη σελίδας προοπτικής γίνεται σε μια περιοχή για εμφάνιση μιας λειτουργίας επεξεργασίας. Η μέθοδος κατασκευής προοπτικών ευθύνεται για την προσθήκη προβολών που έχουν σχέση με τη λειτουργία επεξεργασίας. Η προσθήκη των προβολών στη διάταξη γίνεται σε σχέση με ένα άλλο τμήμα (επάνω, κάτω, αριστερά, δεξιά). Τα σύμβολα κράτησης θέσης (κενός χώρος) μπορούν επίσης να προστεθούν για στοιχεία που αρχικά δεν εμφανίζονται.
Για να οργανώσετε σχετιζόμενες προβολές και να μειώσετε τη συμφόρηση, μπορείτε να χρησιμοποιήσετε τη διεπαφή IFolderLayout για να ομαδοποιήσετε τις προβολές σε φακέλους με καρτέλες. Για παράδειγμα, η προοπτική "Πόροι" τοποθετεί τη λειτουργία πλοήγησης πόρων σε ένα φάκελο στην επάνω αριστερή γωνία του πάγκου εργασίας. Τα σύμβολα κράτησης θέσης χρησιμοποιούνται συνήθως με διατάξεις φακέλων. Η προοπτική "Πόρων" ορίζει ένα σύμβολο κράτησης θέσης για την προβολή σελιδοδεικτών στον ίδιο φάκελο με τη λειτουργία πλοήγησης πόρων. Αν ο χρήστης εμφανίζει την προβολή σελιδοδεικτών, θα εμφανιστεί στον ίδιο φάκελο με τη λειτουργία πλοήγησης, με μια καρτέλα για κάθε προβολή.
Η διεπαφή IPageLayout επιτρέπει επίσης τον ορισμό των διαθέσιμων ενεργειών και συντομεύσεων μέσα σε μια προοπτική.
Μια άλλη πολύτιμη υπηρεσία που παρέχουν οι προοπτικές και η διεπαφή IPageLayout είναι η βοήθεια κατά την πλοήγηση ανάμεσα σε μια λειτουργία επεξεργασίας και τις σχετικές προβολές . Συνήθως θεωρούμε ότι οι προβολές βοηθούν το χρήστη να βρει τα αντικείμενα που θα χρησιμοποιηθούν στις λειτουργίες επεξεργασίας. Ωστόσο, η αντίστροφη λειτουργία είναι εξίσου χρήσιμη: ένας χρήστης που χρησιμοποιεί ένα αντικείμενο σε μια λειτουργία επεξεργασίας ίσως χρειαστεί να πραγματοποιήσει πλοήγηση σε αυτό το αντικείμενο μέσα σε μια προβολή. Αυτό μπορεί να επιτευχθεί με χρήση του μενού Πλοήγηση > Εμφάνιση σε του πάγκου εργασίας. Αυτή η εντολή επιτρέπει στο χρήστη να μεταβεί σε μια από τις σχετικές προβολές στο περιβάλλον του αντικειμένου στο οποίο τη συγκεκριμένη στιγμή πραγματοποιείται επεξεργασία (ή είναι επιλεγμένο). Για παράδειγμα, ένας χρήστης που επεξεργάζεται ένα αρχείο ίσως να επιθυμεί να μεταβεί σε αυτό από τη λειτουργία πλοήγησης πόρων.
Η αρχιτεκτονική πρόσθετων λειτουργιών του πάγκου εργασίας επιτρέπει στους προγραμματιστές να συνεισφέρουν προβολές και λειτουργίες επεξεργασίας σε διαφορετικές πρόσθετες λειτουργίες που δε γνωρίζουν καν η μία την ύπαρξη της άλλης. Με τη υλοποίηση της υποστήριξης για "εμφάνιση σε", η προβολή ή η λειτουργία επεξεργασίας μπορεί να υποστηρίξει την εύχρηστη πλοήγηση προς ή από τις προβολές και τις λειτουργίες επεξεργασίας που αποτελούν συνεισφορά άλλων πρόσθετων λειτουργιών.
Αυτή η πλοήγηση επιτρέπει στο χρήστη να κινείται γρήγορα μέσα στις προβολές και να ανοίγει με ευκολία μια προβολή που συνήθως δεν εμφανίζεται σε μια συγκεκριμένη προοπτική. Για παράδειγμα, ένας χρήστης που χρησιμοποιεί την προοπτική Java μπορεί να χρησιμοποιήσει Πλοήγηση > Εμφάνιση σε για να προβάλει το αρχείο Java που τροποποιείται στην προβολή λειτουργίας πλοήγησης.
Αν επιθυμείτε να επιτρέπεται στους χρήστες η χρήση Πλοήγηση > Εμφάνιση σε από τη λειτουργία επεξεργασίας ή την προβολή ώστε να μεταβαίνουν σε μια άλλη προβολή, πρέπει να υλοποιήσετε τη διεπαφή IShowInSource. Το τμήμα σας μπορεί να παρέχει απευθείας την κλάση IShowInSource με χρήση πρωτοκόλλου (getShowInSource()) ή ως προσαρμογέας. Η κλάση IShowInSource επιτρέπει στο τμήμα σας να παρέχει ένα περιβάλλον (ShowInContext) που χρησιμοποιείται από τον προορισμό για να αποφασιστεί ο τρόπος εμφάνισης της προέλευσης. Το περιβάλλον "εμφάνιση σε" για μια λειτουργία επεξεργασίας αποτελεί συνήθως το στοιχείο δεδομένων εισόδου. Για μια προβολή, το περιβάλλον αποτελεί συνήθως την επιλογή. Τόσο η επιλογή όσο και το στοιχείο δεδομένων εισόδου παρέχονται σε μια διεπαφή ShowInContext έτσι ώστε ο προορισμός να είναι ευέλικτος όσον αφορά τον καθορισμό του τρόπου εμφάνισης του πρωτογενούς κώδικα.
Παρέχεται ένα προεπιλεγμένο περιβάλλον για τις λειτουργίες επεξεργασίας, έτσι ώστε να μπορούν να συμμετέχουν σε "εμφάνιση σε" χωρίς κάποιον ειδικό κωδικό. Για τις λειτουργίες αυτές το στοιχείο δεδομένων εισόδου και η επιλογή χρησιμοποιούνται για τη δημιουργία ενός κατάλληλου περιβάλλοντος.
Για προβολές, η διεπαφή IShowInSource πρέπει να υλοποιείται από την προβολή για να προσφέρει τη λειτουργία Πλοήγηση > Εμφάνιση σε.
Αν επιθυμείτε η προβολή σας να αποτελεί έγκυρο προορισμό για μια λειτουργία "εμφάνιση σε" πρέπει να υλοποιήσετε τη διεπαφή IShowInTarget . Ο προορισμός ευθύνεται για την παρουσίαση ενός δεδομένου περιβάλλοντος με τρόπο κατάλληλο για την παρουσίασή του. Για παράδειγμα, η προβολή λειτουργίας πλοήγησης επεκτείνει τη διακλάδωσή της για να επιλέξει και να αποκαλύψει έναν πόρο που καθορίζεται στο περιβάλλον.
Ένας προορισμός θα πρέπει πρώτα να ελέγχει την επιλογή στην κλάση ShowInContext για να αποφασίσει τί θα εμφανιστεί, εφόσον αυτή είναι η πιο ειδική πληροφορία. Θα πρέπει να εμφανίζει το στοιχείο δεδομένων εισόδου μόνο σε περίπτωση που δεν έχει προσδιορισθεί κάποια επιλογή.
Πώς καθορίζεται η λίστα διαθέσιμων προορισμών; Μπορείτε να προσδιορίσετε τους διαθέσιμους προορισμούς για την προοπτική σας στη διεπαφή IPageLayout. Θυμηθείτε πως μια πλοήγηση "εμφάνισης σε" μπορεί να ανοίξει μια προβολή που δεν είναι ήδη παρούσα στην προοπτική. Χρησιμοποιώντας τη διεπαφή IPageLayout.addShowInPart, μπορείτε να προσδιορίσετε έναν έγκυρο προορισμό "εμφάνισης σε" με ταυτότητα. Με αυτό τον τρόπο, οι έγκυροι προορισμοί μπορούν να καθιερωθούν χωρίς την άσκοπη δημιουργία προβολών.