00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 TGo4FitData* QFitDataWidget::GetData() {
00026 return dynamic_cast<TGo4FitData*> (GetObject());
00027 }
00028
00029 void QFitDataWidget::FillSpecificData() {
00030 QFitNamedWidget::FillSpecificData();
00031
00032 if(GetData()) {
00033 if(GetData()->GetDataType()==TGo4FitData::dtHistogram) DataInfoLbl->setText("Data type: histogramic");
00034 else DataInfoLbl->setText("Data type: set of points");
00035 DataInfoLbl->adjustSize();
00036
00037 AmplChk->setChecked(GetData()->GetAmplPar()!=0);
00038 AmplChk->setEnabled(GetData()->CanAmplTouch());
00039
00040 NumCalibrSpin->setValue(GetData()->GetNumberOfTransSlots());
00041 UseBinsChk->setChecked(GetData()->GetUseBinScale());
00042 SigmaCmb->setCurrentItem(GetData()->GetSigmaSource());
00043 SigmaEdt->setEnabled(GetData()->GetSigmaSource()==2);
00044 SigmaEdt->setText(QString::number(GetData()->GetSigmaValue()));
00045 BinsLimitEdt->setText(QString::number(GetData()->GetExcludeLessThen()));
00046 UseBuffersChk->setChecked(GetData()->GetUseBuffers());
00047
00048 QString info("Models:");
00049
00050 TGo4Fitter* fitter = dynamic_cast<TGo4Fitter*> (GetItem()->Parent()->Object());
00051 if (fitter)
00052 for(Int_t nmodel=0;nmodel<fitter->GetNumModel();nmodel++) {
00053 TGo4FitModel* model = fitter->GetModel(nmodel);
00054 if (model->IsAssignTo(GetData()->GetName())) {
00055 info+=" "; info+=model->GetName();
00056 }
00057 }
00058 ModelsLbl->setText(info);
00059 ModelsLbl->adjustSize();
00060 }
00061 }
00062
00063 void QFitDataWidget::NumCalibrSpin_valueChanged( int num)
00064 {
00065 if(!fbFillWidget && GetData())
00066 if (GetData()->SetNumberOfTransSlots(num)) {
00067 if (GetFitter())
00068 GetFitter()->SetUpdateSlotList();
00069 UpdateWidgetItem(true);
00070 UpdateItemsOfType(FitGui::ot_allslots, true);
00071 }
00072 }
00073
00074 void QFitDataWidget::UseBinsChk_toggled( bool zn)
00075 {
00076 if(!fbFillWidget && GetData())
00077 GetData()->SetUseBinScale(zn);
00078 }
00079
00080 void QFitDataWidget::SigmaCmb_activated( int zn)
00081 {
00082 if(!fbFillWidget && GetData()) {
00083 GetData()->SetSigmaSource(zn, -1.);
00084 SigmaEdt->setEnabled(zn==2);
00085 }
00086 }
00087
00088
00089 void QFitDataWidget::SigmaEdt_textChanged( const QString & value)
00090 {
00091 if(!fbFillWidget && GetData()) {
00092 bool ok = TRUE;
00093 double zn = value.toDouble(&ok);
00094 if(ok) GetData()->SetSigmaValue(zn);
00095 }
00096 }
00097
00098 void QFitDataWidget::BinsLimitEdt_textChanged( const QString & value)
00099 {
00100 if(!fbFillWidget && GetData()) {
00101 bool ok = TRUE;
00102 double zn = value.toDouble(&ok);
00103 if(ok) GetData()->SetExcludeLessThen(zn);
00104 }
00105 }
00106
00107 void QFitDataWidget::AmplChk_toggled( bool chk)
00108 {
00109 if(!fbFillWidget && GetData() && GetData()->CanAmplTouch()) {
00110 bool res = FALSE;
00111 if (chk) res = GetData()->MakeAmpl();
00112 else res = GetData()->RemoveAmpl();
00113 if (res) UpdateItemsOfType(FitGui::ot_parslist, false);
00114 }
00115 }
00116
00117
00118 void QFitDataWidget::UseBuffersChk_toggled(bool zn)
00119 {
00120 if(!fbFillWidget && GetData())
00121 GetData()->SetUseBuffers(zn);
00122 }
00123
00124