#ifndef ROOT_TGLSAViewer
#define ROOT_TGLSAViewer
#ifndef ROOT_TGLViewer
#include "TGLViewer.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
class TGWindow;
class TGFrame;
class TGCompositeFrame;
class TGPopupMenu;
class TGedEditor;
class TGLPShapeObj;
class TGLEventHandler;
class TGMenuBar;
class TGLSAViewer : public TGLViewer
{
public:
enum EGLSACommands {
kGLHelpAbout, kGLHelpViewer,
kGLPerspYOZ, kGLPerspXOZ, kGLPerspXOY,
kGLXOY, kGLXOZ, kGLZOY,
kGLXnOY, kGLXnOZ, kGLZnOY,
kGLOrthoRotate, kGLOrthoDolly,
kGLSaveEPS, kGLSavePDF, kGLSavePNG, kGLSaveGIF, kGLSaveAnimGIF,
kGLSaveJPG, kGLSaveAS, kGLCloseViewer, kGLQuitROOT,
kGLEditObject };
private:
TGCompositeFrame *fFrame;
TGPopupMenu *fFileMenu;
TGPopupMenu *fFileSaveMenu;
TGPopupMenu *fCameraMenu;
TGPopupMenu *fHelpMenu;
TGCompositeFrame *fLeftVerticalFrame;
TGedEditor *fGedEditor;
TGLPShapeObj *fPShapeWrap;
TGCompositeFrame *fRightVerticalFrame;
TString fDirName;
Int_t fTypeIdx;
Bool_t fOverwrite;
TGMenuBar *fMenuBar;
Bool_t fDeleteMenuBar;
static const Int_t fgInitX;
static const Int_t fgInitY;
static const Int_t fgInitW;
static const Int_t fgInitH;
static const char *fgHelpText1;
static const char *fgHelpText2;
void CreateMenus();
void CreateFrames();
TGLSAViewer(const TGLSAViewer &);
TGLSAViewer & operator = (const TGLSAViewer &);
public:
TGLSAViewer(TVirtualPad *pad);
TGLSAViewer(const TGWindow *parent, TVirtualPad *pad, TGedEditor *ged = 0);
~TGLSAViewer();
virtual void CreateGLWidget();
virtual void DestroyGLWidget();
virtual const char* GetName() const { return "GLViewer"; }
virtual void SelectionChanged();
virtual void OverlayDragFinished();
virtual void RefreshPadEditor(TObject* changed=0);
void Show();
void Close();
void DeleteMenuBar();
Bool_t ProcessFrameMessage(Long_t msg, Long_t parm1, Long_t);
TGCompositeFrame* GetFrame() const { return fFrame; }
TGCompositeFrame* GetLeftVerticalFrame() const { return fLeftVerticalFrame; }
TGedEditor* GetGedEditor() const { return fGedEditor; }
void ToggleEditObject();
void ToggleOrthoRotate();
void ToggleOrthoDolly();
ClassDef(TGLSAViewer, 0);
};
#endif