Blame platform-demos/el/scale.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="scale.js" xml:lang="el">
Packit 1470ea
  <info>
Packit 1470ea
  <title type="text">Κλίμακα (JavaScript)</title>
Packit 1470ea
    <link type="guide" xref="beginner.js#entry"/>
Packit 1470ea
    <revision version="0.1" date="2012-06-20" 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>Κλίμακα</title>
Packit 1470ea
  <media type="image" mime="image/png" src="media/scalepenguins.png"/>
Packit 1470ea
  

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

Packit 1470ea
  

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

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 ScaleExample = new Lang.Class({
Packit 1470ea
    Name: 'Scale Example',
Packit 1470ea
Packit 1470ea
    // Δημιουργία της εφαρμογής αυτής καθεαυτής
Packit 1470ea
    _init: function() {
Packit 1470ea
        this.application = new Gtk.Application({
Packit 1470ea
            application_id: 'org.example.jsscale'
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
    

Όλος ο κώδικας για αυτό το παράδειγμα πηγαίνει στην κλάση ScaleExample. Ο παραπάνω κώδικας δημιουργεί μια <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: "Birds on a Floe"});
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
  </section>
Packit 1470ea
Packit 1470ea
  <section id="button">
Packit 1470ea
    <title>Δημιουργία των κλιμάκων</title>
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία της οριζόντιας κλίμακας
Packit 1470ea
        this._hScale = Gtk.Scale.new_with_range (Gtk.Orientation.HORIZONTAL, 0.0, 100.0, 5.0);
Packit 1470ea
        this._hScale.set_valign (Gtk.Align.START);
Packit 1470ea
        this._hScale.set_value (50);
Packit 1470ea
        this._hScale.set_digits (0);
Packit 1470ea
        // this._hScale.set_draw_value (false);
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
    

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

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία μιας κύριας προσαρμογής για χρήση με την κάθετη (ή οποιαδήποτε άλλη)κλίμακα
Packit 1470ea
        this._adjustment = new Gtk.Adjustment ({
Packit 1470ea
            value: 95,
Packit 1470ea
            lower: 0,
Packit 1470ea
            upper: 100,
Packit 1470ea
            step_increment: 5,
Packit 1470ea
            page_increment: 10 });
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία μιας κάθετης κλίμακας χρησιμοποιώντας την προσαρμογή που μόλις φτιάξαμε
Packit 1470ea
        this._vScale = new Gtk.Scale ({
Packit 1470ea
            orientation: Gtk.Orientation.VERTICAL,
Packit 1470ea
            adjustment: this._adjustment,
Packit 1470ea
            digits: 0,
Packit 1470ea
            // draw_value: false,
Packit 1470ea
            margin_left: 10 });
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

Εδώ δημιουργούμε ένα νέο αντικείμενο κλίμακας χρησιμοποιώντας _adjustment ως ιδιότητα "adjustment". Αυτό είναι μια μεγάλη συντόμευση. Πρέπει ακόμα να του πούμε να στρογγυλέψει τις δεκαδικές θέσεις, όμως. Σημειώστε ότι η ιδιότητα draw_value είναι σχολιασμένη· έτσι του λέτε να μην εμφανίσει τον αριθμό δίπλα στην κλίμακα όταν δημιουργείτε μία κλίμακα με αυτόν τον τρόπο.

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία της ετικέτας που εμφανίζει το γινόμενο των δύο τιμών
Packit 1470ea
        this._product = (this._hScale.get_value() * this._vScale.get_value());
Packit 1470ea
        this._label = new Gtk.Label ({
Packit 1470ea
            label: (String(this._product) + " penguins on the iceberg."),
Packit 1470ea
            height_request: 200,
Packit 1470ea
            width_request: 200,
Packit 1470ea
            wrap: true});
Packit 1470ea
Packit 1470ea
        // Σύνδεση των δύο κλιμάκων με συναρτήσεις που επανυπολογίζουν την ετικέτα
Packit 1470ea
        this._hScale.connect ("value-changed", Lang.bind (this, this._recalc));
Packit 1470ea
        this._vScale.connect ("value-changed", Lang.bind (this, this._recalc));
Packit 1470ea
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
    

Αφού δημιουργήσουμε την ετικέτα, συνδέουμε τα σήματα "value-changed" των δύο κλιμάκων στο _recalc, μια συνάρτηση που θα ξαναϋπολογίσει τον αριθμό των πιγκουίνων στο παγόβουνο και δίνει ένα νέο μήνυμα.

Packit 1470ea
Packit 1470ea
    
Packit 1470ea
        // Δημιουργία ενός πλέγματος για τακτοποίηση των πραγμάτων μέσα του
Packit 1470ea
        this._UIGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER,
Packit 1470ea
            margin_top: 20,
Packit 1470ea
            margin_left: 20});
Packit 1470ea
Packit 1470ea
        // Προσάρτηση όλων στο πλέγμα
Packit 1470ea
        this._UIGrid.attach (this._label, 0, 0, 1, 1);
Packit 1470ea
        this._UIGrid.attach (this._hScale, 0, 1, 1, 1);
Packit 1470ea
        this._UIGrid.attach (this._vScale, 1, 0, 1, 1);
Packit 1470ea
Packit 1470ea
    

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

Packit 1470ea
    
Packit 1470ea
        // Προσθήκη του πλέγματος στο παράθυρο
Packit 1470ea
        this._window.add (this._UIGrid);
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="scales-handler">
Packit 1470ea
    <title>Η συνάρτηση που χειρίζεται την αλλαγή των τιμών των κλιμάκων</title>
Packit 1470ea
Packit 1470ea
    
Packit 1470ea
    _recalc: function() {
Packit 1470ea
Packit 1470ea
        // Υπολογισμός του γινομένου των δύο τιμών των κλιμάκων
Packit 1470ea
        var product = (this._hScale.get_value() * this._vScale.get_value());
Packit 1470ea
Packit 1470ea
        // Δημιουργία μιας κενής γραμμής σχολίου σε περίπτωση που δεν υπάρχει ένα χαζό σχόλιο να γίνει
Packit 1470ea
        var comment = "";
Packit 1470ea
Packit 1470ea
        // Δημιουργία ενός χαζού σχολίου με βάση τον αριθμό των πιγκουίνων
Packit 1470ea
        if (product > 9000) {
Packit 1470ea
            comment = "It's over 9000!";
Packit 1470ea
        }
Packit 1470ea
        else if (product < 1000 && product > 0) {
Packit 1470ea
            comment = "They're getting lonely.";
Packit 1470ea
        }
Packit 1470ea
        else if (product == 0) {
Packit 1470ea
            comment = "They're all gone ...";
Packit 1470ea
        }
Packit 1470ea
        else comment = "";
Packit 1470ea
Packit 1470ea
        // Νέο κείμενο του Set ._label
Packit 1470ea
        this._label.set_label (String (product) + " penguins on the iceberg. " + comment);
Packit 1470ea
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
});
Packit 1470ea
Packit 1470ea
    

Να θυμάστε, μπορούμε να πάρουμε μια τιμή κλίμακας χρησιμοποιώντας τη μέθοδο του get_value. Εδώ απλά ξαναϋπολογίζουμε ποιο είναι το γινόμενο των δύο τιμών μετά τη μετακίνηση μιας από τις κλίμακες, προσθέτουμε ένα χαζό μήνυμα ανάλογα με το πόσοι πιγκουίνοι απέμειναν και αλλάζουμε τη διατύπωση στην _label για να δείξουμε το νέο αριθμό και το μήνυμα.

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

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

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 ScaleExample {
Packit 1470ea
Packit 1470ea
    // Create the application itself
Packit 1470ea
    constructor() {
Packit 1470ea
        this.application = new Gtk.Application({
Packit 1470ea
            application_id: 'org.example.jsscale'
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: "Birds on a Floe"});
Packit 1470ea
Packit 1470ea
        // Create the horizontal scale
Packit 1470ea
        this._hScale = Gtk.Scale.new_with_range (Gtk.Orientation.HORIZONTAL, 0.0, 100.0, 5.0);
Packit 1470ea
        this._hScale.set_valign (Gtk.Align.START);
Packit 1470ea
        this._hScale.set_value (50);
Packit 1470ea
        this._hScale.set_digits (0);
Packit 1470ea
        // this._hScale.set_draw_value (false);
Packit 1470ea
Packit 1470ea
        // Create a master adjustment to use for the vertical (or any other) scale
Packit 1470ea
        this._adjustment = new Gtk.Adjustment ({
Packit 1470ea
            value: 95,
Packit 1470ea
            lower: 0,
Packit 1470ea
            upper: 100,
Packit 1470ea
            step_increment: 5,
Packit 1470ea
            page_increment: 10 });
Packit 1470ea
Packit 1470ea
        // Create a vertical scale using the adjustment we just made
Packit 1470ea
        this._vScale = new Gtk.Scale ({
Packit 1470ea
            orientation: Gtk.Orientation.VERTICAL,
Packit 1470ea
            adjustment: this._adjustment,
Packit 1470ea
            digits: 0,
Packit 1470ea
            // draw_value: false,
Packit 1470ea
            margin_left: 10 });
Packit 1470ea
Packit 1470ea
        // Create the label that shows the product of the two values
Packit 1470ea
        this._product = (this._hScale.get_value() * this._vScale.get_value());
Packit 1470ea
        this._label = new Gtk.Label ({
Packit 1470ea
            label: (String(this._product) + " penguins on the iceberg."),
Packit 1470ea
            height_request: 200,
Packit 1470ea
            width_request: 200,
Packit 1470ea
            wrap: true});
Packit 1470ea
Packit 1470ea
        // Connect the two scales to functions which recalculate the label
Packit 1470ea
        this._hScale.connect ("value-changed", this._recalc.bind(this));
Packit 1470ea
        this._vScale.connect ("value-changed", this._recalc.bind(this));
Packit 1470ea
Packit 1470ea
        // Create a grid to arrange things in
Packit 1470ea
        this._UIGrid = new Gtk.Grid ({
Packit 1470ea
            halign: Gtk.Align.CENTER,
Packit 1470ea
            valign: Gtk.Align.CENTER,
Packit 1470ea
            margin_top: 20,
Packit 1470ea
            margin_left: 20});
Packit 1470ea
Packit 1470ea
        // Attach everything to the grid
Packit 1470ea
        this._UIGrid.attach (this._label, 0, 0, 1, 1);
Packit 1470ea
        this._UIGrid.attach (this._hScale, 0, 1, 1, 1);
Packit 1470ea
        this._UIGrid.attach (this._vScale, 1, 0, 1, 1);
Packit 1470ea
Packit 1470ea
        // Add the grid to the window
Packit 1470ea
        this._window.add (this._UIGrid);
Packit 1470ea
Packit 1470ea
        // Show the window and all child widgets
Packit 1470ea
        this._window.show_all();
Packit 1470ea
    }
Packit 1470ea
Packit 1470ea
    _recalc() {
Packit 1470ea
Packit 1470ea
        // Figure out what the product of the two scales' values is
Packit 1470ea
        var product = (this._hScale.get_value() * this._vScale.get_value());
Packit 1470ea
Packit 1470ea
        // Create a blank comment line in case there isn't a silly comment to make
Packit 1470ea
        var comment = "";
Packit 1470ea
Packit 1470ea
        // Make a silly comment based on the number of penguins
Packit 1470ea
        if (product > 9000) {
Packit 1470ea
            comment = "It's over 9000!";
Packit 1470ea
        }
Packit 1470ea
        else if (product < 1000 && product > 0) {
Packit 1470ea
            comment = "They're getting lonely.";
Packit 1470ea
        }
Packit 1470ea
        else if (product == 0) {
Packit 1470ea
            comment = "They're all gone ...";
Packit 1470ea
        }
Packit 1470ea
        else comment = "";
Packit 1470ea
Packit 1470ea
        // Set ._label's new text
Packit 1470ea
        this._label.set_label (String (product) + " penguins on the iceberg. " + comment);
Packit 1470ea
    }
Packit 1470ea
};
Packit 1470ea
Packit 1470ea
// Run the application
Packit 1470ea
let app = new ScaleExample ();
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.Scale.html">Gtk.Scale</link>

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