#ifndef ROOT_TGeoPconEditor
#define ROOT_TGeoPconEditor
#ifndef ROOT_TGButton
#include "TGWidget.h"
#endif
#ifndef ROOT_TGeoGedFrame
#include "TGeoGedFrame.h"
#endif
class TGeoPcon;
class TGeoPconSection;
class TGeoTabManager;
class TGTextEntry;
class TGNumberEntry;
class TGTab;
class TGComboBox;
class TGTextButton;
class TGCheckButton;
class TGCanvas;
class TString;
class TGeoPconEditor : public TGeoGedFrame {
protected:
Int_t fNsecti;
Double_t fPhi1i;
Double_t fDPhii;
Double_t *fZi;
Double_t *fRmini;
Double_t *fRmaxi;
Int_t fNsections;
TObjArray *fSections;
TGCanvas *fCan;
TGeoPcon *fShape;
Bool_t fIsModified;
Bool_t fIsShapeEditable;
TGLayoutHints *fLHsect;
TGTextEntry *fShapeName;
TGNumberEntry *fENz;
TGNumberEntry *fEPhi1;
TGNumberEntry *fEDPhi;
TGTextButton *fApply;
TGTextButton *fUndo;
TGCompositeFrame *fBFrame;
TGCheckButton *fDelayed;
TGCompositeFrame *fDFrame;
virtual void ConnectSignals2Slots();
Bool_t CheckSections(Bool_t change=kFALSE);
Bool_t IsDelayed() const;
void CreateSections(Int_t inew);
void UpdateSections();
virtual void CreateEdges() {;}
public:
TGeoPconEditor(const TGWindow *p = 0,
Int_t width = 140, Int_t height = 30,
UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground());
virtual ~TGeoPconEditor();
virtual void SetModel(TObject *obj);
void DoModified();
void DoName();
void DoNz();
void DoPhi();
void DoSectionChange(Int_t i);
virtual void DoApply();
virtual void DoUndo();
ClassDef(TGeoPconEditor,0)
};
class TGeoPconSection : public TGCompositeFrame, public TGWidget {
protected:
Int_t fNumber;
TGNumberEntry *fEZ;
TGNumberEntry *fERmin;
TGNumberEntry *fERmax;
virtual void ConnectSignals2Slots();
public:
TGeoPconSection(const TGWindow *p, UInt_t w, UInt_t h, Int_t id);
virtual ~TGeoPconSection();
void HideDaughters();
Double_t GetZ() const;
Double_t GetRmin() const;
Double_t GetRmax() const;
void SetZ(Double_t z);
void SetRmin(Double_t rmin);
void SetRmax(Double_t rmax);
void DoZ();
void DoRmin();
void DoRmax();
virtual void Changed(Int_t i);
ClassDef(TGeoPconSection,0)
};
#endif