From 52179bb3664529cede6ae4bc2c0d64eb442832fb Mon Sep 17 00:00:00 2001
From: Fons Rademakers <Fons.Rademakers@cern.ch>
Date: Mon, 25 Sep 2006 13:28:22 +0000
Subject: [PATCH] From Matevz: Added member 'TPad *fClickSelectedPad'.

git-svn-id: http://root.cern.ch/svn/root/trunk@16323 27541ba8-7e3a-0410-8455-c3a389f83636
---
 gpad/inc/TCanvas.h   | 5 ++++-
 gpad/src/TCanvas.cxx | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/gpad/inc/TCanvas.h b/gpad/inc/TCanvas.h
index 6c94af60af7..f1536dd6293 100644
--- a/gpad/inc/TCanvas.h
+++ b/gpad/inc/TCanvas.h
@@ -1,4 +1,4 @@
-// @(#)root/gpad:$Name:  $:$Id: TCanvas.h,v 1.39 2006/08/22 18:26:23 rdm Exp $
+// @(#)root/gpad:$Name:  $:$Id: TCanvas.h,v 1.40 2006/08/24 18:51:57 brun Exp $
 // Author: Rene Brun   12/12/94
 
 /*************************************************************************
@@ -76,6 +76,7 @@ protected:
    Int_t         fSelectedY;       //!Y of selected object
    TString       fSelectedOpt;     //!Drawing option of selected object
    TPad         *fSelectedPad;     //!Pad containing currently selected object
+   TPad         *fClickSelectedPad;//!Pad containing currently click-selected object
    TPad         *fPadSave;         //!Pointer to saved pad in HandleInput
    TCanvasImp   *fCanvasImp;       //!Window system specific canvas implementation
    TContextMenu *fContextMenu;     //!Context menu pointer
@@ -158,6 +159,7 @@ public:
    Int_t             GetSelectedY() const {return fSelectedY;}
    Option_t         *GetSelectedOpt() const {return fSelectedOpt.Data();}
    TVirtualPad      *GetSelectedPad() const { return fSelectedPad; }
+   TVirtualPad      *GetClickSelectedPad() const { return fClickSelectedPad; }
    Bool_t            GetShowEventStatus() const { return TestBit(kShowEventStatus); }
    Bool_t            GetShowToolBar() const { return TestBit(kShowToolBar); }
    Bool_t            GetShowEditor() const { return TestBit(kShowEditor); }
@@ -211,6 +213,7 @@ public:
    void              SetSelected(TObject *obj);
    void              SetClickSelected(TObject *obj) { fClickSelected = obj; }
    void              SetSelectedPad(TPad *pad) { fSelectedPad = pad; }
+   void              SetClickSelectedPad(TPad *pad) { fClickSelectedPad = pad; }
    void              Show() { fCanvasImp->Show(); }
    virtual void      Size(Float_t xsizeuser=0, Float_t ysizeuser=0);
    void              SetBatch(Bool_t batch=kTRUE);
diff --git a/gpad/src/TCanvas.cxx b/gpad/src/TCanvas.cxx
index 836dc521fe2..8650908959a 100644
--- a/gpad/src/TCanvas.cxx
+++ b/gpad/src/TCanvas.cxx
@@ -1,4 +1,4 @@
-// @(#)root/gpad:$Name:  $:$Id: TCanvas.cxx,v 1.116 2006/08/22 18:26:23 rdm Exp $
+// @(#)root/gpad:$Name:  $:$Id: TCanvas.cxx,v 1.117 2006/08/24 18:51:57 brun Exp $
 // Author: Rene Brun   12/12/94
 
 /*************************************************************************
@@ -155,6 +155,7 @@ void TCanvas::Constructor()
    fSelected      = 0;
    fClickSelected = 0;
    fSelectedPad   = 0;
+   fClickSelectedPad = 0;
    fPadSave       = 0;
    SetBit(kAutoExec);
    SetBit(kShowEditor);
@@ -436,6 +437,7 @@ void TCanvas::Init()
    fSelectedX       = 0;
    fSelectedY       = 0;
    fSelectedPad     = 0;
+   fClickSelectedPad= 0;
    fPadSave         = 0;
    fEvent           = -1;
    fEventX          = -1;
@@ -627,6 +629,7 @@ void TCanvas::Clear(Option_t *option)
    fSelected      = 0;
    fClickSelected = 0;
    fSelectedPad   = 0;
+   fClickSelectedPad = 0;
 }
 
 
@@ -1365,6 +1368,7 @@ TPad *TCanvas::Pick(Int_t px, Int_t py, TObject *prevSelObj)
    if ((fEvent == kButton1Down) || (fEvent == kButton2Down) || (fEvent == kButton3Down)) {
       if (fSelected && !fSelected->InheritsFrom("TView")) {
          fClickSelected = fSelected;
+         fClickSelectedPad = fSelectedPad;
          Selected(fSelectedPad, fSelected, fEvent);  // emit signal
          fSelectedX = px;
          fSelectedY = py;
-- 
GitLab