/usr/share/help/el/gnome-devel-demos/menubutton.js.page is in gnome-devel-docs 3.18.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <?xml version="1.0" encoding="utf-8"?>
<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="menubutton.js" xml:lang="el">
<info>
<title type="text">MenuButton (JavaScript)</title>
<link type="guide" xref="beginner.js#buttons"/>
<revision version="0.1" date="2012-07-18" status="draft"/>
<credit type="author copyright">
<name>Anna Zacchi</name>
<email its:translate="no">azzurroverde@gmail.com</email>
<years>2012</years>
</credit>
<desc>Ένα γραφικό στοιχείο που εμφανίζει ένα μενού όταν πατηθεί</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
<mal:email>team@gnome.gr</mal:email>
<mal:years>2012-2015</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Δημήτρης Σπίγγος</mal:name>
<mal:email>dmtrs32@gmail.com</mal:email>
<mal:years>2012, 2013</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Μαρία Θουκιδίδου</mal:name>
<mal:email>marablack3@gmail.com</mal:email>
<mal:years>2014</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Θάνος Τρυφωνίδης</mal:name>
<mal:email>tomtryf@gmail.com</mal:email>
<mal:years>2014, 2015</mal:years>
</mal:credit>
</info>
<title>MenuButton</title>
<media type="image" mime="image/png" src="media/menubutton.png"/>
<p>Το γραφικό στοιχείο GtkMenuButton χρησιμοποιείται για την εμφάνιση ενός μενού όταν πατιέται. Αυτό το μενού μπορεί να δοθεί είτε ως GtkMenu, ή ως ένα αποσπασμένο GMenuModel. Το γραφικό στοιχείο GtkMenuButton μπορεί να κρατήσει οποιοδήποτε θυγατρικό γραφικό στοιχείο. Δηλαδή, μπορεί να κρατήσει σχεδόν κάθε άλλο τυπικό GtkWidget. Το πιο συχνά χρησιμοποιούμενο θυγατρικό είναι το παρεχόμενο GtkArrow.</p>
<note><p>Χρειάζεται να τρέξετε το GNOME 3.6 ή μεταγενέστερο για να δουλέψει το MenuButton.</p></note>
<code mime="application/javascript" style="numbered">#!/usr/bin/gjs
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Application = new Lang.Class ({
Name: 'Application',
//δημιουργία της εφαρμογής
_init: function() {
this.application = new Gtk.Application ({ application_id: 'org.example.myapp',
flags: Gio.ApplicationFlags.FLAGS_NONE });
//σύνδεση στα σήματα 'activate' και 'startup' για επανάκληση συναρτήσεων
this.application.connect('activate', Lang.bind(this, this._onActivate));
this.application.connect('startup', Lang.bind(this, this._onStartup));
},
//δημιουργία της γραφικής διεπαφής (σε αυτήν την περίπτωση είναι απλά το ApplicationWindow)
_buildUI: function() {
this._window = new Gtk.ApplicationWindow({ application: this.application,
window_position: Gtk.WindowPosition.CENTER,
title: "MenuButton Example" });
this._window.set_default_size(600, 400);
this.grid = new Gtk.Grid();
this._window.add(this.grid);
this._menuButton = new Gtk.MenuButton();
this.grid.attach(this._menuButton, 0, 0, 1, 1 );
this.menu = new Gtk.Menu.new_from_model(this.menuModel);
this.menu.show();
this._menuButton.set_menu_model (this.menuModel);
this._menuButton.set_size_request(80, 35);
this._menuButton.show();
this._window.show_all();
},
_showNew: function() {
print("You clicked \"New\"");
},
_showAbout: function() {
print("You clicked \"About\"");
},
//δημιουργία των στοιχείων μενού και σύνδεση των σημάτων με τις συναρτήσεις επανάκλησης.
_initMenus: function() {
let newAction = new Gio.SimpleAction({ name: 'new' });
newAction.connect('activate', Lang.bind(this,
function() {
this._showNew();
}));
this.application.add_action(newAction);
let aboutAction = new Gio.SimpleAction({ name: 'about' });
aboutAction.connect('activate', Lang.bind(this,
function() {
this._showAbout();
}));
this.application.add_action(aboutAction);
let quitAction = new Gio.SimpleAction({ name: 'quit' });
quitAction.connect('activate', Lang.bind(this,
function() {
this._window.destroy();
}));
this.application.add_action(quitAction);
this.menuModel = new Gio.Menu();
this.menuItemNew = Gio.MenuItem.new("New", 'app.new');
this.menuItemAbout = Gio.MenuItem.new("About", 'app.about');
this.fileMenuItem = Gio.MenuItem.new("Other", null);
this.menuModel.append_item(this.menuItemNew);
this.menuModel.append_item(this.menuItemAbout);
//submenu
this.subMenu = new Gio.Menu();
this.fileMenuItem.set_submenu(this.subMenu);
this.menuItemQuit = Gio.MenuItem.new("Quit", 'app.quit');
this.subMenu.append_item(this.menuItemQuit);
this.menuModel.append_item(this.fileMenuItem);
},
//συνάρτηση επανάκλησης για το σήμα 'activate'
_onActivate: function() {
this._window.present();
},
//συνάρτηση επανάκλησης για το σήμα 'startup'
_onStartup: function() {
//You must call _initMenus() before calling _buildUI().
this._initMenus();
this._buildUI();
}
});
//εκτέλεση της εφαρμογής
let app = new Application();
app.application.run(ARGV);
</code>
<p>Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:</p>
<list>
<item><p><link href="http://developer.gnome.org/gtk3/3.5/gtk3-GtkMenuButton.html">MenuButton</link></p></item>
</list>
</page>
|