Exemplo n.º 1
0
void
funcao_sair(int ini, int *close)
{
	int c;
	STRING s[3];
	PTELA tela;
	tela = salva_tela(); // salva janela
	strcpy(s[0], "sair sem salvar");
	strcpy(s[1], "sair salvando");
	strcpy(s[2], "calcelar");
	apaga_tela();
	seleciona_menu(ini, 32, 38);
	c = funcao_menu(s, 3, ini, 5, 32, 49); //  abremenu
	switch (c) {
	case 2:{
			reccfg();
			(*close) = 1;
		};
		break;
	case 1:
		(*close) = 1;
		break;
	}
	restaura_tela(tela); // restaura tel
	print_xy_int(79, 0, c);
}
Exemplo n.º 2
0
desktop *monitora_desktop(desktop *xdesktop) {
	if (xdesktop->lista_caixas->prox) {
		lista *no_ativo = busca_por_ativo(xdesktop->lista_caixas);
		struct termios conf;
		int carac;
		
		tcgetattr (0, &conf);
		sem_enter(conf);
		carac = le_caracter();
		if (carac == TAB) {
			no_ativo->comando->ativado = false;
			no_ativo->comando = garante_invisib_itens(no_ativo->comando);
			no_ativo = proxima_caixa_disp(no_ativo);
			no_ativo->comando->ativado = true;
		}
		tcsetattr(0, TCSANOW, &conf);
		if (carac == ESC) {
			free_lista(&(xdesktop->lista_caixas));
			free(xdesktop);
			restaura_tela();
			exit(0);
		}		
		if (carac == DEL) {
			clrscr();
			xdesktop = gerencia_remocao(xdesktop);
		}
		no_ativo->comando->monitora(no_ativo->comando, carac);
	}
	return xdesktop;
}
Exemplo n.º 3
0
desktop *desenha_desktop(desktop *xdesktop) {
	if (xdesktop->lista_caixas->prox) {
		lista *no_ativo;
		lista *perc = xdesktop->lista_caixas->prox;
		colore_tela();
		do{ 	/*lembre q a lista tem noh sentinela*/
			if (perc->comando->visibilidade) 
				perc->comando->desenha(perc->comando);
			perc=perc->prox;
		} while(perc!=xdesktop->lista_caixas->prox);
		printf("\n"); /*a fim de posicionar o cursor*/
		no_ativo = busca_por_ativo(xdesktop->lista_caixas);
		if (!no_ativo) { /*1a vez q desenhamos*/
			lista *aux = xdesktop->lista_caixas->prox;
			if (aux->comando->disponibilidade == false) 
				aux = proxima_caixa_disp(perc);
			aux->comando->ativado = true;
			goto_xy(aux->comando->x, aux->comando->y);
		} else 
			trata_cursor(no_ativo->comando);
	
	} else {
		puts("Nao ha controles neste desktop. O programa será abortado.");
		free_lista(&(xdesktop->lista_caixas));
		free(xdesktop);
		restaura_tela();
		exit(0);
	}
	return xdesktop;
}
Exemplo n.º 4
0
void
funcao_info(int ini)
{
	STRING s[5];
	PTELA tela;
	tela = salva_tela(); // salva janela
	strcpy(s[0], "tamanho do disco");
	strcpy(s[1], "espaco livre");
	strcpy(s[2], "memoria total");
	strcpy(s[3], "memoria utilizada");
	strcpy(s[4], "memoria livre");
	apaga_tela();
	seleciona_menu(ini, 17, 30);
	info(funcao_menu(s, 5, ini, 7, 17, 36)); // abremenu
	restaura_tela(tela); // restaura tel
}
Exemplo n.º 5
0
void
funcao_conf(PNO * p_ini, char *path, int ini, int *pos, int fim)
{
	STRING s[4];
	PTELA tela;
	tela = salva_tela(); // salva janela
	strcpy(s[0], "letra normal");
	strcpy(s[1], "letra ativa");
	strcpy(s[2], "fundo normal");
	strcpy(s[3], "fundo ativo");
	apaga_tela();
	seleciona_menu(ini, 0, 15);
	conf(funcao_menu(s, 4, ini, 6, 0, 15)); // abremenu
	restaura_tela(tela); // restaura tel
	print_dir(p_ini, path, ini, pos, fim);
}