J'écris la vue de préférence une extension de shell GNOME et un problème de face lors de l'utilisation de la fonction imports.lang
pour écrire l'application de manière orientée objet.Comment vérifier qu'une classe Gjs a déjà été définie?
const Gtk = imports.gi.Gtk
const Lang = imports.lang
Gtk.init(null)
const MyWindow = new Lang.Class({...})
Ouverture de la fenêtre de préférence la première fois fonctionne, mais les suivantes jeter l'erreur suivante: Error: Type name Gjs_MyWindow is already registered
. Lors de la fermeture de la fenêtre pour la première fois, je reçois cette erreur: TypeError: prefsModule.init is not a function
.
Le code suivant plus impératif fonctionne:
const Gtk = imports.gi.Gtk
Gtk.init(null)
const window = new Gtk.Window({ type: Gtk.WindowType.TOPLEVEL })
D'après les erreurs lancées, je suppose que la classe est en cours de redéfinition. Comment puis-je éviter la redéfinition et recevoir la classe définie autrement? (Y a-t-il des documents auxquels je peux me référer?)