GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
QFitDependencyWidget.cpp
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
15
16#include "QFitItem.h"
17#include "TObjArray.h"
18#include "TGo4FitDependency.h"
19
20QFitDependencyWidget::QFitDependencyWidget(QWidget *parent, const char *name)
21 : QFitWidget(parent, name)
22{
23 setupUi(this);
24
25 QObject::connect(ParamEdit, &QGo4LineEdit::textChanged, this, &QFitDependencyWidget::ParamEdit_textChanged);
26 QObject::connect(ExpressionEdt, &QGo4LineEdit::textChanged, this, &QFitDependencyWidget::ExpressionEdt_textChanged);
27}
28
33
35{
36 if(GetDepen()) {
37 if (GetDepen()->IsResultDepend()) {
38 TObjArray *lst = dynamic_cast<TObjArray *> (GetItem()->Parent()->Object());
39 ParamEdit->setText(QString("Result ")+QString::number(lst->IndexOf(GetObject())));
40 ParamEdit->setReadOnly(true);
41 ParamEdit->setEnabled(false);
42 } else {
43 ParamEdit->setText(GetDepen()->GetParameter().Data());
44 ParamEdit->setReadOnly(false);
45 ParamEdit->setEnabled(true);
46 }
47 if (GetDepen()->IsInitValue()) ExpressionEdt->setText(QString::number(GetDepen()->GetInitValue()));
48 else ExpressionEdt->setText(GetDepen()->GetExpression().Data());
49 }
50}
51
52
54{
55 if(!fbFillWidget && GetDepen() && (param.length()>0)) {
56 GetDepen()->SetParameter(param.toLatin1().constData());
58 }
59}
60
61
63{
64 if(!fbFillWidget && GetDepen() && (value.length()>0)) {
65 bool ok = false;
66 double zn = value.toDouble(&ok);
67 if (ok) GetDepen()->SetInitValue(zn);
68 else GetDepen()->SetExpression(value.toLatin1().constData());
70 }
71}
QFitDependencyWidget(QWidget *parent=nullptr, const char *name=nullptr)
virtual void ExpressionEdt_textChanged(const QString &)
virtual void ParamEdit_textChanged(const QString &)
virtual TGo4FitDependency * GetDepen()
QFitItem * Parent() const
Definition QFitItem.h:35
TObject * Object() const
Definition QFitItem.h:27
virtual TObject * GetObject()
bool fbFillWidget
Definition QFitWidget.h:63
virtual void SetWidgetItemText(bool trace)
virtual QFitItem * GetItem()
QFitWidget(QWidget *parent=nullptr, const char *name=nullptr, Qt::WindowFlags fl=Qt::Widget)
Object, used to store dependency of one parameter from other, calculated via expression.
void SetParameter(const char *iParameter)
void SetExpression(const char *iExpression)
void SetInitValue(Double_t InitValue)