Utilizando a biblioteca NCURSES - Parte III
Neste etapa, vamos aprender a fazer um programinha utilizando menu. Vamos criar um programa com um menu acessado via teclado.
Novas funções
int curs_set(int visibility)
Faz com que o cursor físico fique invisível (0) ou não (1).
int noecho(void) e int echo(void)
A função noecho impede que as teclas digitadas apareçam na tela. Para eliminar o efeito da função noecho chame a função echo().
WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y, int begin_x);
Cria uma janela dentro de uma outra janela, ou seja, uma sub-janela. As mudanças feitas em uma janela irão afetar as duas janelas. Quando usamos esta rotina, é necessário chamar a função touchwin or touchline na janela orig antes de utilizarmos a função wrefresh em uma sub-janela.
int delwin(WINDOW *win);
Apaga a janela passada como parâmetro.
int wnoutrefresh(WINDOW *win) ou int doupdate(void)
Funcionam como a função wrefresh, só que permitem múltiplos updates com mais eficiência do que uma wrefresh sozinho.
int touchwin(WINDOW *win)
Define todas as flags na estrutura da WINDOWS, o que diz para refrescar todas as linhas da janela que se alterar e assim, até o próximo refrescamento, toda a janela tem de ser reescrita mesmo que os conteúdos da janela não se tenham alterado.
int keypad(WINDOW *win, bool bf);
A função keypad ativa as teclas de função quando obtendo dados de entrada a partir de uma determinada janela. Isto é necessário visto que utilizaremos teclas como ENTER, ESC, F1, F2 e os cursores mais tarde no programa.
Faz com que o cursor físico fique invisível (0) ou não (1).
int noecho(void) e int echo(void)
A função noecho impede que as teclas digitadas apareçam na tela. Para eliminar o efeito da função noecho chame a função echo().
WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y, int begin_x);
Cria uma janela dentro de uma outra janela, ou seja, uma sub-janela. As mudanças feitas em uma janela irão afetar as duas janelas. Quando usamos esta rotina, é necessário chamar a função touchwin or touchline na janela orig antes de utilizarmos a função wrefresh em uma sub-janela.
int delwin(WINDOW *win);
Apaga a janela passada como parâmetro.
int wnoutrefresh(WINDOW *win) ou int doupdate(void)
Funcionam como a função wrefresh, só que permitem múltiplos updates com mais eficiência do que uma wrefresh sozinho.
int touchwin(WINDOW *win)
Define todas as flags na estrutura da WINDOWS, o que diz para refrescar todas as linhas da janela que se alterar e assim, até o próximo refrescamento, toda a janela tem de ser reescrita mesmo que os conteúdos da janela não se tenham alterado.
int keypad(WINDOW *win, bool bf);
A função keypad ativa as teclas de função quando obtendo dados de entrada a partir de uma determinada janela. Isto é necessário visto que utilizaremos teclas como ENTER, ESC, F1, F2 e os cursores mais tarde no programa.
E aproveitando, qual a funcao em C que executa um comando do shell?