00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4FITGUIARROW_H
00017 #define TGO4FITGUIARROW_H
00018
00019 #include "TArrow.h"
00020
00021 class TGo4FitComponent;
00022 class TGo4FitModel;
00023 class QFitItem;
00024 class TGo4FitPanelSlots;
00025 class TObjArray;
00026
00027 class TGo4FitGUIArrow : public TArrow {
00028
00029 public:
00030
00031 enum { at_none, at_pos, at_width, at_range };
00032
00033 TGo4FitGUIArrow();
00034 TGo4FitGUIArrow(Float_t arrowsize, Option_t* option);
00035 TGo4FitGUIArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Float_t arrowsize, Option_t* option);
00036 virtual ~TGo4FitGUIArrow();
00037
00038 void SetForPosition(TGo4FitModel* model, TGo4FitGUIArrow* forwidth, Double_t iLineAmpl);
00039 void SetForWidth(TGo4FitModel* model, TGo4FitGUIArrow* forposition);
00040 void SetForRange(TGo4FitComponent* Comp, Int_t num, Double_t rangey, Double_t shiftx);
00041 void SetItem(QFitItem* item, TGo4FitPanelSlots* iSlots);
00042
00043 QFitItem* GetItem() { return fxItem; }
00044
00045 Bool_t Locate();
00046
00047 void SetOwner(TObjArray* owner) { fxOwner = owner; }
00048
00049 Int_t GetType() { return fxType; }
00050 TGo4FitModel* GetModel() { return fxModel; }
00051 TGo4FitComponent* GetComp() { return fxComp; }
00052
00053 Bool_t IsAssignTo(TObject* obj);
00054
00055 void ClearOther() { fxOther = 0; }
00056 virtual void DeleteModel();
00057
00058 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
00059
00060 private:
00061 Int_t fxType;
00062 TGo4FitModel* fxModel;
00063 TGo4FitGUIArrow* fxOther;
00064 Double_t fdLineAmpl;
00065 TGo4FitComponent* fxComp;
00066 Int_t fiRangeNum;
00067 Double_t fdRangeY;
00068 Double_t fdShiftX;
00069 QFitItem* fxItem;
00070 TGo4FitPanelSlots* fxSlots;
00071 TObjArray* fxOwner;
00072 };
00073
00074 #endif // TGO4FITGUIARROW_H
00075
00076