ruby gtk bagian 2

Upload: slametz-pembuka

Post on 08-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Ruby Gtk Bagian 2

    1/8

    BAHASA PEMROGRAMAN RUBY DI LINUX

    MENGGUNAKAN RUBY-GTk

    Oleh:Slamet Nurhadi

    DEPARTEMEN TEKNIK INFORMATIKAUNIVERSITAS NASIONAL

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    2/8

    Menginstall Ruby dengan menggunakan kode dibawah ini ketik di console

    $> sudo apt-get install ruby-full libruby libruby-extras ruby1.8-dev

    Untuk menginstall paket-paket Ruby-GNOME2 di Ubuntu Linux cukup dengan mengetikan perintah:

    $> sudo apt-get install ruby-gnome2

    #!/usr/bin/env ruby

    require 'gtk2'

    window = Gtk::Window.new

    window.border_width = 10

    window.set_size_request(150, 1)

    window.title = "Vd. Boxes"

    window.signal_connect('delete_event') { false }

    window.signal_connect('destroy') { Gtk.main_quit }

    labels = %w[Andrew Joe Samantha Jonatan]

    # homogeneous, spacing

    vbox = Gtk::VBox.new(false, 0)

    labels.each do |name|

    btt = Gtk::Button.new(name)

    btt.signal_connect("clicked") {btt.destroy}

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    3/8

    vbox.pack_start_defaults(btt)

    end

    window.add(vbox)

    window.show_allGtk.main

    gambar tampak seperti ini:

    #!/usr/bin/env ruby

    require 'gtk2'

    window = Gtk::Window.new

    window.border_width = 20

    window.set_size_request(150, 1)

    window.title = "H Boxes"

    window.signal_connect('delete_event') { false }window.signal_connect('destroy') { Gtk.main_quit }

    labels = %w[Jakarta Pekalongan Semarang Surabaya]

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    4/8

    # homogeneous, spacing

    hbox = Gtk::HBox.new(false, 0)

    labels.each do |name|

    btt = Gtk::Button.new(name)btt.signal_connect("clicked") {btt.destroy}

    # child, expand, fill, padding

    hbox.pack_start(btt, false, false, 5)

    end

    window.add(hbox)

    window.show_all

    Gtk.main

    #!/usr/bin/env ruby

    require 'gtk2'

    window = Gtk::Window.new(Gtk::Window::TOPLEVEL)window.set_title "Panes"window.border_width = 10window.set_size_request(150, 150)window.signal_connect('delete_event') { Gtk.main_quit }

    button1 = Gtk::Button.new("Resize")button2 = Gtk::Button.new("Aku")

    button1.signal_connect( "clicked" ) { window.destroy }button2.signal_connect( "clicked" ) { window.destroy }

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    5/8

    paned = Gtk::VPaned.newpaned.add1(button1)paned.add2(button2)

    window.add(paned)

    window.show_allGtk.main

    akan menampilkan seperti ini

    #!/usr/bin/env rubyrequire 'gtk2'

    window = Gtk::Window.newwindow.border_width = 10window.set_size_request(200, 1)window.title = "Expanders"window.signal_connect('delete_event') { false }window.signal_connect('destroy') { Gtk.main_quit }

    fixed = Gtk::Fixed.new

    expander = Gtk::Expander.new("klick disini")label = Gtk::Label.new("Tampilkan atau sembunyikan ,\nini adalah

    pilihan anda")expander.add(label)

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    6/8

    # make the child (label) visibleexpander.expanded = true

    window.add(expander)

    window.show_allGtk.main

    #!/usr/bin/env rubyrequire 'gtk2'

    def another_tab; puts "Switching"; enddef report_press(w); puts "Somebody pressed gumbek (button) w=#{w}";end

    window = Gtk::Window.new(Gtk::Window::TOPLEVEL)window.set_title "Notebook with 3 tabs"window.border_width = 10

    window.set_size_request(300, 1)# The delete_event is only needed if you plan to# intercept the destroy / quit with a dialog box.## window.signal_connect('delete_event') { false }# Normally you'd catch the destroy signal, however# as the following code shows delete event can do# anything you want also quit for that matter:# window.signal_connect('destroy') { Gtk.main_quit }window.signal_connect('delete_event') { Gtk.main_quit }

    nb = Gtk::Notebook.newlabel1 = Gtk::Label.new("1st Pg")label2 = Gtk::Label.new("2st Pg")label3 = Gtk::Label.new("3rd Pg")note1 = Gtk::Label.new("Page 1 .\nCan switch to ...")note2 = Gtk::Label.new(" 2 page.\nSwitch to ...")button = Gtk::Button.new("Gumbek")

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    7/8

    # In Ruby Notebook works without {{ signal_connect }}.#

    # In Ruby the following doesn't work (Label does not respond to

    'clicked'# note1.signal_connect('clicked') { another_tab }# note2.signal_connect('clicked') { another_tab }

    # However you can place a button into a notebook and klick away.button.signal_connect( "clicked" ) {|w| report_press(w) }

    nb.signal_connect('change current page') { another_tab }

    nb.append_page(note1, label1)nb.append_page(note2, label2)

    nb.append_page(button, label3)window.add(nb)window.show_allGtk.main

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL

  • 8/7/2019 Ruby Gtk Bagian 2

    8/8

    CATATAN PENTING:

    Instalasi Ruby dan Ruby/GTK

    Mencoba Bahasa Pemrograman Ruby di Linux menggunakan Ubuntu. Ruby/GTK in. Jangan lupauntuk menginstall bahasa pemrograman Ruby terlebih dahulu:

    $> sudo apt-get install ruby-full libruby libruby-extras ruby1.8-dev

    Untuk menginstall paket-paket Ruby-GNOME2 di Ubuntu Linux cukup dengan mengetikan perintah:

    $> sudo apt-get install ruby-gnome2

    DEPARTEMEN TEKNIK INFORMATIKA UNIVERSITAS NASIONAL