Scilab Function
Last update : 25/03/2005

seteventhandler - set an event handler for the current graphic window

Calling Sequence

seteventhandler(sfun_name)
seteventhandler('')

Parameters

Description

The function allows the user to set a particular event handler for the current graphic window. seteventhandler('') removes the handler.

The event handler is defined by a Scilab function whose calling sequence must be function sfun_name(win,x,y,ibut) , where

win represents the number of the window where the event had occured.

x,y are the coordinates of the pointer (in pixels), when the event has occured

ibut is the event type:

  • ibut==0 : Left mouse button has been pressed
  • ibut==1 : Middle mouse button has been pressed
  • ibut==2 : Right mouse button has been pressed

  • ibut==3 : Left mouse button has been clicked
  • ibut==4 : Middle mouse button has been clicked
  • ibut==5 : Right mouse button has been clicked

  • ibut==10 : Left mouse button has been double-clicked
  • ibut==11 : Middle mouse button has been double-clicked
  • ibut==12 : Right mouse button has been double-clicked

  • ibut==-5 : Left mouse button has been released
  • ibut==-4 : Middle mouse button has been released
  • ibut==-3 : Right mouse button has been released

  • ibut==-1 : pointer has moved

  • ibut > =32 : key with ascii code ascii(ibut) has been pressed
  • ibut < =-32 : key with ascii code ascii(-ibut) has been released

  • ibut > =1000+32 : key with ascii code ascii(ibut-1000) has been pressed while CTRL key pressed
  • ibut==-1000 : graphic window has been closed
  • Examples

    
       function my_eventhandler(win,x,y,ibut)
          if ibut==-1000 then return,end
          [x,y]=xchange(x,y,'i2f')
           xinfo(msprintf('Event code %d at mouse position is (%f,%f)',ibut,x,y))
       endfunction
       plot2d()
       seteventhandler('my_eventhandler')
       //now:
       //   -  move the mouse over the graphic window
       //   -  press and release keys shifted or not with Ctrl pressed or not
       //   -  press button, wait a little release
       //   -  press and release button
       //   -  double-click button
    
    
       seteventhandler('') //suppress the event handler
     
      

    See Also

    addmenu ,   xgetmouse ,   xclick ,   xchange ,