<?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="window.js" xml:lang="fr">
<info>
<title type="text">Window (JavaScript)</title>
<link type="guide" xref="beginner.js#windows"/>
<revision version="0.1" date="2012-04-14" status="draft"/>
<credit type="author copyright">
<name>Taryn Fox</name>
<email its:translate="no">jewelfox@fursona.net</email>
<years>2012</years>
</credit>
<desc>Une fenêtre élémentaire qui peut contenir d'autres éléments graphiques</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luc Rebert,</mal:name>
<mal:email>traduc@rebert.name</mal:email>
<mal:years>2011</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Alain Lojewski,</mal:name>
<mal:email>allomervan@gmail.com</mal:email>
<mal:years>2011-2012</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luc Pionchon</mal:name>
<mal:email>pionchon.luc@gmail.com</mal:email>
<mal:years>2011</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Bruno Brouard</mal:name>
<mal:email>annoa.b@gmail.com</mal:email>
<mal:years>2011-12</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Luis Menina</mal:name>
<mal:email>liberforce@freeside.fr</mal:email>
<mal:years>2014</mal:years>
</mal:credit>
</info>
<title>Fenêtre</title>
<table>
<tr>
<td>
<media type="image" mime="image/png" src="media/window.png"/>
<p>Une GtkApplication minimale</p>
</td>
<td>
<p>Utilisez <link xref="GtkApplicationWindow.js">ApplicationWindow</link> si vous avez besoin de la prise en charge de GMenu.</p>
</td>
</tr>
</table>
<code mime="application/javascript" style="numbered">
#!/usr/bin/gjs
imports.gi.versions.Gtk = '3.0';
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Gtk = imports.gi.Gtk;
class Application {
//create the application
constructor() {
this.application = new Gtk.Application({
application_id: 'org.example.myapp',
flags: Gio.ApplicationFlags.FLAGS_NONE
});
this.application.connect('activate', this._onActivate.bind(this));
}
//callback function for 'activate' signal
_onActivate() {
let myWindow = new Gtk.Window({type: Gtk.WindowType.TOPLEVEL});
myWindow.title = "Welcome to GNOME";
/* Here are a few ways we can customize our window.
Try uncommenting them or changing their values! */
//myWindow.set_default_size (400,200);
//myWindow.set_has_resize_grip (false);
//myWindow.set_opacity (0.5);
//myWindow.maximize ();
//show the window and all child widgets (none in this case)
myWindow.show_all();
this.application.add_window(myWindow);
}
};
//run the application
let app = new Application ();
app.application.run (ARGV);
</code>
<p>Dans cet exemple, les éléments suivants sont utilisés :</p>
<list>
<item><p><link href="http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Application.html">Gtk.Application</link></p></item>
<item><p><link href="http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html">Gtk.Window</link></p></item>
</list>
</page>