00001 // $Id: TGo4ConditionEditor.h 491 2009-11-04 12:41:22Z linev $ 00002 //----------------------------------------------------------------------- 00003 // The GSI Online Offline Object Oriented (Go4) Project 00004 // Experiment Data Processing at EE department, GSI 00005 //----------------------------------------------------------------------- 00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH 00007 // Planckstr. 1, 64291 Darmstadt, Germany 00008 // Contact: http://go4.gsi.de 00009 //----------------------------------------------------------------------- 00010 // This software can be used under the license agreements as stated 00011 // in Go4License.txt file which is part of the distribution. 00012 //----------------------------------------------------------------------- 00013 00014 #ifndef TGO4CONDITIONEDITOR_H 00015 #define TGO4CONDITIONEDITOR_H 00016 00017 #include "QGo4Widget.h" 00018 #include "ui_TGo4ConditionEditor.h" 00019 00020 class TGo4Condition; 00021 class TCutG; 00022 00023 00024 class TGo4ConditionEditor : public QGo4Widget, public Ui::TGo4ConditionEditor 00025 { 00026 Q_OBJECT 00027 00028 public: 00029 TGo4ConditionEditor(QWidget *parent = 0, const char* name=0); 00030 00031 virtual bool IsAcceptDrag( const char * itemname, TClass * cl, int kind ); 00032 virtual void DropItem( const char * itemname, TClass * cl, int kind ); 00033 virtual void linkedObjectUpdated( const char * linkname, TObject * obj ); 00034 virtual void linkedObjectRemoved( const char * linkname ); 00035 virtual void WorkWithCondition( const char * itemname ); 00036 virtual void ResetWidget(); 00037 virtual void RefreshWidget( bool checkindex ); 00038 virtual TGo4Condition * SelectedCondition(); 00039 virtual bool UpdateLimits(); 00040 virtual void ChangeConditionProperty( int id, bool on ); 00041 virtual void enterEvent( QEvent * ); 00042 virtual void leaveEvent( QEvent * ); 00043 virtual void SetChangeFlag( bool changed ); 00044 virtual void DrawCondition( bool useactive ); 00045 virtual void RedrawCondition(); 00046 virtual bool PrepareForAnalysis(); 00047 virtual void FillCutWidget( TCutG * cut ); 00048 00049 00050 public slots: 00051 00052 virtual void PleaseUpdateSlot(); 00053 virtual void SelectedCond( int t ); 00054 virtual void ArrayAll(); 00055 virtual void SetResultMode( int mode ); 00056 virtual void SetInvertMode( int mode ); 00057 virtual void ClearCounters(); 00058 virtual void LimitsChanged( const QString & ); 00059 virtual void LimitsReturnPressed(); 00060 virtual void SetLabel( bool on ); 00061 virtual void SetDrawLimits( bool on ); 00062 virtual void SetIntDraw( bool on ); 00063 virtual void SetXMeanDraw( bool on ); 00064 virtual void SetXRMSDraw( bool on ); 00065 virtual void SetYRMSDraw( bool on ); 00066 virtual void SetYMeanDraw( bool on ); 00067 virtual void SetXMaxDraw( bool on ); 00068 virtual void SetYMaxDraw( bool on ); 00069 virtual void SetCMaxDraw( bool on ); 00070 virtual void SetCondVisible( bool on ); 00071 virtual void RefreshClicked(); 00072 virtual void DisplayPressed(); 00073 virtual void UpdatePressed(); 00074 virtual void SaveCondition(); 00075 virtual void PrintConditionLog(); 00076 virtual void ModifyButton_clicked(); 00077 virtual void NPointsSpin_valueChanged( int npoint ); 00078 virtual void CutTable_valueChanged( int ncol, int nrow ); 00079 virtual void CutTable_contextMenuRequested(const QPoint &); 00080 virtual void ContextMenuSlot(int); 00081 00082 protected: 00083 bool fbTypingMode; 00084 int fiSelectedIndex; 00085 bool fbDrawOnNextRefresh; 00086 int fiLastChangeValue; 00087 00088 }; 00089 00090 #endif