Blame platform-demos/el/spinbutton.js.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="spinbutton.js" xml:lang="el">
Packit 1470ea
  <info>
Packit 1470ea
  <title type="text">Κουμπί αυξομείωσης (SpinButton) (JavaScript)</title>
Packit 1470ea
    <link type="guide" xref="beginner.js#entry"/>
Packit 1470ea
    <link type="seealso" xref="GtkApplicationWindow.js"/>
Packit 1470ea
    <link type="seealso" xref="grid.js"/>
Packit 1470ea
    <link type="seealso" xref="label.js"/>
Packit 1470ea
    <revision version="0.1" date="2012-06-24" status="draft"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Taryn Fox</name>
Packit 1470ea
      <email its:translate="no">jewelfox@fursona.net</email>
Packit 1470ea
      <years>2012</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <desc>Ένα πεδίο καταχώρισης αριθμού που έχει τα κουμπιά + και -</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
Packit 1470ea
      <mal:email>team@gnome.gr</mal:email>
Packit 1470ea
      <mal:years>2012-2015</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Δημήτρης Σπίγγος</mal:name>
Packit 1470ea
      <mal:email>dmtrs32@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2012, 2013</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Μαρία Θουκιδίδου</mal:name>
Packit 1470ea
      <mal:email>marablack3@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2014</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Θάνος Τρυφωνίδης</mal:name>
Packit 1470ea
      <mal:email>tomtryf@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2014, 2015</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
  <title>SpinButton</title>
Packit 1470ea
  <media type="image" mime="image/png" src="media/spinbuttonkittens.png"/>
Packit 1470ea
  

Ένα κουμπί περιστροφής (SpinButton) δεν σχετίζεται με έναν <link xref="spinner.js">Μετρητή (Spinner)</link>. Είναι ένα πεδίο εισαγωγής κειμένου που δέχεται μόνο αριθμούς και οι οποίοι έχουν κουμπιά συν και πλην για να σας επιτρέψουν την αλλαγή της τιμής χωρίς να πρέπει να πληκτρολογήσετε κάτι.

Packit 1470ea
  

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

Packit 1470ea
    <links type="section"/>
Packit 1470ea
Packit 1470ea
  <section id="imports">
Packit 1470ea
    <title>Βιβλιοθήκες για εισαγωγή</title>
Packit 1470ea
    
Packit 1470ea
#!/usr/bin/gjs
Packit 1470ea
Packit 1470ea
const Gio = imports.gi.Gio;
Packit 1470ea
const Gtk = imports.gi.Gtk;
Packit 1470ea
const Lang = imports.lang;
Packit 1470ea
Packit 1470ea
    

Αυτές είναι οι βιβλιοθήκες που χρειαζόμαστε να εισάγουμε αυτήν την εφαρμογή για να εκτελεστεί. Να θυμόσαστε ότι η γραμμή που λέει στο GNOME ότι χρησιμοποιούμε Gjs χρειάζεται πάντοτε να πάει στην αρχή.

Packit 1470ea
    </section>
Packit 1470ea
Packit 1470ea
  <section id="applicationwindow">
Packit 1470ea
    <title>Δημιουργία του παραθύρου εφαρμογής</title>
Packit 1470ea
    
Packit 1470ea
const SpinButtonExample = new Lang.Class({
Packit 1470ea
    Name: 'SpinButton Example',
Packit 1470ea
Packit 1470ea
    // Δημιουργία της εφαρμογής αυτής καθεαυτής
Packit 1470ea
    _init: function() {
Packit 1470ea
        this.application = new Gtk.Application({
Packit 1470ea
            application_id: 'org.example.jsspinbutton'
Packit 1470ea
        });
Packit 1470ea
Packit 1470ea
    // Σύνδεση των σημάτων 'activate' και 'startup' με τις συναρτήσεις επανάκλησης
Packit 1470ea
    this.application.connect('activate', Lang.bind(this, this._onActivate));
Packit 1470ea
    this.application.connect('startup', Lang.bind(this, this._onStartup));
Packit 1470ea
    },
Packit 1470ea
Packit 1470ea
    // Η συνάρτηση επανάκλησης για το σήμα 'activate' παρουσιάζει ένα παράθυρο όταν είναι ενεργή
Packit 1470ea
    _onActivate: function() {
Packit 1470ea
        this._window.present();
Packit 1470ea
    },
Packit 1470ea
Packit 1470ea
    // Η συνάρτηση επανάκλησης για το σήμα 'startup' δομεί τη διεπαφή χρήστη
Packit 1470ea
    _onStartup: function() {
Packit 1470ea
        this._buildUI ();
Packit 1470ea
    },
Packit 1470ea
Packit 1470ea
    

Όλος ο κώδικας για αυτό το παράδειγμα πηγαίνει στην κλάση SpinButtonExample. Ο παραπάνω κώδικας δημιουργεί μια <link href="http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Application.html">Gtk.Application</link> για να μπουν μέσα τα γραφικά στοιχεία μας και τα παράθυρα.

Packit 1470ea
    
Packit 1470ea
    // Δόμηση της διεπαφής χρήστη της εφαρμογής
Packit 1470ea
    _buildUI: function() {
Packit 1470ea
Packit 1470ea
        // Δημιουργία του παραθύρου της εφαρμογής
Packit 1470ea
        this._window = new Gtk.ApplicationWindow({
Packit 1470ea
            application: this.application,
Packit 1470ea
            window_position: Gtk.WindowPosition.CENTER,
Packit 1470ea
            border_width: 20,
Packit 1470ea
            title: "Kitten Feeder"});
Packit 1470ea
Packit 1470ea
    

Η συνάρτηση _buildUI είναι εκεί που βάζουμε όλον τον κώδικα για να δημιουργήσουμε τη διεπαφή χρήστη της εφαρμογής. Το πρώτο βήμα δημιουργεί ένα νέο <link xref="GtkApplicationWindow.js">Gtk.ApplicationWindow</link> για να βάλουμε μέσα τα γραφικά στοιχεία μας.

Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="spinbutton">
Packit 1470ea
    <title>Δημιουργία των κουμπιών περιστροφής (SpinButtons)</title>
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία του πρώτου κουμπιού περιστροφής χρησιμοποιώντας μια συνάρτηση
Packit 1470ea
        this._kittens = Gtk.SpinButton.new_with_range (1, 9001, 1);
Packit 1470ea
        this._kittens.connect ("value-changed", Lang.bind (this, this._newValue));
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
    

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

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία μιας ρύθμισης για χρήση με το δεύτερο κουμπί περιστροφής
Packit 1470ea
        this._adjustment = new Gtk.Adjustment ({
Packit 1470ea
            value: 1,
Packit 1470ea
            lower: 0,
Packit 1470ea
            upper: 9001,
Packit 1470ea
            step_increment: 1,
Packit 1470ea
            page_increment: 10 });
Packit 1470ea
Packit 1470ea
        // Δημιουργία του δεύτερου κουμπιού περιστροφής
Packit 1470ea
        this._tuna = new Gtk.SpinButton ({ adjustment: this._adjustment });
Packit 1470ea
        this._tuna.connect ("value-changed", Lang.bind (this, this._newValue));
Packit 1470ea
Packit 1470ea
        // this._tuna.set_digits (1);
Packit 1470ea
        // this._tuna.set_wrap (true);
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

Εάν θέλετε περισσότερο λεπτομερή έλεγχο σε ένα κουμπί περιστροφής (SpinButton), ή θέλετε να δημιουργήσετε μια ομάδα κουμπιών περιστροφής που όλα χρησιμοποιούν τις ίδιες παραμέτρους, μπορείτε να δημιουργήσετε ένα αντικείμενο που λέγεται <link href="http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Adjustment.html">Adjustment</link>. Έπειτα μπορείτε να χρησιμοποιήσετε αυτό το αντικείμενο ως μια νέα ιδιότητα ρύθμισης του κουμπιού περιστροφής και ορίζει όλες τις τιμές μονομιάς. Κατόπιν, μπορείτε να αλλάξετε όλα τα κουμπιά περιστροφής που χρησιμοποιούν αυτήν τη ρύθμιση αλλάζοντας τις ιδιότητες του αντικειμένου ρύθμισης.

Packit 1470ea
    

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

Packit 1470ea
    <note>

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

</note>
Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="UI">
Packit 1470ea
    <title>Δημιουργία της υπόλοιπης διεπαφής χρήστη</title>
Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία των ετικετών κειμένου που πάνε με τα κουμπιά περιστροφής
Packit 1470ea
        this._startLabel = new Gtk.Label ({ label: "There are " });
Packit 1470ea
        this._kittenLabel = new Gtk.Label ({ label: " kitten(s), and "});
Packit 1470ea
        this._tunaLabel = new Gtk.Label ({ label: " can(s) of tuna."});
Packit 1470ea
        this.perKitten = Math.floor((this._tuna.get_value() / this._kittens.get_value()));
Packit 1470ea
        this._lastLabel = new Gtk.Label ({
Packit 1470ea
            label: "That's " + this.perKitten + " can(s) of tuna per kitten." });
Packit 1470ea
Packit 1470ea
    

Δημιουργούμε κάθε <link xref="label.js">ετικέτα</link> ξεχωριστά και έπειτα τις συνδέουμε μαζί με τα κουμπιά περιστροφής. Η τελευταία ετικέτα χρειάζεται να εμφανίσει τον αριθμό των κονσερβών τόννου ανά γατί, έτσι έχει μια μεταβλητή στη μέση, που αντιστοιχεί σε μια εξίσωση που χρησιμοποιεί τις συναρτήσεις get_value των SpinButtons για την εύρεση του ορισμού τους. Η μέθοδος στρογγύλευσης της μαθηματικής συνάρτησης του JavaScript χρησιμοποιείται για στρογγύλευση του αριθμού των κονσερβών ανά γατί στον πλησιέστερο κάτω ακέραιο αριθμό.

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία ενός πλέγματος για τοποθέτηση μέσα του των κουμπιών περιστροφής και των ετικετών τους
Packit 1470ea
        this._spinGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER,
Packit 1470ea
            margin_bottom: 20 });
Packit 1470ea
Packit 1470ea
        // Προσάρτηση όλων στο πλέγμα
Packit 1470ea
        this._spinGrid.attach (this._startLabel, 0, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._kittens, 1, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._kittenLabel, 2, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._tuna, 3, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._tunaLabel, 4, 0, 1, 1);
Packit 1470ea
Packit 1470ea
        // Δημιουργία ενός κύριου πλέγματος για να το κρατήσει και της τελευταίας ετικέτας
Packit 1470ea
        this._mainGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER });
Packit 1470ea
Packit 1470ea
        // Προσάρτηση του μικρότερου πλέγματος και της τελευταίας ετικέτας στο κύριο πλέγμα
Packit 1470ea
        this._mainGrid.attach (this._spinGrid, 0, 0, 1, 1);
Packit 1470ea
        this._mainGrid.attach (this._lastLabel, 0, 1, 1, 1);
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

Εδώ χρησιμοποιούμε <link xref="grid.js">πλέγμα</link> γραφικών στοιχείων για να κρατάμε το καθετί οργανωμένο. Ένα πλέγμα κρατά τις ετικέτες και τα κουμπιά περιστροφής σε σειρά, ενώ το επόμενο βάζει αυτό το πλέγμα στην κορυφή και την τελική ετικέτα στο τέλος.

Packit 1470ea
    

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

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Προσθήκη του κύριου πλέγματος στο παράθυρο
Packit 1470ea
        this._window.add (this._mainGrid);
Packit 1470ea
Packit 1470ea
        // Εμφάνιση του παραθύρου και όλων των θυγατρικών γραφικών στοιχείων
Packit 1470ea
        this._window.show_all();
Packit 1470ea
    },
Packit 1470ea
Packit 1470ea
    

Τελικά, προσθέτουμε το μεγαλύτερο πλέγμα στο παράθυρο, έπειτα λέμε στο παράθυρο να εμφανίσει τον εαυτόν του και όλα τα γραφικά στοιχεία μέσα του.

Packit 1470ea
    </section>
Packit 1470ea
Packit 1470ea
    <section id="spinbutton-handler">
Packit 1470ea
    <title>Η συνάρτηση που χειρίζεται τις αριθμητικές τιμές των κουμπιών περιστροφής ρυθμίστηκε</title>
Packit 1470ea
Packit 1470ea
    
Packit 1470ea
    _newValue: function () {
Packit 1470ea
Packit 1470ea
        // Ενημέρωση της ετικέτας που εμφανίζει πόσα κουτιά υπάρχουν ανά γατάκι 
Packit 1470ea
        this.perKitten = Math.floor((this._tuna.get_value() / this._kittens.get_value()))
Packit 1470ea
        this._lastLabel.set_label ("That's " + this.perKitten + " can(s) of tuna per kitten.");
Packit 1470ea
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
});
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
// Εκτέλεση της εφαρμογής
Packit 1470ea
let app = new SpinButtonExample ();
Packit 1470ea
app.application.run (ARGV);
Packit 1470ea
Packit 1470ea
    

Τελικά, δημιουργούμε ένα νέο παράδειγμα της ολοκληρωμένης κλάσης παράδειγμα κουμπιού περιστροφής (SpinButtonExample) και εκτελούμε την εφαρμογή.

Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="complete">
Packit 1470ea
    <title>Δείγμα πλήρους κώδικα</title>
Packit 1470ea
#!/usr/bin/gjs
Packit 1470ea
Packit 1470ea
imports.gi.versions.Gtk = '3.0';
Packit 1470ea
Packit 1470ea
const Gio = imports.gi.Gio;
Packit 1470ea
const Gtk = imports.gi.Gtk;
Packit 1470ea
Packit 1470ea
class SpinButtonExample {
Packit 1470ea
Packit 1470ea
    // Create the application itself
Packit 1470ea
    constructor() {
Packit 1470ea
        this.application = new Gtk.Application({
Packit 1470ea
            application_id: 'org.example.jsspinbutton'
Packit 1470ea
        });
Packit 1470ea
Packit 1470ea
        // Connect 'activate' and 'startup' signals to the callback functions
Packit 1470ea
        this.application.connect('activate', this._onActivate.bind(this));
Packit 1470ea
        this.application.connect('startup', this._onStartup.bind(this));
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
    // Callback function for 'activate' signal presents window when active
Packit 1470ea
    _onActivate() {
Packit 1470ea
        this._window.present();
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
    // Callback function for 'startup' signal builds the UI
Packit 1470ea
    _onStartup() {
Packit 1470ea
        this._buildUI();
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
    // Build the application's UI
Packit 1470ea
    _buildUI() {
Packit 1470ea
Packit 1470ea
        // Create the application window
Packit 1470ea
        this._window = new Gtk.ApplicationWindow({
Packit 1470ea
            application: this.application,
Packit 1470ea
            window_position: Gtk.WindowPosition.CENTER,
Packit 1470ea
            border_width: 20,
Packit 1470ea
            title: "Kitten Feeder"});
Packit 1470ea
Packit 1470ea
        // Create the first spinbutton using a function
Packit 1470ea
        this._kittens = Gtk.SpinButton.new_with_range (1, 9001, 1);
Packit 1470ea
        this._kittens.connect ("value-changed", this._newValue.bind(this));
Packit 1470ea
Packit 1470ea
        // Create an adjustment to use for the second spinbutton
Packit 1470ea
        this._adjustment = new Gtk.Adjustment ({
Packit 1470ea
            value: 1,
Packit 1470ea
            lower: 0,
Packit 1470ea
            upper: 9001,
Packit 1470ea
            step_increment: 1,
Packit 1470ea
            page_increment: 10 });
Packit 1470ea
Packit 1470ea
        // Create the second spinbutton
Packit 1470ea
        this._tuna = new Gtk.SpinButton ({ adjustment: this._adjustment });
Packit 1470ea
        this._tuna.connect ("value-changed", this._newValue.bind(this));
Packit 1470ea
Packit 1470ea
        // this._tuna.set_digits (1);
Packit 1470ea
        // this._tuna.set_wrap (true);
Packit 1470ea
Packit 1470ea
        // Create the text labels to go with the spinbuttons
Packit 1470ea
        this._startLabel = new Gtk.Label ({ label: "There are " });
Packit 1470ea
        this._kittenLabel = new Gtk.Label ({ label: " kitten(s), and "});
Packit 1470ea
        this._tunaLabel = new Gtk.Label ({ label: " can(s) of tuna."});
Packit 1470ea
        this.perKitten = Math.floor((this._tuna.get_value() / this._kittens.get_value()));
Packit 1470ea
        this._lastLabel = new Gtk.Label ({
Packit 1470ea
            label: "That's " + this.perKitten + " can(s) of tuna per kitten." });
Packit 1470ea
Packit 1470ea
        // Create a grid to put the spinbuttons and their labels in
Packit 1470ea
        this._spinGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER,
Packit 1470ea
            margin_bottom: 20 });
Packit 1470ea
Packit 1470ea
        // Attach everything to the grid
Packit 1470ea
        this._spinGrid.attach (this._startLabel, 0, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._kittens, 1, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._kittenLabel, 2, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._tuna, 3, 0, 1, 1);
Packit 1470ea
        this._spinGrid.attach (this._tunaLabel, 4, 0, 1, 1);
Packit 1470ea
Packit 1470ea
        // Create a main grid to hold it and the last label
Packit 1470ea
        this._mainGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER });
Packit 1470ea
Packit 1470ea
        // Attach the smaller grid and the last label to the main grid
Packit 1470ea
        this._mainGrid.attach (this._spinGrid, 0, 0, 1, 1);
Packit 1470ea
        this._mainGrid.attach (this._lastLabel, 0, 1, 1, 1);
Packit 1470ea
Packit 1470ea
        // Add the main grid to the window
Packit 1470ea
        this._window.add (this._mainGrid);
Packit 1470ea
Packit 1470ea
        // Show the window and all child widgets
Packit 1470ea
        this._window.show_all();
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
    _newValue() {
Packit 1470ea
        // Update the label which shows how many cans there are per kitten
Packit 1470ea
        this.perKitten = Math.floor((this._tuna.get_value() / this._kittens.get_value()))
Packit 1470ea
        this._lastLabel.set_label ("That's " + this.perKitten + " can(s) of tuna per kitten.");
Packit 1470ea
    }
Packit 1470ea
};
Packit 1470ea
Packit 1470ea
// Run the application
Packit 1470ea
let app = new SpinButtonExample ();
Packit 1470ea
app.application.run (ARGV);
Packit 1470ea
Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="in-depth">
Packit 1470ea
    <title>Τεκμηρίωση σε βάθος</title>
Packit 1470ea
<list>
Packit 1470ea
  <item>

<link href="http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Adjustment.html">Gtk.Adjustment</link>

</item>
Packit 1470ea
  <item>

<link href="http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Application.html">Gtk.Application</link>

</item>
Packit 1470ea
  <item>

<link href="http://developer.gnome.org/gtk3/stable/GtkApplicationWindow.html">Gtk.ApplicationWindow</link>

</item>
Packit 1470ea
  <item>

<link href="http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html">Gtk.Grid</link>

</item>
Packit 1470ea
  <item>

<link href="http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html">Gtk.Label</link>

</item>
Packit 1470ea
  <item>

<link href="http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.SpinButton.html">Gtk.SpinButton</link>

</item>
Packit 1470ea
</list>
Packit 1470ea
  </section>
Packit 1470ea
</page>