Δευτερεύοντα παράθυρα που εμφανίζονται πάνω από τα πρωτεύοντα, γονικά παράθυρα
Allan Day
aday@gnome.org
Calum Benson
Adam Elman
Seth Nickell
Colin Robertson
Ελληνική μεταφραστική ομάδα GNOME
team@gnome.gr 2014-2015
Δημήτρης Σπίγγος
dmtrs32@gmail.com 2015
Θάνος Τρυφωνίδης
tomtryf@gmail.com 2014

# Παράθυρα διαλόγων

Οι διάλογοι είναι δευτερεύοντα παράθυρα που εμφανίζονται πάνω από το πρωτεύον, γονικό παράθυρο. Χρησιμοποιούνται για να παρουσιάσουν πρόσθετες πληροφορίες ή στοιχεία ελέγχου, συμπεριλαμβανομένων των προτιμήσεων και των ιδιοτήτων, ή για να εμφανίσουν μηνύματα ή ερωτήσεις.

GTK provides a number of stock dialogs that can be used, such as for printing or color selection.

Υπάρχουν τρεις βασικοί τύποι διαλόγων.

# Πότε χρησιμοποιούνται

Οι διάλογοι έχουν συνήθως ένα αναγνωρίσιμο υπόδειγμα σχεδίασης και υπάρχουν καθιερωμένες συμβάσεις για τους διαφορετικούς τύπους διαλόγου που μπορεί να θέλετε να χρησιμοποιήσετε. Οι οδηγίες σε κάθε τύπο διαλόγου παρέχουν παραπέρα πληροφορίες σε αυτές.

Ενώ οι διάλογοι μπορεί να είναι ένας αποτελεσματικός τρόπος γνωστοποίησης πρόσθετων στοιχείων ελέγχου ή πληροφοριών, μπορούν επίσης να γίνουν πηγή διακοπών για τον χρήστη. Για αυτόν τον λόγο, να αναρωτιέστε πάντα αν ο διάλογος είναι απαραίτητος και εργαστείτε για να αποφύγετε τις καταστάσεις στις οποίες απαιτούνται.

Υπάρχουν αρκετοί τρόποι για να αποφύγετε τη χρήση διαλόγων:

Χρησιμοποιήστε ενσωματωμένη σύνταξη για νέα μηνύματα, εγγραφές ή επαφές.

Οι ειδοποιήσεις εντός εφαρμογής είναι μια εναλλακτική λύση των διαλόγων μηνυμάτων.

Τα αναδυόμενα παράθυρα μπορεί να είναι ένας τρόπος να εμφανίσετε πρόσθετα στοιχεία ελέγχου ή επιλογές με λιγότερο αποδιοργανωτικό τρόπο.

# Διάλογοι μηνυμάτων

Οι διάλογοι μηνυμάτων είναι ο πιο απλός τύπος διαλόγου. Παρουσιάζουν ένα μήνυμα ή ερώτηση, μαζί με 1-3 κουμπιά με τα οποία λαμβάνεται η απάντηση. Είναι πάντα αναγκαστικοί, που σημαίνει ότι αποτρέπουν πρόσβαση στο γονικό τους παράθυρο. Οι διάλογοι μηνυμάτων είναι μια κατάλληλη επιλογή όταν είναι βασικό να δει και να απαντήσει ο χρήστης σε ένα μήνυμα.

## Παραδείγματα

Confirmation dialogs use a message dialog to check — or confirm — that the user wants to carry out an action. They have two buttons: one to confirm that the action should be carried out and one to cancel the action.

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

Οι διάλογοι σφάλματος εμφανίζουν ένα μήνυμα λάθους στον χρήστη. Συνήθως έχουν ένα κουμπί που επιτρέπει στον χρήστη να αναγνωρίσουν και να κλείσουν τον διάλογο.

Οι διάλογοι σφάλματος πρέπει να είναι η έσχατη λύση. Πρέπει να σχεδιάσετε την εφαρμογή σας έτσι ώστε να μην δημιουργούνται λάθη, και αυτόματα να ανακάμπτουν αν κάτι πάει στραβά.

# Διάλογοι ενεργειών

Action dialogs present options and information about a specific action before it is carried out. They have a heading (which typically describes the action) and two primary buttons — one which allows the action to be carried out and one which cancels it.

Μερικές φορές, μπορεί να ζητείται από τον χρήστη να επιλέξει επιλογές πριν την εκτέλεση μιας πράξης. Σε αυτές τις περιπτώσεις, το κουμπί καταφατικού διαλόγου πρέπει να είναι ανενεργό μέχρι να επιλεγούν οι απαιτούμενες επιλογές.

## Παραδείγματα

Many of the stock GTK dialogs are action dialogs. The print dialog is a good example: it is displayed in response to the user using the print action, and presents information and options for that print action. The two header bar buttons allow the print action to either be cancelled or carried out.

# Διάλογοι παρουσίασης

Οι διάλογοι παρουσίασης εμφανίζουν πληροφορίες ή στοιχεία ελέγχου. Όπως οι διάλογοι ενέργειας, έχουν μια γραμμή κεφαλίδας και ένα θέμα. Όμως, αντί για πρόθεμα μιας ενέργειας, το περιεχόμενο τους συσχετίζεται με ένα στοιχείο εφαρμογής ή περιεχομένου.

## Παραδείγματα

Οι προτιμήσεις και οι ιδιότητες είναι αμφότερες παραδείγματα διαλόγων παρουσίασης και αμφότεροι εμφανίζουν πληροφορίες και ρυθμίσεις ως προς μια συγκεκριμένη οντότητα (είτε ένα στοιχείο εφαρμογής ή περιεχομένου). Οι διάλογοι ιδιοτήτων είναι ένα καλό παράδειγμα πώς μπορούν να χρησιμοποιηθούν οι διάλογοι για να γνωστοποιήσουν πρόσθετες πληροφορίες που δεν χρειάζονται πάντα στο κυρίως παράθυρο της εφαρμογής.

Αντισταθείτε στον πειρασμό να δώσετε ένα παράθυρο προτιμήσεων για την εφαρμογή σας. Να αναρωτιέστε πάντα αν οι πρόσθετες ρυθμίσεις είναι πραγματικά απαραίτητες. Τα περισσότερα άτομα δεν θα μπουν στον κόπο να ψάξουν τις προτιμήσεις που δώσατε και οι επιλογές διαμόρφωσης θα συνεισφέρουν στην πολυπλοκότητα της εφαρμογής σας. Προσπαθήστε να εξασφαλίσετε ότι ο σχεδιασμός της εφαρμογής σας δουλεύει για καθένα χωρίς την ανάγκη αλλαγής των ρυθμίσεων του.

## Στιγμιαία και ρητή εφαρμογή

Οι διάλογοι παρουσίασης είναι είτε στιγμιαίοι είτε ρητοί. Στους διαλόγους στιγμιαίας εφαρμογής, οι αλλαγές στις ρυθμίσεις ή τις τιμές ενημερώνονται άμεσα. Αντίθετα, οι διάλογοι ρητής εφαρμογής περιλαμβάνουν ένα κουμπί για εφαρμογή των αλλαγών.

Η στιγμιαία εφαρμογή πρέπει να χρησιμοποιηθεί όπου είναι δυνατό. Οι διάλογοι παρουσίασης στιγμιαίας εφαρμογής έχουν ένα πλήκτρο κλεισίματος στην γραμμή κεφαλίδας, όπως ένα πρωτεύον παράθυρο.

Η ρητή εφαρμογή είναι απαραίτητη μόνο αν οι αλλαγές στον διάλογο πρέπει να εφαρμοστούν ταυτόχρονα για να έχουν την επιθυμητή συμπεριφορά. Οι διάλογοι ρητής εφαρμογής περιλαμβάνουν ένα κουμπί Ολοκλήρωση και Άκυρο (το Άκυρο επαναφέρει όλες τις τιμές του διαλόγου στην κατάσταση πριν το άνοιγμα και το Ολοκλήρωση εφαρμόζεται σε όλες τις αλλαγές και κλείνει το παράθυρο).

# Πρωτεύοντα κουμπιά

Οι διάλογοι μηνυμάτων και ενεργειών περιλαμβάνουν πρωτεύοντα κουμπιά που επηρεάζουν ολόκληρο το παράθυρο. Η σειρά αυτών των κουμπιών, καθώς και οι χρησιμοποιούμενες ετικέτες, είναι ένα βασικό μέρος του διαλόγου.

## Σειρά

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

Αυτή η σειρά κουμπιών διασφαλίζει ότι οι χρήστες αντιλαμβάνονται και τους υπενθυμίζεται η δυνατότητα να ακυρώσουν πριν από την εμφάνιση του καταφατικού κουμπιού.

## Ετικέτες

Ονομάστε το καταφατικό πρωτεύον κουμπί με ένα συγκεκριμένο ρήμα στην προστακτική (για τα αγγλικά), παραδείγματος χάρη: Save, Print, Remove. Αυτό είναι πιο σαφές από μια γενική ετικέτα όπως OK ή Done.

Οι διάλογοι σφάλματος περιλαμβάνουν συνήθως ένα μοναδικό κουμπί που κλείνει τον διάλογο. Σε αυτήν την περίπτωση, δεν χρειάζεται να αναφερθεί μια ιδιαίτερη ενέργεια και αυτό μπορεί να είναι μια καλή ευκαιρία να χρησιμοποιήσετε έναν αστεϊσμό. Δεκτή η συγνώμη ή Το κατάλαβα είναι δυο παραδείγματα καλών ετικετών.

## Προεπιλεγμένη ενέργεια και διαφυγή

Αναθέστε στο πλήκτρο επιστροφής (return) την ενεργοποίηση του πρωτεύοντος καταφατικού κουμπιού σε έναν διάλογο (παραδείγματος χάρη Εκτύπωση σε έναν διάλογο εκτύπωσης). Αυτό λέγεται προεπιλεγμένη ενέργεια και εμφανίζεται με μια διαφορετική οπτική τεχνοτροπία. Μην κάνετε προεπιλεγμένο ένα κουμπί αν η ενέργειά του είναι μη αναστρέψιμη, καταστροφική ή διαφορετικά άβολη για τον χρήστη. Αν δεν υπάρχει κατάλληλο κουμπί για να υποδειχθεί ως προεπιλεγμένο κουμπί, μην ορίσετε κανένα.

Θα πρέπει επίσης να εξασφαλίσετε ότι το πλήκτρο διαφυγής ενεργοποιεί το πλήκτρο ακύρωσης ή κλεισίματος, αν οποιοδήποτε από αυτά είναι παρόν. Οι διάλογοι μηνυμάτων με ένα μοναδικό κουμπί μπορεί να έχουν και τη διαφυγή και την επιστροφή δεσμευμένα στο κουμπί.

Η συσχέτιση της επιστροφής και της διαφυγής κατ' αυτόν τον τρόπο δίνει έναν προβλέψιμο και άνετο τρόπο για να συνεχίσετε μέσα από έναν διάλογο, ή να επιστρέψετε.

# Γενικές οδηγίες

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

Οι διάλογοι πρέπει να έχουν πάντα ένα γονικό παράθυρο.

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

Χρησιμοποιήστε εναλλαγή προβολής ή καρτέλες για να χωρίσετε τα στοιχεία ελέγχου και τις πληροφορίες.

Να αποφύγετε το στοίβαγμα παραθύρων διαλόγων τον έναν πάνω από τον άλλον. Μόνο ένα παράθυρο διαλόγου πρέπει να εμφανίζεται τη φορά.

Όταν ανοίγετε έναν διάλογο, εστιάστε αρχικά με το πληκτρολόγιο στο συστατικό που περιμένετε οι χρήστες να χρησιμοποιήσουν πρώτα. Αυτή η εστίαση είναι ιδιαίτερα σημαντική για χρήστες που πρέπει να χρησιμοποιήσουν ένα πληκτρολόγιο για περιήγηση στην εφαρμογή σας.

# Αναφορά API

GtkAboutDialog

GtkDialog

GtkMessageDialog