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
|
require 'rubygems'
require 'gtk2'
Gtk.init
class Fenetre < Gtk::Window
def initialize
super
# Proprietes de la fenetre
maFenetre= Gtk::Window.new
maFenetre.set_title("Ma fenetre")
maFenetre.set_resizable(false)
maFenetre.set_default_size(800,600)
maFenetre.set_window_position(Gtk::Window::POS_CENTER_ALWAYS)
signal_connect "destroy" do
Gtk.main_quit
end
init_ui
show_all
Gtk.main
end
def init_ui
contenu=Gtk::VBox.new()
add(contenu)
# Creation des trois gros conteneurs de l'application
banniere=Gtk::HBox.new()
corps=Gtk::HBox.new()
informations=Gtk::VBox.new()
separateurH = Gtk::HSeparator.new()
separateurH2 = Gtk::HSeparator.new()
contenu.pack_start(banniere,false)
contenu.pack_start(separateurH,false)
contenu.pack_start(corps,true)
contenu.pack_start(separateurH2,false)
contenu.pack_start(informations,false)
############# Propriete du conteneur du haut ####################
begin
imageBanniere = Gdk::Pixbuf.new "banniere.jpg"
rescue IOError => e
puts e
puts "cannot load images"
exit
end
image1 = Gtk::Image.new imageBanniere
banniere.add(image1)
############# Propriete du conteneur du milieu ##################
menuCorps=Gtk::VBox.new(false,6)
realCorps=Gtk::VBox.new()
corps.pack_start(menuCorps,false)
corps.pack_start(realCorps,true)
# Elements du menu
conteneurMenu1=Gtk::VBox.new(false)
conteneurMenu2=Gtk::VBox.new(false)
conteneurMenu3=Gtk::VBox.new(false)
conteneurMenu4=Gtk::VBox.new(false)
menuCorps.pack_start(conteneurMenu1,false)
menuCorps.pack_start(conteneurMenu2,false)
menuCorps.pack_start(conteneurMenu3,false)
menuCorps.pack_start(conteneurMenu4,false)
conteneurMenu1.pack_start(monBout1=Gtk::Button.new("ElementMenu1 Menu3"),false)
conteneurMenu1.pack_start(monBout2=Gtk::Button.new("ElementMenu2 Menu1"),false)
conteneurMenu1.pack_start(monBout3=Gtk::Button.new("ElementMenu3 Menu1"),false)
conteneurMenu1.pack_start(monBout4=Gtk::Button.new("ElementMenu4 Menu1"),false)
conteneurMenu2.pack_start(monBout5=Gtk::Button.new("ElementMenu1 Menu2"),false)
conteneurMenu2.pack_start(monBout6=Gtk::Button.new("ElementMenu2 Menu2"),false)
conteneurMenu2.pack_start(monBout7=Gtk::Button.new("ElementMenu3 Menu2"),false)
conteneurMenu2.pack_start(monBout8=Gtk::Button.new("ElementMenu4 Menu2"),false)
conteneurMenu3.pack_start(monBout10=Gtk::Button.new("ElementMenu1 Menu3"),false)
conteneurMenu3.pack_start(monBout11=Gtk::Button.new("ElementMenu2 Menu3"),false)
conteneurMenu3.pack_start(monBout12=Gtk::Button.new("ElementMenu3 Menu3"),false)
conteneurMenu3.pack_start(monBout13=Gtk::Button.new("ElementMenu4 Menu3"),false)
conteneurMenu4.pack_start(monBout14=Gtk::Button.new("ElementMenu1 Menu4"))
conteneurMenu4.pack_start(monBout15=Gtk::Button.new("ElementMenu2 Menu4"))
conteneurMenu4.pack_start(monBout16=Gtk::Button.new("ElementMenu3 Menu4"))
conteneurMenu4.pack_start(monBout17=Gtk::Button.new("ElementMenu4 Menu4"))
# Elements du corps
monTitre=Gtk::Label.new()
monTitre.set_markup("<b>Mon titre</b>")
monTitre.set_justify(Gtk::JUSTIFY_CENTER)
texte="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris a risus. In ornare convallis magna. Nunc tincidunt. Donec pharetra nisi ut felis. Proin iaculis, pede et volutpat imperdiet, felis nulla tincidunt turpis, et sollicitudin risus erat semper lectus. Sed vel magna. Integer tristique porta diam. Sed vulputate nibh id velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Fusce porta. Mauris sed justo.
Nam sodales ligula sed nibh. Nullam ante. Donec ornare augue ac purus. Vivamus convallis metus sit amet massa. Vivamus dignissim dui vitae dui. Ut ut urna eu enim tempor porta. Curabitur dignissim blandit odio. Sed felis. Etiam fringilla. Nullam eleifend rutrum mauris. Aliquam erat volutpat. Quisque vel tortor. Phasellus nec nisi. Duis consequat. Suspendisse fringilla eros sed massa. Ut porta feugiat erat"
monCorps=Gtk::Label.new()
monCorps.set_markup(texte)
monCorps.set_justify(Gtk::JUSTIFY_CENTER)
realCorps.add(monTitre)
realCorps.add(monCorps)
############# Propriete du conteneur du bas #####################
infosCompte=Gtk::VBox.new(false,6)
conteneurtoolbar=Gtk::VBox.new()
informations.pack_start(infosCompte,true)
informations.pack_start(conteneurtoolbar,true)
toolbar = Gtk::Toolbar.new
toolbar.set_toolbar_style Gtk::Toolbar::Style::ICONS
sep = Gtk::SeparatorToolItem.new
connexion = Gtk::ToolButton.new Gtk::Stock::JUMP_TO
quit = Gtk::ToolButton.new Gtk::Stock::QUIT
toolbar.insert 0, sep
toolbar.insert 1, connexion
toolbar.insert 2, quit
quit.signal_connect('clicked'){
Gtk.main_quit
}
conteneurtoolbar.pack_start(toolbar,false)
end
end |
Partager