Re: How to get kButton3... in TObject::ExecuteEvent

From: Ilka Antcheva <>
Date: Wed, 16 Nov 2005 15:19:25 +0100

Hi Stanislav,

I see no problem to get events as kButton3Down and kButton3Double from the canvas. In the tutorials example $ROOTSYS/tutorials/guitest.C the kButton3Down is used for printing some information instead of showing the context menu when the button 3 is pressed (event kButton3Down appears). To see that:

- run guitest.C;
- select Test menu / Dialog...;
- click on Tab 3;
- fill the histograms by using Start/Stop buttons.
Then click with the right mouse button on the right - as usual you see the context menu; if you do the same on the left - some info is printed in the root prompt. Last behavior is implemented in the TestDialog::HandleEmbeddedCanvas method which is connected to the "ProcessedEvent(Int_t,Int_t,Int_t,TObject*)" signal of the canvas. You can replace the kButton3Down with kButton3Double and the information will be printed according to this setting any time the event kButton3Double appears.

Cheers, Ilka

Nesterov Stanislav wrote:

>Hello Rooters,
>I've encounter problem when I tried to get event kButton3Down and
>kButton3Double in my class in ExecuteEvent() method. I've looked through
>the TCanvas.cxx (HandleInput) and have found out that it is really not
>supposed to work.
>Can you please tell me the right way to get this button to be passed to my
>For now I have to use ProcessedEvent() signal to get an access. But still
>it works only for the kButton3Down, but there is no kButton3Double event
>at all. (So far I do get double click if I use kButton3Up - but I think
>that is not right!)
>The disatvantage of the ProcessedEvent() signal connection for me that I
>have to connect TCanvas every time for all existing objects.
>Hope you can help,
> Best regards,
Received on Wed Nov 16 2005 - 15:19:31 MET

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:13 MET