event handler functions
Protótipo de funções que podem se utilizadas como gerenciadoras de eventos
Seqüência de Chamamento
envent_handler_function(win,x,y,ibut)
Parâmetros
- win
número da janela onde o evento ocorreu
- x
coordenada X em píxeis do ponteiro do mouse no momento onde o evento ocorreu
- y
coordenada Y em píxeis do ponteiro do mouse no momento onde o evento ocorreu
- ibut
número correspondente ao tipo de evento
Descrição
Quando o modo de gerenciador de eventos está habilitado, o Scilab chamaráo gerenciador de eventos especificado a cada vez que um evento ocorre na janela gráfica. A função de gerenciamento de evento deve concordar com o protótipo acima. A cada vez que um evento ocorre, a função é chamada e os quatro eventos são ajustados de acordo com o número da janela, a posição do mouse e o tipo do evento.
O parâmetro ibut
toma um dos seguintes valores
dependendo do tipo do evento ocorrido:
- ibut==0
o botão esquerdo foi pressionado
- ibut==1
o botão do meio foi pressionado
- ibut==2
o botão direito foi pressionado
- ibut==3
o botão esquerdo do mouse foi clicado
- ibut==4
o botão do meio do mouse foi clicado
- ibut==5
o botão direito do mouse foi clicado
- ibut==10
o botão esquerdo do mouse foi clicado duas vezes
- ibut==11
o botão do meio do mouse foi clicado duas vezes
- ibut==12
o botão direito do mouse foi clicado duas vezes
- ibut==-5
o botão esquerdo do mouse foi liberado
- ibut==-4
o botão do meio do mouse foi liberado
- ibut==-3
o botão direito do mouse foi liberado
- ibut==-1
o ponteiro do mouse foi movido
- ibut > =32
uma tecla com código ascii(ibut) foi pressionada
- ibut < =-32
uma tecla com código ascii(-ibut) foi liberadav
- ibut > =1000+32
uma tecla com código ascii(ibut-1000) foi pressionada enquanto a tecla CTRL estava sendo pressionada.
- ibut==-1000
a janela de gráficos foi fechada
- ibut==-10000
Unmanaged event. It might be a drag and drop or a fast click and move
Por exemplo, digamos que o nome da função de gerenciamento de eventos seja fooHandler para a janela de número 0. Um clique com o botão esquerdo na janela na posição [100,150] (em píxeis) será equivalente a chamar fooHandler( 0, 100, 150, 3 ).
Ver figure_properties ou seteventhandler para mais informações sobre como especificar o nome do gerenciador de eventos.
Exemplos
function my_eventhandler(win, x, y, ibut) if ibut==-1000 then return,end [x,y]=xchange(x,y,'i2f') gcf().info_message = msprintf('Evento de código %d na posição do mouse é (%f,%f)',ibut,x,y); endfunction plot2d() fig = gcf() ; fig.event_handler = 'my_eventhandler' ; fig.event_handler_enable = "on" ; //agora: // - mova o mouse sobre a janela gráfica // - pressione e libere as teclas com shift pressionado ou não e com Ctrl pressionado ou não // - pressione um botão, espere um pouco e libere // - pressione e libere um botão // - clique duas vezes em um botão fig.event_handler_enable = "off" ; //suprimindo o gerenciador de eventos
Ver Também
- figure_properties — description of the graphics figure entity properties
- seteventhandler — Define um gerenciador de eventos para uma janela gráfica
- xgetmouse — retorna os eventos de mouse e posição corrente
- xclick — espera por um clique do mouse
Report an issue | ||
<< edit_curv | interaction | locate >> |