GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
QFitWidget.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
14#include "QFitWidget.h"
15
16#include <QContextMenuEvent>
17#include <QMenu>
18
19#include "QFitItem.h"
20
21#include "TGo4FitPanel.h"
22
23QFitWidget::QFitWidget( QWidget *parent, const char *name, Qt::WindowFlags fl ) :
24 QWidget( parent, fl )
25{
26 setObjectName(name ? name : "QFitWidget");
27 resize( QSize(533, 405).expandedTo(minimumSizeHint()) );
28
29 fxPanel = nullptr;
30 fxItem = nullptr;
31 fbFillWidget = false;
32}
33
37
39{
40 fxPanel = panel;
41 fxItem = item;
42 FillWidget();
43}
44
46{
47 return fxItem;
48}
49
51{
52 if(GetItem())
53 return GetItem()->Object();
54 return nullptr;
55}
56
58{
59 return !fxPanel ? nullptr : fxPanel->GetFitter();
60}
61
63{
64 fbFillWidget = true;
66 fbFillWidget = false;
67}
68
72
73void QFitWidget::contextMenuEvent(QContextMenuEvent* ev)
74{
75 if (!GetItem() || !fxPanel) return;
76
77 QMenu menu;
78
79 if (fxPanel->FillPopupForItem(GetItem(), &menu)) {
80 fxPanel->CurrFitItem = GetItem();
81 menu.exec(ev->globalPos());
82 fxPanel->CurrFitItem = nullptr;
83 }
84}
85
87{
88 if (fxPanel)
89 fxPanel->UpdateItem(GetItem(), trace);
90}
91
93{
94 if (fxPanel)
95 fxPanel->SetItemText(GetItem(), trace);
96}
97
98void QFitWidget::UpdateItemsOfType(int typ, bool allitems)
99{
100 if (fxPanel)
101 fxPanel->UpdateItemsOfType(typ, allitems ? nullptr : GetItem());
102}
TObject * Object() const
Definition QFitItem.h:27
QFitItem * fxItem
Definition QFitWidget.h:62
virtual TObject * GetObject()
bool fbFillWidget
Definition QFitWidget.h:63
virtual void UpdateWidgetItem(bool trace)
void contextMenuEvent(QContextMenuEvent *e) override
virtual void SetWidgetItemText(bool trace)
virtual QFitItem * GetItem()
virtual void FillSpecificData()
virtual TGo4Fitter * GetFitter()
virtual void SetItem(TGo4FitPanel *panel, QFitItem *iItem)
virtual void UpdateItemsOfType(int typ, bool allitems=false)
virtual void FillWidget()
TGo4FitPanel * fxPanel
Definition QFitWidget.h:61
QFitWidget(QWidget *parent=nullptr, const char *name=nullptr, Qt::WindowFlags fl=Qt::Widget)
Central class of Go4Fit package.
Definition TGo4Fitter.h:38