# Κυλιόμενο παράθυρο (ScrolledWindow) (JavaScript)

Meg Ford
megford@gnome.org 2013
Προσθέτει γραμμές κύλισης στο θυγατρικό του γραφικό συστατικού
Δημήτρης Σπίγγος
dmtrs32@gmail.com 2012, 2013

# Κυλιόμενο παράθυρο (ScrolledWindow)

Μια εικόνα σε κυλιόμενο παράθυρο.

# Ο χρησιμοποιούμενος κώδικας για παραγωγή αυτού παραδείγματος

#!/usr/bin/gjs

const GObject = imports.gi.GObject; const Gtk = imports.gi.Gtk; const Lang = imports.lang;

const ScrolledWindowExample = new Lang.Class ({ Name: 'ScrolledWindow Example',

// Δημιουργία αυτής καθεαυτής της εφαρμογής _init: function () { this.application = new Gtk.Application({ application_id: 'org.example.jscrolledwindow' });

// Σύνδεση σημάτων 'activate' και 'startup' στις συναρτήσεις επανάκλησης this.application.connect('activate', Lang.bind(this, this._onActivate)); this.application.connect('startup', Lang.bind(this, this._onStartup)); },

// Η συνάρτηση επανάκλησης για το σήμα 'activate' παρουσιάζει παράθυρα όταν είναι ενεργή _onActivate: function() { this.window.present(); },

// Η συνάρτηση επανάκλησης για το σήμα 'startup' κατασκευάζει τη διεπαφή χρήστη _onStartup: function() { this._buildUI (); },

// Κατασκευή της διεπαφής χρήστη της εφαρμογής _buildUI: function() { // Δημιουργία του παραθύρου της εφαρμογής this.window = new Gtk.ApplicationWindow ({ application: this.application, window_position: Gtk.WindowPosition.CENTER, title: "ScrolledWindow Example", default_width: 200, default_height: 200, border_width: 10 }); // το κυλιόμενο παράθυρο this.scrolledWindow = new Gtk.ScrolledWindow(); this.scrolledWindow.set_border_width(10); // υπάρχει πάντα η γραμμή κύλισης (αλλιώς: AUTOMATIC - μόνο αν χρειάζεται - ή NEVER) this.scrolledWindow.set_policy(Gtk.PolicyType.ALWAYS, Gtk.PolicyType.ALWAYS); // μια εικόνα - ελαφριά μεγαλύτερη από το παράθυρο this.image = new Gtk.Image(); this.image.set_from_file("gnome-image.png");

// προσθήκη της εικόνας στο κυλιόμενο παράθυρο this.scrolledWindow.add_with_viewport(this.image);

// προσθήκη του κυλιόμενου παράθυρου στο παράθυρο this.window.add(this.scrolledWindow); this.window.show_all(); } });

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

# Αναφορές API

Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:

GtkScrolledWindow

Standard Enumerations

GtkImage