gtk ajouter une classe dans une HBox
Bonjour,
Voici mon problème, j'ai crée une classe Console qui affiche un textview dans un scroll, et j'aimerais afficher cette console dans une autre classe à l'aide d'un Console.new(), j'ai réussi à le faire mais uniquement dans une window et non dans une hbox j'en est absolument besoin pour ajouter d'autre classe à côté^^ :s comment je doit procéder?
Code:
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
| "#!/usr/bin/env ruby"
require 'gtk2'
class Console < Gtk::ScrolledWindow
@console
def initialize()
super()
#Gtk.init();
initInterface();
#Gtk.main();
end
def initInterface()
#editeur de texte
@console = Gtk::TextView.new();
#pas editable
@console.set_editable(false);
#masque le curseur
@console.set_cursor_visible(false);
#bloque le texte a la largeur de la fenetre
@console.set_wrap_mode(Gtk::TextTag::WRAP_WORD);
#scrollbar
#masque les barres de defilement
set_policy(Gtk::POLICY_AUTOMATIC,Gtk::POLICY_AUTOMATIC)
add(@console);
buffer=@console.buffer();
#on ajoute le texte au buffer
buffer.set_text("Bienvenue dans the game");
show();
@console.show();
end
def afficherTexte(texte)
#on recupere le buffer du textview
buffer=@console.buffer();
#on ajoute le texte au buffer
buffer.set_text(buffer.get_text+"\n"+texte);
end
end
#Console.new; |
Code:
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
| "#!/usr/bin/env ruby"
require 'gtk2'
require './Console.rb'
#affiche console + jauges
class Zaf
@console
def initialize()
Gtk.init();
@console = Console.new();
initInterface();
Gtk.main();
end
def initInterface()
window = Gtk::Window.new();
window.signal_connect('destroy') {
Gtk.main_quit();
}
window.set_default_size 400,150;
hbox = Gtk::HBox.new(true, 2);
#hbox.pack_start(@console);
window.add(@console);
window.set_title("test");
window.show();
end
end
Zaf.new(); |
je suis obligé de faire hériter la console du scroll pour que cela fonctionne :s quelqu'un peux t'il m'aider?
Merci d'avance =)