# Κουμπί χρώματος (JavaScript)

Meg Ford
megford@gnome.org 2013
Ένα κουμπί για εκκίνηση του διαλόγου επιλογής χρώματος
Δημήτρης Σπίγγος
dmtrs32@gmail.com 2012, 2013

# Πλήκτρο χρώματος (ColorButton)

Αυτό το ColorButton ξεκινά τον διάλογο επιλογής χρωμάτων και τυπώνει στον τερματικό τις τιμές RGB του επιλεγμένου χρώματος.

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

#!/usr/bin/gjs

const Gdk = imports.gi.Gdk· const GObject = imports.gi.GObject· const Gtk = imports.gi.Gtk· const Lang = imports.lang·

const ColorbuttonExample = new Lang.Class ({ Name: 'Colorbutton Example',

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

// Σύνδεση σημάτων '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' δομεί την UI _onStartup: function () { this._buildUI ()· },

// Δόμηση της γραφικής διεπαφής της εφαρμογής _buildUI: function () {

// Δημιουργία του παραθύρου της εφαρμογής this.window = new Gtk.ApplicationWindow ({ application: this.application, window_position: Gtk.WindowPosition.CENTER, title: "ColorButton", default_width: 150, default_height: 50, border_width: 10 })·

this.button = new Gtk.ColorButton()· this.color = new Gdk.RGBA()· this.color.red = 0.0· this.color.green = 0.0· this.color.blue = 1.0· this.color.alpha = 0.5· this.button.set_rgba(this.color)· this.button.connect("color-set", Lang.bind(this, this.onColorChosen))· this.label = new Gtk.Label()· this.label.set_text("Click to choose a color")·

let grid = new Gtk.Grid()· grid.attach(this.button, 0, 0, 2, 1)· grid.attach(this.label, 0, 1, 2, 1)· this.window.add(grid)· this.window.show_all()· },

onColorChosen: function() { let colorName = this.color.to_string()· this.label.set_text("You chose the color " + colorName)· } })·

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

# Αναφορές API

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

GtkColorButton

RGBA Colors