1 // @(#)root/base:$Id$ 2 // Author: Fons Rademakers 15/11/95 3 4 /************************************************************************* 5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 6 * All rights reserved. * 7 * * 8 * For the licensing terms see $ROOTSYS/LICENSE. * 9 * For the list of contributors see $ROOTSYS/README/CREDITS. * 10 *************************************************************************/ 11 12 13 #ifndef ROOT_TBrowserImp 14 #define ROOT_TBrowserImp 15 16 ////////////////////////////////////////////////////////////////////////// 17 // // 18 // TBrowserImp // 19 // // 20 // ABC describing GUI independent browser implementation protocol. // 21 // // 22 ////////////////////////////////////////////////////////////////////////// 23 24 #ifndef ROOT_TObject 25 #include "TObject.h" 26 #endif 27 28 class TBrowser; 29 class TGMainFrame; 30 31 class TBrowserImp { 32 33 protected: 34 TBrowser *fBrowser; //TBrowser associated with this implementation 35 Bool_t fShowCycles; //Show object cycle numbers in browser 36 37 TBrowserImp(const TBrowserImp& br) 38 : fBrowser(br.fBrowser), fShowCycles(br.fShowCycles) { } 39 TBrowserImp& operator=(const TBrowserImp& br) 40 {if(this!=&br) {fBrowser=br.fBrowser; fShowCycles=br.fShowCycles;} 41 return *this;} 42 43 public: 44 TBrowserImp(TBrowser *b=0) : fBrowser(b), fShowCycles(kFALSE) { } 45 TBrowserImp(TBrowser *b, const char *title, UInt_t width, UInt_t height, Option_t *opt = ""); 46 TBrowserImp(TBrowser *b, const char *title, Int_t x, Int_t y, UInt_t width, UInt_t height, Option_t *opt = ""); 47 virtual ~TBrowserImp() { } 48 49 virtual void Add(TObject *, const char *, Int_t) { } 50 virtual void AddCheckBox(TObject *, Bool_t = kFALSE) { } 51 virtual void CheckObjectItem(TObject *, Bool_t = kFALSE) { } 52 virtual void RemoveCheckBox(TObject *) { } 53 virtual void BrowseObj(TObject *) { } 54 TBrowser *Browser() const { return fBrowser; } 55 virtual void CloseTabs() { } 56 virtual void ExecuteDefaultAction(TObject *) { } 57 virtual void Iconify() { } 58 virtual void RecursiveRemove(TObject *) { } 59 virtual void Refresh(Bool_t = kFALSE) { } 60 virtual void Show() { } 61 virtual void SetDrawOption(Option_t *option=""); 62 virtual Option_t *GetDrawOption() const { return 0; } 63 64 virtual Long_t ExecPlugin(const char *, const char *, const char *, Int_t, Int_t) { return 0; } 65 virtual void SetStatusText(const char *, Int_t) { } 66 virtual void StartEmbedding(Int_t, Int_t) { } 67 virtual void StopEmbedding(const char *) { } 68 69 virtual TGMainFrame *GetMainFrame() const { return 0; } 70 71 virtual TBrowser *GetBrowser() const { return fBrowser; } 72 virtual void SetBrowser(TBrowser *b) { fBrowser = b; } 73 74 ClassDef(TBrowserImp,0) //ABC describing browser implementation protocol 75 }; 76 77 inline TBrowserImp::TBrowserImp(TBrowser *, const char *, UInt_t, UInt_t, Option_t *) 78 : fBrowser(0), fShowCycles(kFALSE) { } 79 inline TBrowserImp::TBrowserImp(TBrowser *, const char *, Int_t, Int_t, UInt_t, UInt_t, Option_t *) 80 : fBrowser(0), fShowCycles(kFALSE) { } 81 82 #endif 83