Пример #1
0
level_editor::layers_control::layers_control(window& win, preferences& prefs)
: Gtk::HBox(false, 4), m_preferences(prefs), m_window(win),
  m_button_new_layer("+"), m_button_delete_layer("-") {
  // Layer selection
  m_spin_layer.signal_changed().connect_notify(
    sigc::mem_fun(this, &layers_control::on_layer_changed));

  Gtk::Label& layer_label = *Gtk::manage(new Gtk::Label("Layer:"));
  pack_start(layer_label, Gtk::PACK_SHRINK);
  pack_start(m_spin_layer, Gtk::PACK_SHRINK);

  //Gtk::Label& layer_visiblity_label = *Gtk::manage(new Gtk::Label("Visible:"));
  //pack_start(layer_visiblity_label, Gtk::PACK_SHRINK);

  m_layer_visible.signal_toggled().connect_notify(
    sigc::mem_fun(this, &layers_control::on_layer_visible_toggled));

  pack_start(m_layer_visible, Gtk::PACK_SHRINK);

  m_button_new_layer.signal_clicked().connect_notify(
    sigc::mem_fun(this, &layers_control::on_add_layer));
  pack_start(m_button_new_layer, Gtk::PACK_SHRINK);

  m_button_delete_layer.signal_clicked().connect_notify(
    sigc::mem_fun(this, &layers_control::on_delete_layer));
  pack_start(m_button_delete_layer, Gtk::PACK_SHRINK);


  win.signal_switch_level_display().connect(
    sigc::mem_fun(this, &layers_control::on_switch_level_display));
}