// @(#)root/base:$Id$
// Author: Nenad Buncic   08/02/96

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TContextMenuImp
#define ROOT_TContextMenuImp


////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// TContextMenuImp                                                            //
//                                                                            //
// This class provides an interface to GUI independent                        //
// context sensitive popup menus.                                             //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////

#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif

class TContextMenu;
class TObject;
class TMethod;
class TFunction;


class TContextMenuImp {

protected:
   TContextMenu *fContextMenu; //TContextMenu associated with this implementation

   TContextMenuImp(const TContextMenuImp& cmi)
     : fContextMenu(cmi.fContextMenu) { }
   TContextMenuImp& operator=(const TContextMenuImp& cmi)
     {if(this!=&cmi) fContextMenu=cmi.fContextMenu;
     return *this;}

public:
   TContextMenuImp(TContextMenu *c=0) : fContextMenu(c) { }
   virtual ~TContextMenuImp() { }

   virtual TContextMenu *GetContextMenu() const { return fContextMenu; }

   virtual void Dialog(TObject *object, TFunction *function);
   virtual void Dialog(TObject *object, TMethod *method);
   virtual void DisplayPopup(Int_t x, Int_t y);

   ClassDef(TContextMenuImp,0) //Context sensitive popup menu implementation
};

inline void TContextMenuImp::Dialog(TObject *, TFunction *) { }
inline void TContextMenuImp::Dialog(TObject *, TMethod *) { }
inline void TContextMenuImp::DisplayPopup(Int_t, Int_t) { }

#endif
 TContextMenuImp.h:1
 TContextMenuImp.h:2
 TContextMenuImp.h:3
 TContextMenuImp.h:4
 TContextMenuImp.h:5
 TContextMenuImp.h:6
 TContextMenuImp.h:7
 TContextMenuImp.h:8
 TContextMenuImp.h:9
 TContextMenuImp.h:10
 TContextMenuImp.h:11
 TContextMenuImp.h:12
 TContextMenuImp.h:13
 TContextMenuImp.h:14
 TContextMenuImp.h:15
 TContextMenuImp.h:16
 TContextMenuImp.h:17
 TContextMenuImp.h:18
 TContextMenuImp.h:19
 TContextMenuImp.h:20
 TContextMenuImp.h:21
 TContextMenuImp.h:22
 TContextMenuImp.h:23
 TContextMenuImp.h:24
 TContextMenuImp.h:25
 TContextMenuImp.h:26
 TContextMenuImp.h:27
 TContextMenuImp.h:28
 TContextMenuImp.h:29
 TContextMenuImp.h:30
 TContextMenuImp.h:31
 TContextMenuImp.h:32
 TContextMenuImp.h:33
 TContextMenuImp.h:34
 TContextMenuImp.h:35
 TContextMenuImp.h:36
 TContextMenuImp.h:37
 TContextMenuImp.h:38
 TContextMenuImp.h:39
 TContextMenuImp.h:40
 TContextMenuImp.h:41
 TContextMenuImp.h:42
 TContextMenuImp.h:43
 TContextMenuImp.h:44
 TContextMenuImp.h:45
 TContextMenuImp.h:46
 TContextMenuImp.h:47
 TContextMenuImp.h:48
 TContextMenuImp.h:49
 TContextMenuImp.h:50
 TContextMenuImp.h:51
 TContextMenuImp.h:52
 TContextMenuImp.h:53
 TContextMenuImp.h:54
 TContextMenuImp.h:55
 TContextMenuImp.h:56
 TContextMenuImp.h:57
 TContextMenuImp.h:58
 TContextMenuImp.h:59
 TContextMenuImp.h:60
 TContextMenuImp.h:61
 TContextMenuImp.h:62
 TContextMenuImp.h:63