class ReparentSample

Public Class Methods

new() click to toggle source
Calls superclass method SampleWindow.new
# File gtk2/sample/testgtk/reparent.rb, line 36
def initialize
  super("reparent")

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

  box2 = Gtk::HBox.new(false, 5)
  box2.set_border_width(10)
  vbox.pack_start(box2, true, true, 0)

  label = Gtk::Label.new("Hello World")

  frame = Gtk::Frame.new("Frame 1")
  box2.pack_start(frame, true, true, 0)

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

  button = Gtk::Button.new("switch")
  button.signal_connect("clicked"){
    label.reparent(framebox1)
  }
  framebox1.pack_start(button, false, true, 0)

  framebox1.add(label)
  label.signal_connect("parent_set"){ |child, old_parent|
    puts "set_parent for \"#{child.class}\":"
    puts " new parent: \"#{if child.parent then child.parent.class else 'NULL' end}\","
    puts " old parent: \"#{if old_parent then old_parent.class else 'NULL' end}\","
    puts " data: 42\n"
  }

  frame = Gtk::Frame.new("Frame 2")
  box2.pack_start(frame, true, true, 0)

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

  button = Gtk::Button.new("switch")
  button.signal_connect("clicked"){
    label.reparent(framebox2)
  }
  framebox2.pack_start(button, false, true, 0)

  vbox.pack_start(Gtk::HSeparator.new, false, true)

  button = Gtk::Button.new("close")
  button.signal_connect("clicked"){destroy}

  vbox.pack_start(button, false, true, 10)
  button.can_default = true
  button.grab_default
end