00001
00017 #ifndef GFXSTRIP_H
00018 #define GFXSTRIP_H
00019
00020
00021 #include <Midad/MultiPage/GfxStripListCfg.h>
00022
00023 #include <TObject.h>
00024
00025 class CandStripHandle;
00026 class GfxStripList;
00027
00028 class GfxStrip : public TObject
00029 {
00030
00031 public:
00032
00033 GfxStrip(const CandStripHandle& csh, GfxStripList& parent);
00034 GfxStrip(const GfxStrip& rhs);
00035 GfxStrip& operator=(const GfxStrip& rhs);
00036 ~GfxStrip();
00037 void Clear(const Option_t* ="");
00038
00039
00040 void Configure();
00041
00042 void ExecuteEvent(int event, int px, int py);
00043 void Paint(Option_t* option="");
00044 int DistancetoPrimitive(int px, int py);
00045
00046 const CandStripHandle& GetStrip() { return *fStrip; }
00047
00048 void ConfigGui();
00049
00050 private:
00051
00052
00053
00054 bool GetRealCoords(double& x1, double& y1, double& x2, double& y2);
00055 bool GetDiscreteCoords(double& x1, double& y1, double& x2, double& y2);
00056 float GetRelativeValue(GfxStripListCfg::MeasureScale_t ms);
00057 void ModifyCoords(double& cx, double& cy, double& dx, double& dy);
00058 bool SetColor();
00059 void RelToAbs(double& dx, double& dy);
00060
00061 const CandStripHandle *fStrip;
00062 GfxStripList *fParent;
00063 TObject* fImp;
00064
00065 double fCx, fCy, fDx, fDy;
00066
00067 ClassDef(GfxStrip,0)
00068 };
00069
00070 #endif // GFXSTRIP_H