예제 #1
0
int OptionButton::get_selected_ID() const {

	int idx = get_selected();
	if (idx < 0)
		return 0;
	return get_item_ID(current);
}
예제 #2
0
void
GraphPortModule::set_selected(gboolean b)
{
	if (b != get_selected()) {
		Module::set_selected(b);
	}
}
예제 #3
0
Variant OptionButton::get_selected_metadata() const {

	int idx = get_selected();
	if (idx < 0)
		return Variant();
	return get_item_metadata(current);
}
예제 #4
0
bool ButtonArray::_get(const StringName& p_name,Variant &r_ret) const {

    String n=String(p_name);
    if (n.begins_with("button/")) {

        String what = n.get_slicec('/',1);
        if (what=="count") {
            r_ret=buttons.size();
        } else if (what=="align") {
            r_ret=get_align();
        } else if (what=="selected") {
            r_ret=get_selected();
        } else if (what == "min_button_size") {
            r_ret = min_button_size;
        } else {
            int idx=what.to_int();
            ERR_FAIL_INDEX_V(idx,buttons.size(),false);
            String f = n.get_slicec('/',2);
            if (f=="text")
                r_ret=buttons[idx].text;
            else if (f=="tooltip")
                r_ret=buttons[idx].tooltip;
            else if (f=="icon")
                r_ret=buttons[idx].icon;
            else
                return false;

        }

        return true;
    }

    return false;
}
예제 #5
0
void inventory_column::on_action( const std::string &action )
{
    if( empty() || !active ) {
        return; // ignore
    }

    const auto move_selection = [ this ]( int step ) {
        const auto get_incremented = [ this ]( size_t index, int step ) -> size_t {
            return ( index + step + entries.size() ) % entries.size();
        };

        size_t index = get_incremented( selected_index, step );
        while( entries[index] != get_selected() && ( !entries[index].is_item() || is_selected_by_category( entries[index] ) ) ) {
            index = get_incremented( index, ( step > 0 ? 1 : -1 ) );
        }

        select( index );
    };

    if( action == "DOWN" ) {
        move_selection( 1 );
    } else if( action == "UP" ) {
        move_selection( -1 );
    } else if( action == "NEXT_TAB" ) {
        move_selection( std::max( std::min<int>( entries_per_page, entries.size() - selected_index - 1 ), 1 ) );
    } else if( action == "PREV_TAB" ) {
        move_selection( std::min( std::max<int>( UINT32_MAX - entries_per_page + 1, (UINT32_MAX - selected_index + 1) + 1 ), -1 ) );
    } else if( action == "HOME" ) {
        select( 1 );
    } else if( action == "END" ) {
        select( entries.size() - 1 );
    }
}
예제 #6
0
	//-----------------------------------------------------------------//
	void widget_radio::update()
	{
		bool f = param_.check_;
		if(get_select()) {
			obj_state_ = true;
		} else if(get_selected()) {
			param_.check_ = true;
			obj_state_ = param_.check_;
		} else {
			obj_state_ = param_.check_;
		}

		// グループの自動更新
		if(!f && param_.check_) {
			widgets ws;
			wd_.parents_widget(get_param().parents_, ws);
			int i = 0;
			no_ = -1;
			BOOST_FOREACH(widget* w, ws) {
				if(w->type() == get_type_id<widget_radio>()) {
					if(w != this) {
						widget_radio* wl = dynamic_cast<widget_radio*>(w);
						if(wl) {
							wl->at_local_param().check_ = false;
						}
					} else {
						no_ = i;
					}
				}
				++i;
			}
		}
예제 #7
0
파일: Window.c 프로젝트: Absolight/Prima
Bool
Window_selected( Handle self, Bool set, Bool selected)
{
   if (!set)
      return inherited get_selected( self);
   activate( self, selected);
   inherited selected( self, set, selected);
   return selected;
}
예제 #8
0
파일: dialog.cpp 프로젝트: adi6190/pcsx2
		void modify_selected()
		{
			int key, pad, keysym;
			if (get_selected(pad, key, keysym))
			{
				remove_selected();
				config_key(pad,key);
				update();
			}
		}
예제 #9
0
파일: dialog.cpp 프로젝트: adi6190/pcsx2
		void remove_selected()
		{
			int key, pad, keysym;
			if (get_selected(pad, key, keysym))
			{
				if (keysym)
					conf->keysym_map[pad].erase(keysym);
				else
					set_key(pad, key, 0);
				update();
			}
		}
예제 #10
0
void MainTreeView::on_menu_file_popup_edit_player()
{
  std::cout << "Edit Player was selected." << std::endl;

  auto refSelection = get_selection();
  if(refSelection)
  {
    Gtk::TreeModel::iterator iter = refSelection->get_selected();
    if(iter)
    {
      int id = (*iter)[m_Columns.m_col_id];
      std::cout << "  Selected ID=" << id << std::endl;
    }
  }
}
예제 #11
0
// Reload the tags and reconstruct the tree, keeping the selection
// if possible
void
tags_box_widget::reinit()
{
  DBG_PRINTF(5, "tags_restructured(this=%p)", this);
  std::list<uint> sel;
  get_selected(sel);
  m_list.clear();
  m_lv->clear();
  m_list.fetch(true);
  try {
    fill_listview();
  }
  catch (ui_error& e) {
    e.display();
  }
  set_tags(sel);
}
예제 #12
0
static void
on_delete_clicked (GtkButton * button, gpointer user_data)
{
  BtCrashRecoverDialog *self = BT_CRASH_RECOVER_DIALOG (user_data);
  gchar *log_name = get_selected (self);

  if (log_name) {
    if (g_remove (log_name)) {
      GST_WARNING ("failed removing '%s': %s", log_name, g_strerror (errno));
    }
    remove_selected (self);
    g_free (log_name);
    /* if that was the last entry, close dialog */
    if (!check_selection (self, NULL, NULL)) {
      gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_CLOSE);
    }
  }
}
bool MapDrawingArea::on_button_press_event(GdkEventButton* event)
{
    if (event->button == 3)
    {
        pressed = true;
        press_x = event->x;
        press_y = event->y;
    }
    if (event->button == 1)
    {
        double new_x = event->x;
        double new_y = event->y;
        inverse.transform_point(new_x, new_y);
        auto p1 = proj->unproject(new_x - 0.01, new_y - 0.01);
        auto p2 = proj->unproject(new_x + 0.01, new_y + 0.01);
        auto v = get_selected(p1, p2, zoom);
        element_clicked(v);
    }
    return true;
}
예제 #14
0
static void
on_recover_clicked (GtkButton * button, gpointer user_data)
{
  BtCrashRecoverDialog *self = BT_CRASH_RECOVER_DIALOG (user_data);
  gchar *log_name = get_selected (self);
  gboolean res = FALSE;
  BtMainWindow *main_window;

  if (log_name) {
    BtChangeLog *change_log = bt_change_log_new ();

    GST_INFO ("recovering: %s", log_name);
    if (bt_change_log_recover (change_log, log_name)) {
      remove_selected (self);
      res = TRUE;
    }
    g_free (log_name);
    g_object_try_unref (change_log);
  }
  g_object_get (self->priv->app, "main-window", &main_window, NULL);
  /* close the recovery dialog */
  gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_CLOSE);
  if (res) {
    /* the song recovery has been finished */
    bt_dialog_message (main_window, _("Recovery finished"),
        _("The selected song has been recovered successful."),
        _("Please check the song and save it if everything is alright.")
        );
  } else {
    /* FIXME(ensonic): the log is still there
     * - this dialog should be a warning
     * - ev. we want to suggest to ask for support
     */
    /* one or more steps in the recovery did not apply */
    bt_dialog_message (main_window, _("Recovery failed"),
        _("Sorry, the selected song could not be fully recovered."),
        _("Please check the song and save it if still looks good.")
        );
  }
  g_object_unref (main_window);
}
예제 #15
0
void MainTreeView::on_menu_file_popup_remove_player()
{
  std::cout << "Remove Player was selected." << std::endl;

  auto refSelection = get_selection();
  if(refSelection)
  {
    Gtk::TreeModel::iterator iter = refSelection->get_selected();
    if(iter)
    {
      int id = (*iter)[m_Columns.m_col_id];
      std::cout << "  Selected ID=" << id << std::endl;
      for (int i = 0; i < this->players_list.size(); ++i)
      {
        if (this->players_list[i].getID() == id) {
          this->players_list.erase(this->players_list.begin() + i);
          this->updateTreeView();
          return ;
        }
      }
    }
  }
}
예제 #16
0
/**
 * main callback for control panel plugins
 */
osso_return_t execute(osso_context_t *osso, gpointer data,
					  gboolean user_activated)
{
	gint response;

	create_list_dialog (data);

	if (!user_activated)
	{
		/* load state */
	}

	do
	{
		gchar *selected;
		response = gtk_dialog_run (GTK_DIALOG (ListDialog.dialog));
		switch (response)
		{
			case RESPONSE_NEW:
			{
				edit_connection (data, NULL);
				break;
			}
			case RESPONSE_EDIT:
			{
				StrongswanConnection *conn;
				selected = get_selected ();
				conn = strongswan_connections_get_connection (ListDialog.conns,
															  selected);
				if (conn)
				{
					edit_connection (data, conn);
				}
				else
				{
					hildon_banner_show_information (NULL, NULL,
												"Select a connection first");
				}
				g_free (selected);
				break;
			}
			case RESPONSE_DELETE:
			{
				GtkWidget *confirm;
				gint retval;
				gchar *msg;
				selected = get_selected ();
				if (!selected)
				{
					hildon_banner_show_information (NULL, NULL,
												"Select a connection first");
					break;
				}
				msg = g_strdup_printf ("Delete connection?\n%s", selected);
				confirm = hildon_note_new_confirmation (data, msg);
				retval = gtk_dialog_run (GTK_DIALOG (confirm));
				if (retval == GTK_RESPONSE_OK)
				{
					strongswan_connections_remove_connection (ListDialog.conns,
															  selected);
				}
				gtk_widget_destroy (confirm);
				g_free (msg);
				g_free (selected);
				break;
			}
			default:
				break;
		}
	}
	while (response > 0);

	gtk_widget_destroy (ListDialog.dialog);
	g_object_unref (ListDialog.conns);
	return OSSO_OK;
}
예제 #17
0
bool inventory_column::is_selected( const inventory_entry &entry ) const
{
    return entry == get_selected() || ( multiselect && is_selected_by_category( entry ) );
}
예제 #18
0
bool inventory_column::is_selected_by_category( const inventory_entry &entry ) const
{
    return entry.is_item() && mode == navigation_mode::CATEGORY
                           && entry.get_category_ptr() == get_selected().get_category_ptr()
                           && page_of( entry ) == page_index();
}