class ProgressBarSample

Public Class Methods

new() click to toggle source
Calls superclass method SampleDialog.new
# File gtk2/sample/testgtk/progressbar.rb, line 37
def initialize
  super("Gtk::ProgressBar")
  set_border_width(10)

  vbox1 = Gtk::VBox.new(false, 5)
  vbox1.border_width = 10
  vbox.add(vbox1)

  frame = Gtk::Frame.new("Progress")
  vbox1.add(frame)

  vbox2 = Gtk::VBox.new(false, 5)
  frame.add(vbox2)

  align = Gtk::Alignment.new(0.5, 0.5, 0, 0)
  vbox2.pack_start(align, FALSE, FALSE, 5)

  @pbar = Gtk::ProgressBar.new
  align.add(@pbar)
  @timer = Gtk.timeout_add(100){progress_timeout}

  align = Gtk::Alignment.new(0.5, 0.5, 0, 0)
  vbox2.pack_start(align, false, false, 5);

  hbox = Gtk::HBox.new(false, 5)
  align.add(hbox)
  label = Gtk::Label.new("Label updated by user :")
  hbox.add(label)
  @label = Gtk::Label.new("")
  hbox.add(@label)

  frame = Gtk::Frame.new("Options")
  vbox1.add(frame)

  vbox2 = Gtk::VBox.new(false, 5)
  frame.add(vbox2)

  tab = Gtk::Table.new(3, 2, false)
  vbox2.add(tab)

  label = Gtk::Label.new("Orientation :");
  tab.attach(label, 0, 1, 0, 1,
             Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
             5, 5)
  label.set_alignment(0, 0.5)

  @omenu1 = build_option_menu(
      [ OptionMenuItem.new("Left-Right", proc { |w| toggle_orientation(w) }),
        OptionMenuItem.new("Right-Left", proc { |w| toggle_orientation(w) }),
        OptionMenuItem.new("Bottom-Top", proc { |w| toggle_orientation(w) }),
        OptionMenuItem.new("Top-Bottom", proc { |w| toggle_orientation(w) })
      ], 0)
  hbox = Gtk::HBox.new(false, 0)
  tab.attach(hbox, 1, 2, 0, 1,
              Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
              5, 5);
  hbox.add(@omenu1)
     
  check = Gtk::CheckButton.new("Show text")
  check.signal_connect("clicked") do |w| toggle_show_text(w) end
  tab.attach(check, 0, 1, 1, 2,
              Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
              5, 5)

  hbox = Gtk::HBox.new(false, 0)
  tab.attach(hbox, 1, 2, 1, 2,
             Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
             5, 5)

  label = Gtk::Label.new("Text align :")
  tab.attach(label, 0, 1, 2, 3,
              Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
              5, 5)
  label.set_alignment(0, 0.5)

  hbox = Gtk::HBox.new(false, 0)
  tab.attach(hbox, 1, 2, 2, 3,
              Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL,
              5, 5)

  label = Gtk::Label.new("x :")
  hbox.pack_start(label, false, true, 5)
    
  adj = Gtk::Adjustment.new(0.5, 0, 1, 0.1, 0.1, 0)
  @x_align_spin = Gtk::SpinButton.new(adj, 0, 1)
  adj.signal_connect("value_changed"){adjust_align}
  hbox.pack_start(@x_align_spin, false, true, 0)
  @x_align_spin.sensitive = false

  label = Gtk::Label.new("y :")
  hbox.pack_start(label, false, true, 5)

  adj = Gtk::Adjustment.new(0.5, 0, 1, 0.1, 0.1, 0)
  @y_align_spin = Gtk::SpinButton.new(adj, 0, 1)
  adj.signal_connect("value_changed"){adjust_align}
  hbox.pack_start(@y_align_spin, false, true, 0)
  @y_align_spin.sensitive = false

  button = Gtk::Button.new("close")
  button.signal_connect("clicked"){
    Gtk::timeout_remove(@timer)
    destroy
  }
  button.can_default = true
  self.action_area.add(button)
  button.grab_default
end