ATLAS Offline Software
Loading...
Searching...
No Matches
IVP12DDetViewsChannelWidget Class Referenceabstract

#include <IVP12DDetViewsChannelWidget.h>

Inheritance diagram for IVP12DDetViewsChannelWidget:
Collaboration diagram for IVP12DDetViewsChannelWidget:

Classes

class  Imp

Public Types

enum  Type {
  UNKNOWN = 0 , THREEDIMENSIONAL , TWODIMENSIONAL , HISTOGRAM ,
  NUMBERS
}

Signals

void message (QString)
void uniqueNameChanged (const QString &)
void systemRefreshInfoChanged (QString sysrefreshing, int nsysOn, int nsysOnRefreshed)

Public Member Functions

 IVP12DDetViewsChannelWidget (const QString &name, const QString &information, const QString &contact_info)
Type type () const
void create ()
void systemRefreshed (IVP1System *)
void systemErased (IVP1System *)
virtual ~IVP12DDetViewsChannelWidget ()
virtual QByteArray saveState ()
virtual void restoreFromState (QByteArray)
virtual void init ()=0
virtual bool isAccumulator () const
void setRunEvtNumber (int runnumber, unsigned long long eventnumber)
const QString & name () const
const QString unique_name () const
const QString & information () const
const QString & contact_info () const
virtual QPixmap getSnapshot (bool transp=false, int width=0, bool batch=false)
virtual bool setAntiAliasing (bool aa)
virtual bool isAntiAliasing ()
virtual void dockResized ()

Static Public Member Functions

static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Types

enum  SystemOption {
  AllowAll = 0x0000 , DisallowSelections = 0x0100 , DisallowSwitchable = 0x0400 , DisallowController = 0x0800 ,
  DisallowMovable = 0x1000 , StartDisabled = 0x0010
}
enum  PROJECTION { XY , RZ }

Protected Slots

void showControlsForSystem ()

Protected Member Functions

void addSystem (IVP12DDetViewsSystem *, double zfactor, const SystemOptions &options=AllowAll)
void addGeneralSystem (IVP12DSystem *, const PROJECTION &projection, double zfactor, const SystemOptions &options=AllowAll)
virtual void goingToNextEvent ()
virtual void uncreate ()
virtual void lastOfActiveSystemsRefreshed ()
void turnOn (IVP1System *)
void turnOff (IVP1System *, const bool &immediateErase=true)
void getRunEvtNumber (int &runnumber, unsigned long long &eventnumber)
void setEvtTimestamp (unsigned timestamp)
void getEvtTimestamp (unsigned &timestamp)
void registerController (QWidget *)
void registerSystem (IVP1System *)

Private Types

enum  State { CONSTRUCTED =0 , READY , UNCREATED }

Private Slots

void toggleSystemActive ()
void setBackgroundColor (const QColor &)

Private Member Functions

unsigned cloneID () const
QWidget * controllerWidget ()
void emitRefreshInfoChanged ()
bool hasRefreshingSystem ()
void setCloneID (unsigned id)
const std::set< IVP1System * > & systems ()
void deleteControllers ()
State state () const
void setState (const State &)
void setCanRegister (const bool &controller, const bool &system)

Private Attributes

Impm_d

Detailed Description

Definition at line 40 of file IVP12DDetViewsChannelWidget.h.

Member Enumeration Documentation

◆ PROJECTION

◆ State

enum IVP1ChannelWidget::State
privateinherited
Enumerator
CONSTRUCTED 
READY 
UNCREATED 

Definition at line 130 of file IVP1ChannelWidget.h.

◆ SystemOption

Enumerator
AllowAll 
DisallowSelections 
DisallowSwitchable 
DisallowController 
DisallowMovable 
StartDisabled 

Definition at line 49 of file IVP12DDetViewsChannelWidget.h.

49 {
50 AllowAll = 0x0000,
51 DisallowSelections = 0x0100,//User can not interact with items from this system (movable though, is handled separately)
52 DisallowSwitchable = 0x0400,//User can not turn items from this system on/off.
53 DisallowController = 0x0800,//Custom controllers provided by this wont be present in the GUI
54 DisallowMovable = 0x1000,//Items from this systems are never movable
55 StartDisabled = 0x0010
56 };

◆ Type

enum IVP1ChannelWidget::Type
inherited
Enumerator
UNKNOWN 
THREEDIMENSIONAL 
TWODIMENSIONAL 
HISTOGRAM 
NUMBERS 

Definition at line 46 of file IVP1ChannelWidget.h.

Constructor & Destructor Documentation

◆ IVP12DDetViewsChannelWidget()

IVP12DDetViewsChannelWidget::IVP12DDetViewsChannelWidget ( const QString & name,
const QString & information,
const QString & contact_info )

Definition at line 62 of file IVP12DDetViewsChannelWidget.cxx.

64{
65 m_d->channel=this;
66 m_d->first=true;
67 setMinimumSize(150,240);//minimum y size is to avoid absurd squeezing of buttons.
68
69 //Tight layout:
70 QVBoxLayout * vboxLayout = new QVBoxLayout(this);
71 vboxLayout->setSpacing(0);
72 vboxLayout->setMargin(0);
73
74 //Setup examiner viewer:
75 QList<QPair<QString,QString> > views;
76 views << QPair<QString,QString>("X-Y",":/icons/icons/xy.png");
77 views << QPair<QString,QString>("R-Z",":/icons/icons/rz.png");
78 VP12DExaminerViewer * examiner = new VP12DExaminerViewer(views, this);
79
80 vboxLayout->addWidget(examiner);
81
82 //Get pointers to the different views:
83 m_d->view_xy = examiner->view("X-Y");
84 m_d->view_rz = examiner->view("R-Z");
85 assert(m_d->view_xy&&m_d->view_rz);
86
87 m_d->tabwidget = 0;
88 m_d->colorselectbutton = 0;
89}
const QString & information() const
const QString & name() const
IVP1ChannelWidget(const QString &name, const QString &information, const QString &contact_info)
const QString & contact_info() const
VP1GraphicsView * view() const

◆ ~IVP12DDetViewsChannelWidget()

IVP12DDetViewsChannelWidget::~IVP12DDetViewsChannelWidget ( )
virtual

Definition at line 92 of file IVP12DDetViewsChannelWidget.cxx.

93{
94 delete m_d;
95}

Member Function Documentation

◆ addGeneralSystem()

void IVP12DDetViewsChannelWidget::addGeneralSystem ( IVP12DSystem * ,
const PROJECTION & projection,
double zfactor,
const SystemOptions & options = AllowAll )
protected

Definition at line 252 of file IVP12DDetViewsChannelWidget.cxx.

253{
254 message("IVP12DDetViewsChannelWidget::addGeneralSystem ERROR: Method not implemented yet!!");//fixme
255}
void message(QString)

◆ addSystem()

void IVP12DDetViewsChannelWidget::addSystem ( IVP12DDetViewsSystem * system,
double zfactor,
const SystemOptions & options = AllowAll )
protected

Definition at line 98 of file IVP12DDetViewsChannelWidget.cxx.

98 {
99
100 //Apart from the attachment of ic's to view's, this method is quite similar to the ones in addGeneralSystem
101 bool handleSelections = ! (options & DisallowSelections);
102 bool switchable = ! (options & DisallowSwitchable);
103 bool allowController = ! (options & DisallowController);
104 bool allowMovable = ! (options & DisallowMovable);
105 bool startDisabled = (options & StartDisabled);
106
107 registerSystem(system);
108
109 //Fixme: Attach to the relevant view instead.
110 assert(!m_d->system2itemcols.contains(system));
111
112 m_d->system2itemcols.insert(system,system->getItemCollections_XY()+system->getItemCollections_RZ());
113
114 for (VP1GraphicsItemCollection*ic : system->getItemCollections_XY())
115 m_d->view_xy->addItemCollection(ic);
116 for (VP1GraphicsItemCollection*ic : system->getItemCollections_RZ())
117 m_d->view_rz->addItemCollection(ic);
118
119 for (VP1GraphicsItemCollection* ic : system->getItemCollections_XY())
120 m_d->view_xy->setDisallowInteractions(ic, !handleSelections );
121 for (VP1GraphicsItemCollection* ic : system->getItemCollections_RZ())
122 m_d->view_rz->setDisallowInteractions(ic, !handleSelections );
123
124 for (VP1GraphicsItemCollection* ic : system->getItemCollections_XY())
125 m_d->view_xy->setDisallowMovable(ic, !allowMovable );
126 for (VP1GraphicsItemCollection* ic : system->getItemCollections_RZ())
127 m_d->view_rz->setDisallowMovable(ic, !allowMovable );
128
129 m_d->system2switchable << QPair<IVP1System*,bool>(system,switchable);
130
131 assert(!m_d->system2startdisabled.contains(system));
132 m_d->system2startdisabled.insert(system,startDisabled);
133 assert(m_d->system2startdisabled.contains(system));
134
135 if (allowController) {
136 m_d->systemsAllowedControllers << system;
137 connect(system,SIGNAL(itemFromSystemSelected()),this,SLOT(showControlsForSystem()));
138 }
139
140}
QSet< VP1GraphicsItemCollection * > getItemCollections_RZ() const
QSet< VP1GraphicsItemCollection * > getItemCollections_XY() const
void registerSystem(IVP1System *)

◆ cloneID()

unsigned IVP1ChannelWidget::cloneID ( ) const
privateinherited

Definition at line 197 of file IVP1ChannelWidget.cxx.

198{
199 return m_d->cloneid;
200}

◆ contact_info()

const QString & IVP1ChannelWidget::contact_info ( ) const
inherited

Definition at line 191 of file IVP1ChannelWidget.cxx.

192{
193 return m_d->contact_info;
194}

◆ controllerWidget()

QWidget * IVP1ChannelWidget::controllerWidget ( )
privateinherited

Definition at line 77 of file IVP1ChannelWidget.cxx.

78{
79 return m_d->controller;
80}

◆ create()

void IVP12DDetViewsChannelWidget::create ( )
virtual

Reimplemented from IVP1ChannelWidget.

Definition at line 143 of file IVP12DDetViewsChannelWidget.cxx.

143 {
144 //Fixme: Less code should be replicated here and in IVP12DStandardChannelWidget+IVP13DStandardChannelWidget.
145
146 //Set up the controller.
148 m_d->sys2tabpage,m_d->tabwidget,
149 m_d->system2switchable,
150 m_d->checkbox2system,
151 m_d->colorselectbutton ));
152 connect(m_d->colorselectbutton,SIGNAL(colorChanged(const QColor&)),this,SLOT(setBackgroundColor(const QColor&)));
153 m_d->system2switchable.clear();
154
155 QMapIterator<QCheckBox*,IVP1System*> it(m_d->checkbox2system);
156 while (it.hasNext()) {
157 it.next();
158
159 assert(m_d->system2startdisabled.contains(it.value()));
160 if (m_d->system2startdisabled[it.value()]) {
161 it.key()->setChecked(false);
162 m_d->updateSystemState(it.key());
163 }
164
165 connect(it.key(),SIGNAL(toggled(bool)),this,SLOT(toggleSystemActive()));
166 }
167}
void registerController(QWidget *)
static QWidget * compositionController(const QList< IVP1System * > &systemsWithControllersAllowed, QMap< IVP1System *, QWidget * > &sys2tabpage, VP1TabWidget *&tabwidget, const QList< QPair< IVP1System *, bool > > &system2switchable, QMap< QCheckBox *, IVP1System * > &checkbox2system, VP1ColorSelectButton *&colorselectbutton, QWidget *extrawidget=0, bool nobgdcolorsel=false)

◆ deleteControllers()

void IVP1ChannelWidget::deleteControllers ( )
privateinherited

Definition at line 161 of file IVP1ChannelWidget.cxx.

162{
163 std::set<IVP1System *>::iterator it, itE = m_d->systems.end();
164 for (it=m_d->systems.begin();it!=itE;++it) {
165 // assert((*it)->state()==IVP1System::ERASED);
166 if (*it)
167 (*it)->deleteController();
168 }
169 if (m_d->controller)
170 m_d->controller->deleteLater();
171 m_d->controller = 0;
172}

◆ dockResized()

void IVP1ChannelWidget::dockResized ( )
virtualinherited

Reimplemented in IVP13DStandardChannelWidget.

Definition at line 315 of file IVP1ChannelWidget.cxx.

316{
317}

◆ emitRefreshInfoChanged()

void IVP1ChannelWidget::emitRefreshInfoChanged ( )
privateinherited

Definition at line 268 of file IVP1ChannelWidget.cxx.

269{
270 int nsysOn(0), nsysOnRefreshed(0);
271 QString sysrefreshing;
272 std::set<IVP1System *>::iterator it, itE = m_d->systems.end();
273 for (it=m_d->systems.begin();it!=itE;++it) {
274 if ((*it)->activeState()==IVP1System::ON) {
275 ++nsysOn;
276 if((*it)->state()==IVP1System::REFRESHED)
277 ++nsysOnRefreshed;
278 if ((*it)->isRefreshing()) {
279 assert(sysrefreshing.isEmpty());
280 sysrefreshing=(*it)->name();
281 }
282 }
283 }
284 //Fixme: Only emit if actually changed.
285 systemRefreshInfoChanged(sysrefreshing, nsysOn, nsysOnRefreshed);
286}
void systemRefreshInfoChanged(QString sysrefreshing, int nsysOn, int nsysOnRefreshed)

◆ getEvtTimestamp()

void IVP1ChannelWidget::getEvtTimestamp ( unsigned & timestamp)
protectedinherited

Definition at line 262 of file IVP1ChannelWidget.cxx.

263{
264 timestamp = m_d->timestamp;
265}

◆ getRunEvtNumber()

void IVP1ChannelWidget::getRunEvtNumber ( int & runnumber,
unsigned long long & eventnumber )
protectedinherited

Definition at line 255 of file IVP1ChannelWidget.cxx.

256{
257 runnumber = m_d->runnumber;
258 eventnumber = m_d->eventnumber;
259}
static std::vector< uint32_t > runnumber
Definition iLumiCalc.h:37

◆ getSnapshot()

QPixmap IVP1ChannelWidget::getSnapshot ( bool transp = false,
int width = 0,
bool batch = false )
virtualinherited

Reimplemented in IVP13DChannelWidget, and IVP13DStandardChannelWidget.

Definition at line 306 of file IVP1ChannelWidget.cxx.

307{
308 VP1Msg::messageVerbose("IVP1ChannelWidget::getSnapshot() - using QPixmap::grabWidget()");
309 VP1Msg::messageVerbose("(and so, not using the values - transp: "+QString::number(transp)+" - width: "+QString::number(width)+" - batch: " + batch +")");
310
311 return this->grab();
312}
const double width
static void messageVerbose(const QString &)
Definition VP1Msg.cxx:84

◆ goingToNextEvent()

virtual void IVP1ChannelWidget::goingToNextEvent ( )
inlineprotectedvirtualinherited

Reimplemented in IVP13DChannelWidget.

Definition at line 57 of file IVP1ChannelWidget.h.

57{}

◆ hasRefreshingSystem()

bool IVP1ChannelWidget::hasRefreshingSystem ( )
privateinherited

Definition at line 289 of file IVP1ChannelWidget.cxx.

289 {
290 std::set<IVP1System *>::iterator it, itE = m_d->systems.end();
291 for (it=m_d->systems.begin();it!=itE;++it) {
292 if ((*it)->isRefreshing())
293 return true;
294 }
295 return false;
296}

◆ information()

const QString & IVP1ChannelWidget::information ( ) const
inherited

Definition at line 185 of file IVP1ChannelWidget.cxx.

186{
187 return m_d->information;
188}

◆ init()

◆ isAccumulator()

bool IVP1ChannelWidget::isAccumulator ( ) const
virtualinherited

Definition at line 83 of file IVP1ChannelWidget.cxx.

84{
85 return false;
86}

◆ isAntiAliasing()

virtual bool IVP1ChannelWidget::isAntiAliasing ( )
inlinevirtualinherited

Reimplemented in IVP13DStandardChannelWidget.

Definition at line 105 of file IVP1ChannelWidget.h.

105{VP1Msg::messageVerbose("You should not call this function directly, but one of its implementations in derived classes..."); return false; };

◆ lastOfActiveSystemsRefreshed()

void IVP1ChannelWidget::lastOfActiveSystemsRefreshed ( )
protectedvirtualinherited

Reimplemented in IVP13DStandardChannelWidget.

Definition at line 334 of file IVP1ChannelWidget.cxx.

335{
336 VP1Msg::messageVerbose("IVP1ChannelWidget base lastOfActiveSystemsRefreshed called");
337}

◆ message

void IVP1ChannelWidget::message ( QString )
signalinherited

◆ name()

const QString & IVP1ChannelWidget::name ( ) const
inherited

Definition at line 180 of file IVP1ChannelWidget.cxx.

181{
182 return m_d->name;
183}

◆ registerController()

void IVP1ChannelWidget::registerController ( QWidget * w)
protectedinherited

Definition at line 210 of file IVP1ChannelWidget.cxx.

211{
212 assert(m_d->canregistercontroller&&"Please only register controllers during create()");
213 assert(m_d->state==CONSTRUCTED);
214 assert(w&&"IVP1ChannelWidget::registerController(...) called with null pointer!!");
215 assert(!m_d->controller&&"IVP1ChannelWidget::registerController(...) called twice!!");
216 m_d->controller = w;
217 w->setParent(0);
218}

◆ registerSystem()

void IVP1ChannelWidget::registerSystem ( IVP1System * s)
protectedinherited

Definition at line 221 of file IVP1ChannelWidget.cxx.

222{
223 assert(m_d->canregistersystem&&"Please only register systems during the channel constructor");
224 assert(m_d->state==CONSTRUCTED);
225 assert(m_d->systems.find(s)==m_d->systems.end()&&"IVP1ChannelWidget::registerSystem(...) called twice on the same system!!");
226 m_d->systems.insert(s);
227 s->setChannel(this);
228}

◆ restoreFromState()

void IVP12DDetViewsChannelWidget::restoreFromState ( QByteArray ba)
virtual

Reimplemented from IVP1ChannelWidget.

Definition at line 333 of file IVP12DDetViewsChannelWidget.cxx.

334{
335 VP1Msg::messageVerbose("IVP12DDetViewsChannelWidget::restoreFromState");
336
337 // ===> Setup stream for getting the contents of the byteArray:
338 QBuffer buffer(&ba);
339 buffer.open(QIODevice::ReadOnly);
340 QDataStream state(&buffer);
341 // ===> Check version and pass on state info to base class:
342 qint32 version;
343 state >> version;
344 if (version!=0) {
345 message("Warning: State data in .vp1 file is in wrong format - ignoring!");
346 return;
347 }
348 QByteArray basestate;
349 state >> basestate;
351 // ===> Decode the state info:
352
353 QColor bgdcol;
354 state >> bgdcol;
355 if (bgdcol!=m_d->colorselectbutton->color())
356 m_d->colorselectbutton->setColor(bgdcol);
357 setBackgroundColor(bgdcol);
358
359 //Switch systems on/off:
360 QMap<QString, bool> sysname2turnedon;
361 state >> sysname2turnedon;
362 QMap<QCheckBox*,IVP1System*>::const_iterator it = m_d->checkbox2system.constBegin();
363 while (it != m_d->checkbox2system.constEnd()) {
364 if (sysname2turnedon.contains(it.key()->text())) {
365 if (sysname2turnedon[it.key()->text()]!=it.key()->isChecked())
366 it.key()->setChecked(sysname2turnedon[it.key()->text()]);
367 } else {
368 message("Warning: Config data does not contain information about switched state of subsystem '"+it.key()->text()+"'");
369 }
370 ++it;
371 }
372
373 //Current system tab
374 QString tabname;
375 state >> tabname;
376 if (m_d->tabwidget) {
377 for (int i = 0; i < m_d->tabwidget->count(); ++i) {
378 if (m_d->tabwidget->tabText(i) == tabname) {
379 m_d->tabwidget->setCurrentIndex(i);
380 break;
381 }
382 }
383 }
384
385 // ===> Finish up:
386 buffer.close();
387}
virtual void restoreFromState(QByteArray)

◆ saveState()

QByteArray IVP12DDetViewsChannelWidget::saveState ( )
virtual

Reimplemented from IVP1ChannelWidget.

Definition at line 290 of file IVP12DDetViewsChannelWidget.cxx.

291{
292 VP1Msg::messageVerbose("IVP12DDetViewsChannelWidget::saveState");
293 // ===> Setup stream writing to a byteArray:
294 QByteArray byteArray;
295 QBuffer buffer(&byteArray);
296 buffer.open(QIODevice::WriteOnly);
297 QDataStream out(&buffer);
298
299 // ===> Write Data:
300
301 //Version & base state:
302 out << (qint32)0; //version
303 out << IVP1ChannelWidget::saveState();//Always include state info from the base class.
304
305 //Background color:
306 out << m_d->colorselectbutton->color();
307
308 //Systems turned on/off:
309 //Fixme: Make sure that if you have two copies of the same system,
310 //that the text in the checkbox gets appended some stuff like [1],
311 //[2], etc., so that the strings used here will be unique.
312 QMap<QString, bool> sysname2turnedon;
313 QMap<QCheckBox*,IVP1System*>::const_iterator it = m_d->checkbox2system.constBegin();
314 while (it != m_d->checkbox2system.constEnd()) {
315 sysname2turnedon.insert(it.key()->text(),it.key()->isChecked());
316 ++it;
317 }
318
319 out << sysname2turnedon;
320
321 //Current system tab:
322 if (m_d->tabwidget)
323 out << m_d->tabwidget->tabText(m_d->tabwidget->currentIndex());
324 else
325 out << QString("");
326
327 // ===> Finish up:
328 buffer.close();
329 return byteArray;
330}
virtual QByteArray saveState()

◆ setAntiAliasing()

virtual bool IVP1ChannelWidget::setAntiAliasing ( bool aa)
inlinevirtualinherited

Reimplemented in IVP13DStandardChannelWidget.

Definition at line 104 of file IVP1ChannelWidget.h.

104{VP1Msg::messageVerbose("You should not call this function directly, but one of its implementations in derived classes..."); return aa; };

◆ setBackgroundColor

void IVP12DDetViewsChannelWidget::setBackgroundColor ( const QColor & col)
privateslot

Definition at line 258 of file IVP12DDetViewsChannelWidget.cxx.

259{
260 if (!col.isValid())
261 return;
262 m_d->view_xy->setBackgroundBrush(col);
263 m_d->view_rz->setBackgroundBrush(col);
264}

◆ setCanRegister()

void IVP1ChannelWidget::setCanRegister ( const bool & controller,
const bool & system )
privateinherited

Definition at line 299 of file IVP1ChannelWidget.cxx.

300{
301 m_d->canregistercontroller=c;
302 m_d->canregistersystem=s;
303}

◆ setCloneID()

void IVP1ChannelWidget::setCloneID ( unsigned id)
privateinherited

Definition at line 203 of file IVP1ChannelWidget.cxx.

204{
205 m_d->cloneid=id;
207}
void uniqueNameChanged(const QString &)
const QString unique_name() const

◆ setEvtTimestamp()

void IVP1ChannelWidget::setEvtTimestamp ( unsigned timestamp)
protectedinherited

Definition at line 96 of file IVP1ChannelWidget.cxx.

97{
98 m_d->timestamp = timestamp;
99}

◆ setRunEvtNumber()

void IVP1ChannelWidget::setRunEvtNumber ( int runnumber,
unsigned long long eventnumber )
inherited

Definition at line 89 of file IVP1ChannelWidget.cxx.

90{
91 m_d->runnumber = runnumber;
92 m_d->eventnumber = eventnumber;
93}

◆ setState()

void IVP1ChannelWidget::setState ( const State & s)
privateinherited

Definition at line 108 of file IVP1ChannelWidget.cxx.

109{
110
111#ifndef NDEBUG
112 assert(s!=CONSTRUCTED);
113 if (s==READY) {
114 assert(m_d->state==CONSTRUCTED);
115 }
116 if (s==UNCREATED) {
117 assert(m_d->state==READY);
118 }
119#endif
120 m_d->state = s;
121}

◆ showControlsForSystem

void IVP12DDetViewsChannelWidget::showControlsForSystem ( )
protectedslot

Definition at line 267 of file IVP12DDetViewsChannelWidget.cxx.

268{
269 if (!m_d->tabwidget)
270 return;
271 IVP1System * sys = static_cast<IVP1System*>(sender());
272 if (!sys) {
273 message("showControlsForSystem Error: Unable to determine system identity.");
274 return;
275 }
276 if (!m_d->sys2tabpage.contains(sys)) {
277 //Dont send warning here. The system in question might simply not have a controller!
278 return;
279 }
280
281 int index = m_d->tabwidget->indexOf(m_d->sys2tabpage[sys]);
282 if (index<0||!m_d->tabwidget->isTabEnabled(index)) {
283 message("Warning: Asked to show controller for a disabled system. Surely you jest?");
284 return;
285 }
286 m_d->tabwidget->setCurrentIndex(index);
287}
str index
Definition DeMoScan.py:362

◆ state()

IVP1ChannelWidget::State IVP1ChannelWidget::state ( ) const
privateinherited

Definition at line 102 of file IVP1ChannelWidget.cxx.

103{
104 return m_d->state;
105}

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }
static QString str(const QString &s)
Definition VP1String.h:49

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ systemErased()

void IVP12DDetViewsChannelWidget::systemErased ( IVP1System * )
virtual

Reimplemented from IVP1ChannelWidget.

Definition at line 184 of file IVP12DDetViewsChannelWidget.cxx.

184 {
185 m_d->view_xy->clearSelections();
186 m_d->view_rz->clearSelections();
187}

◆ systemRefreshed()

void IVP12DDetViewsChannelWidget::systemRefreshed ( IVP1System * )
virtual

Reimplemented from IVP1ChannelWidget.

Definition at line 171 of file IVP12DDetViewsChannelWidget.cxx.

171 {
172 if (m_d->first) {
173 //This is not perfect, but usually it gives acceptable results.
174 //Todo: An improvement would be to keep track of the first time
175 //separately, and then only call fitViewToContents on the views
176 //where this system provides collections.
177 m_d->view_xy->fitViewToContents();
178 m_d->view_rz->fitViewToContents();
179 m_d->first=false;
180 }
181}

◆ systemRefreshInfoChanged

void IVP1ChannelWidget::systemRefreshInfoChanged ( QString sysrefreshing,
int nsysOn,
int nsysOnRefreshed )
signalinherited

◆ systems()

const std::set< IVP1System * > & IVP1ChannelWidget::systems ( )
privateinherited

Definition at line 231 of file IVP1ChannelWidget.cxx.

232{
233 return m_d->systems;
234}

◆ toggleSystemActive

void IVP12DDetViewsChannelWidget::toggleSystemActive ( )
privateslot

Definition at line 190 of file IVP12DDetViewsChannelWidget.cxx.

191{
192 QCheckBox * cb = static_cast<QCheckBox*>(sender()); assert(cb);
193 m_d->updateSystemState(cb);
194}

◆ turnOff()

void IVP1ChannelWidget::turnOff ( IVP1System * s,
const bool & immediateErase = true )
protectedinherited

Definition at line 246 of file IVP1ChannelWidget.cxx.

247{
248 assert(s->channel()==this);
249 assert(m_d->systems.find(s)!=m_d->systems.end());
250 s->setActiveState(IVP1System::OFF,!immediateErase);
252}

◆ turnOn()

void IVP1ChannelWidget::turnOn ( IVP1System * s)
protectedinherited

Definition at line 237 of file IVP1ChannelWidget.cxx.

238{
239 assert(s->channel()==this);
240 assert(m_d->systems.find(s)!=m_d->systems.end());
241 s->setActiveState(IVP1System::ON);
243}

◆ type()

Type IVP12DDetViewsChannelWidget::type ( ) const
inlinevirtual

Implements IVP1ChannelWidget.

Definition at line 73 of file IVP12DDetViewsChannelWidget.h.

73{ return TWODIMENSIONAL; };

◆ uncreate()

void IVP1ChannelWidget::uncreate ( )
protectedvirtualinherited

Definition at line 155 of file IVP1ChannelWidget.cxx.

156{
157 assert(m_d->state==READY);
158}

◆ unique_name()

const QString IVP1ChannelWidget::unique_name ( ) const
inherited

Definition at line 175 of file IVP1ChannelWidget.cxx.

176{
177 return m_d->name+(m_d->cloneid?" ["+QString::number(m_d->cloneid)+"]":QString(""));//Fixme: make sure that it is forbidden to end a name with ' [.*]'!
178}

◆ uniqueNameChanged

void IVP1ChannelWidget::uniqueNameChanged ( const QString & )
signalinherited

Member Data Documentation

◆ m_d

Imp* IVP12DDetViewsChannelWidget::m_d
private

Definition at line 87 of file IVP12DDetViewsChannelWidget.h.


The documentation for this class was generated from the following files: