Esempio n. 1
0
static void		handle_space(t_elem *list)
{
	t_elem	*tmp;

	tmp = get_current_elem(list);
	tmp->cursor = 0;
	tmp->next->cursor = 1;
	tmp->selected = tmp->selected ? 0 : 1;
}
Esempio n. 2
0
void		press_space(t_select *params)
{
	char	key;
	t_lst	*current;

	key = 66;
	current = get_current_elem(params);
	current->selected = current->selected ? 0 : 1;
	press_arrow(params, key);
}
Esempio n. 3
0
void		press_delete(t_select *params)
{
	t_lst	*current;
	t_lst	*prev;
	t_lst	*next;

	current = get_current_elem(params);
	prev = current->prev;
	next = current->next;
	ft_memdel((void **)&current->value);
	ft_memdel((void **)&current);
	prev->next = next;
	next->prev = prev;
	ft_get_col_n(params);
	params->size_list -= 1;
	if (params->curs_y > params->size_list)
		params->curs_y--;
	print_lst(params);
}
Esempio n. 4
0
static int		handle_del(t_elem **list)
{
	t_elem	*tmp;
	int		nbr_elem;
	int		current_max_len;

	current_max_len = list_get_max_len(*list);
	nbr_elem = (*list)->prev->pos_list;
	if (nbr_elem == 1)
		return (1);
	tmp = get_current_elem(*list);
	if (tmp->pos_list == 1)
		(*list) = (*list)->next;
	tmp->prev->next = tmp->next;
	tmp->next->prev = tmp->prev;
	tmp->next->cursor = 1;
	list_update_pos(*list, tmp->pos_list);
	if (current_max_len != list_get_max_len(*list))
		check_window_size(*list);
	ft_memdel((void **)&tmp);
	clear_all_screen();
	return (0);
}