示例#1
0
void ComboBox::setSelected(int new_entry)
{
  g_assert(new_entry >= 0);
  g_assert(static_cast<size_t>(new_entry) < options.size());

  // selected option didn't change
  if (new_entry == selected_entry)
    return;

  selected_entry = new_entry;
  ComboBoxEntry e = options[new_entry];
  setValue(e.title);
  signal_selection_changed(*this, new_entry, e.title, e.data);
}
std::string ChooseFileWindow::get_file_path()
{
  if (get_action() == Gtk::FILE_CHOOSER_ACTION_SAVE)
  {
    set_create_folders();
    signal_selection_changed().connect(sigc::mem_fun(
        *this, &ChooseFileWindow::on_change_filename));
  }
  int result = run();
  switch(result)
  {
    case(Gtk::RESPONSE_OK):
    {
      hide();
      return this->get_filename();
    }
    default:
    {
      hide();
      return "";
    }
  }
}