Πεδία εισαγωγής κειμένου
Πεδία εισαγωγής κειμένου χρησιμοποιούνται για είσοδο μιας ή περισσότερων γραμμών απλού κειμένου. Στο GTK 2, ο έλεγχος GtkEntry χρησιμοποιείται για εισαγωγή κειμένου μονής γραμμής και το GtkTextView για εισαγωγή κειμένου πολλών γραμμών.

-
Ονομάστε το πεδίο εισόδου με μια ετικέτα κειμένου από πάνω της ή στα αριστερά της, χρησιμοποιώντας κεφαλαίο το πρώτο γράμμα. Δώστε ένα πλήκτρο πρόσβασης στην ετικέτα που επιτρέπει στον χρήστη να εστιάσει άμεσα στο πεδίο εισόδου.
-
Στοίχιση στα δεξιά των περιεχομένων των πεδίων εισόδου που χρησιμοποιούνται μόνο για αριθμητική είσοδο, εκτός και η σύμβαση στις τοπικές απαιτήσεις του χρήστη είναι αλλιώς. Αυτό είναι χρήσιμο σε παράθυρα όπου ο χρήστης μπορεί να θέλει να συγκρίνει δύο αριθμητικές τιμές στην ίδια στήλη ελέγχων. Σε αυτήν την περίπτωση, βεβαιωθείτε ότι οι δεξιές άκρες των σχετικών ελέγχων είναι επίσης στοιχισμένες.
-
Όταν ο χρήστης εστιάζει σε ένα πεδίο μιας εισόδου χρησιμοποιώντας το πληκτρολόγιο, τοποθετήστε τον δρομέα κειμένου στο τέλος του υπάρχοντος κειμένου και τονίστε τα περιεχόμενά του (αλλά μην αντικαταστήσετε την υπάρχουσα ΠΡΩΤΕΥΟΥΣΑ επιλογή προχείρου). Αυτό διευκολύνει στην άμεση αντικατάσταση ή προσάρτηση νέου κειμένου, οι δύο πιο κοινές λειτουργίες που εκτελούνται σε πεδία εισόδου.
-
Το μέγεθος των πεδίων εισαγωγής κειμένου να δίνεται σύμφωνα με το πιθανό μέγεθος της καταχώρισης. Αυτό δίνει μια χρήσιμη οπτική ένδειξη της ποσότητας της αναμενόμενης καταχώρισης και διαιρεί τον διάλογο διευκολύνοντας τη σάρωση. Μην κάνετε όλα τα πεδία στον διάλογο με το ίδιο πλάτος απλά για να κάνετε το καθετί σε όμορφη παράταξη.
-
Σε μια στιγμιαία εφαρμογή ιδιότητας ή παραθύρου προτίμησης, επικυρώστε τα περιεχόμενα του πεδίου εισόδου όταν απεστιάζει ή όταν το παράθυρο κλείνει, όχι μετά από κάθε πληκτρολόγηση. Εξαίρεση: εάν το πεδίο δέχεται μόνο ένα σταθερό αριθμό χαρακτήρων, όπως έναν δεκαεξαδικό χρωματικό κώδικα, επικυρώστε και εφαρμόστε την αλλαγή μόλις αυτός ο αριθμός των χαρακτήρων έχει εισαχθεί.
-
Δώστε μια στατική προτροπή κειμένου για πλαίσια κειμένου που απαιτούν καταχώριση για μια συγκεκριμένη μορφή ή σε μια συγκεκριμένη μονάδα μέτρησης. Για παράδειγμα:
Φιγούρα 6-4 Το πεδίο εισαγωγής κειμένου με στατική προτροπή κειμένου -
Όπου είναι δυνατό, δώστε έναν πρόσθετο ή εναλλακτικό έλεγχο που περιορίζει την απαιτούμενη καταχώριση σε μια έγκυρη περιοχή. Για παράδειγμα, δώστε ένα μετρητή ή ολισθητή εάν η απαιτούμενη καταχώριση είναι μία σταθερής περιοχής ακεραίων, ή δώστε πρόσβαση σε έναν έλεγχο GtkCalendar εάν ο χρήστης πρέπει να εισάγει μια έγκυρη ημερομηνία:
Φιγούρα 6-5 Το πεδίο εισαγωγής κειμένου απαιτεί μια ημερομηνία ως καταχώριση, με ένα κουμπί δίπλα του για εμφάνιση του ελέγχου GtkCalendar για απλοποίηση της εργασίαςΑυτό είναι λιγότερο επιρρεπές σε σφάλμα από την αναμονή από τον χρήστη να μορφοποιήσει την εισαγωγή κειμένου του σε κάποια ελεύθερη μορφή. Μπορείτε ακόμα να θέλετε να δώσετε τον έλεγχο πεδίου εισόδου επίσης, όμως, για προχωρημένους χρήστες που είναι εξοικειωμένοι με την απαιτούμενη μορφή.
-
Εάν εφαρμόσετε ένα πεδίο εισόδου που δέχεται μόνο έγκυρες πληκτρολογήσεις στο περιεχόμενο εργασίας, όπως αριθμούς, παίξτε τον ήχο προειδοποίησης του συστήματος όταν ο χρήστης προσπαθεί να πληκτρολογήσει έναν άκυρο χαρακτήρα. Εάν ο χρήστης πληκτρολογήσει τρεις άκυρους χαρακτήρες στη σειρά, εμφανίστε μια ειδοποίηση που εξηγεί τις έγκυρες καταχωρίσεις για αυτό το πεδίο κειμένου.
-
Ο ρυθμός αναλαμπής του δρομέα ορίζεται γενικά από τα XSettings "gtk-cursor-blink" και "gtk-cursor-blink-time". Οι τυπικοί έλεγχοι πακέτου εργαλείου τα χρησιμοποιούν και δεν πρέπει να αλλαχτούν καθόλου σε εφαρμογές. Νέοι έλεγχοι με δρομείς κειμένου πρέπει να σέβονται αυτές τις γενικές τιμές.
6.4.1. Συμπεριφορά του πλήκτρου επιστροφής
Κανονικά, πατώντας επιστροφή σε έναν διάλογο θα πρέπει να ενεργοποιήσει το προεπιλεγμένο κουμπί του διαλόγου, εκτός και ο εστιασμένος έλεγχος χρησιμοποιεί την επιστροφή για τους δικούς του σκοπούς. Θα πρέπει συνεπώς να ορίσετε την ιδιότητα activates-default των περισσότερων πεδίων εισόδου σε TRUE. (Σημειώστε ότι το GtkTextView δεν έχει τέτοια ρύθμιση - πατώντας επιστροφή εισάγει πάντα μια νέα γραμμή.).
Όμως, εάν ο διάλογος σας περιέχει αρκετά πεδία εισόδου που συνήθως συμπληρώνονται σε σειρά, για παράδειγμα όνομα, διεύθυνση και αριθμός τηλεφώνου, σκεφτείτε την ρύθμιση της ιδιότητας activates-default σε αυτά τα πεδία εισόδου σε FALSE. Πατώντας επιστροφή θα πρέπει τότε να μετακινήσετε την εστίαση στον επόμενο έλεγχο. Κάνοντας το θα βοηθήσει την αποφυγή του τυχαίου κλεισίματος του παραθύρου πριν να εισαχθούν όλες οι επιθυμητές πληροφορίες από τον χρήστη.
Ως παραπέρα προστασία, να θυμάστε να μην ρυθμίζετε το προεπιλεγμένο κουμπί σε έναν διάλογο μέχρι το ελάχιστο ποσό της απαιτούμενης πληροφορίας να έχει εισαχθεί, για παράδειγμα, αμφότερα τα όνομα χρήστη και κωδικός σε έναν διάλογο σύνδεσης. Πάλι, σε αυτήν την περίπτωση θα πρέπει να μετακινήσετε την εστίαση στον επόμενο έλεγχο όταν ο χρήστης πατά επιστροφή, αντί για απλή παράβλεψη της πληκτρολόγησης.
Εάν χρειάζεται να δώσετε μια συντόμευση πληκτρολογίου που ενεργοποιεί το προεπιλεγμένο κουμπί ενώ ο έλεγχος GtkTextView έχει εστίαση, χρησιμοποιήστε Ctrl+επιστροφή.
Το Gtk προς το παρόν δεν μετακινεί την εστίαση στον επόμενο έλεγχο όταν πατιέται το επιστροφή και είτε activates-default=FALSE, είτε δεν υπάρχει προεπιλεγμένο κουμπί στο παράθυρο. Προς το παρόν, η επιστροφή δεν κάνει τίποτα σε αυτές τις καταστάσεις, έτσι να θυμάστε να εφαρμόζετε την συμπεριφορά αλλαγής εστίασης οι ίδιοι.
6.4.2. Συμπεριφορά του πλήκτρου στηλοθέτη
Κανονικά, πατώντας στηλοθέτης σε ένα πεδίο εισόδου μονής γραμμής θα πρέπει να μετακινείται η εστίαση στον επόμενο έλεγχο και σε ένα πεδίο εισόδου πολλών γραμμών θα πρέπει να εισάγεται έναν χαρακτήρα στηλοθέτη. Πατώντας Ctrl+Tab σε ένα πεδίο εισόδου πολλών γραμμών θα πρέπει να μετακινείται η εστίαση στον επόμενο έλεγχο.
Εάν χρειάζεται να δώσετε μια συντόμευση πληκτρολογίου που εισάγει έναν χαρακτήρα στηλοθέτη σε ένα πεδίο εισόδου μονής γραμμής, χρησιμοποιήστε Ctrl+Tab. Όμως, είναι απίθανο να βρείτε πολλές καταστάσεις που αυτό είναι χρήσιμο.