00001 // @(#)root/ged:$Id: TGraphEditor.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Carsten Hof 28/07/04 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TGraphEditor 00013 #define ROOT_TGraphEditor 00014 00015 ////////////////////////////////////////////////////////////////////////// 00016 // // 00017 // TGraphEditor // 00018 // // 00019 // Editor for changing Graph attributes. // 00020 // // 00021 ////////////////////////////////////////////////////////////////////////// 00022 00023 #ifndef ROOT_TGedFrame 00024 #include "TGedFrame.h" 00025 #endif 00026 00027 class TGraph; 00028 class TGButtonGroup; 00029 class TGTextEntry; 00030 class TGCheckButton; 00031 class TGRadioButton; 00032 class TGLineWidthComboBox; 00033 00034 class TGraphEditor : public TGedFrame { 00035 00036 protected: 00037 char fDrawShape; // Shape of the Graph (simple, smooth, bar) 00038 TGTextEntry *fTitle; // Contains the title of the graph 00039 Int_t fTitlePrec; // font precision level 00040 TGraph *fGraph; // Graph object 00041 TGButtonGroup *fgr; // Group the Radiobuttons: 00042 TGRadioButton *fShape; // just draw unconnected points 00043 TGRadioButton *fShape0; // set smooth graph curve 00044 TGRadioButton *fShape1; // set simple poly-line between every graph point 00045 TGRadioButton *fShape2; // set graph draw mode to bar chart 00046 TGRadioButton *fShape3; // set graph draw mode to fill area 00047 TGLayoutHints *fShape1lh; // layout-hints for fShape1 00048 TGCheckButton *fMarkerOnOff; // set Marker visible/unvisible 00049 TGLineWidthComboBox *fWidthCombo; // Exclusion zone width 00050 TGCheckButton *fExSide; // set the exclusion zone side 00051 00052 virtual void ConnectSignals2Slots(); 00053 00054 public: 00055 TGraphEditor(const TGWindow *p = 0, 00056 Int_t width = 140, Int_t height = 30, 00057 UInt_t options = kChildFrame, 00058 Pixel_t back = GetDefaultFrameBackground()); 00059 virtual ~TGraphEditor(); 00060 virtual void SetModel(TObject* obj); 00061 00062 // slots related to graph attributes 00063 virtual void DoShape(); 00064 virtual void DoMarkerOnOff(Bool_t on); 00065 virtual void DoTitle(const char *text); 00066 virtual void DoGraphLineWidth(); 00067 00068 ClassDef(TGraphEditor,0) // graph editor 00069 }; 00070 #endif 00071