ATLAS Offline Software
Loading...
Searching...
No Matches
IParticleCollectionSettingsButton.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef VP1AODSYSTEMS_IPARTICLECOLLSETTINGSBUTTON_H
6#define VP1AODSYSTEMS_IPARTICLECOLLSETTINGSBUTTON_H
7
9
10class SoDrawStyle;
11class SoLightModel;
12
14
15 Q_OBJECT
16
17public:
18
19 IParticleCollectionSettingsButton(QWidget * parent = 0, int dim = 25);//dim<=0 => Won't change sizepolicy
21
22 void setDimension(int dim);
23 void initEditWindow();
24
25 // The below are necessary to fulfill the interface, but will just be passed onto the VP1MaterialButton owned by the IParticleCollectionSettingsButton form
26 virtual bool setMaterial(SoMaterial*);
27 virtual void copyValuesFromMaterial(SoMaterial*);
28 virtual double lastAppliedTransparency() const ;
29 virtual double lastAppliedShininess() const ;
30 virtual double lastAppliedBrightness() const;
31
32
33 // GUI for cuts
36 QList<VP1Interval> cutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
37
38 //Overall drawstyles, complexities and light models:
39 SoDrawStyle * drawStyle() const;
40 SoLightModel * lightModel() const;
41
42 QByteArray saveState() const;
43 void restoreFromState( const QByteArray& );
44
45 signals:
46 void lastAppliedChanged(); // emitted when something related to material changes
47
50 void cutAllowedPhiChanged(const QList<VP1Interval>&);
51
52 public Q_SLOTS:
54 virtual void setText(const QString&);
55
56 protected Q_SLOTS:
57 void updateButton();
58
59 protected:
60 // void initEditWindow();//!< Make sure that edit window is constructed
61 void mousePressEvent(QMouseEvent *event);
62 void mouseMoveEvent(QMouseEvent *event);
63 void dropEvent(QDropEvent *event);
64 void dragEnterEvent(QDragEnterEvent *event);
65 private:
66
67 class Imp;
69
70 private Q_SLOTS:
71 void updateDrawStyle();
72 void updateLightModel(bool);
76};
77
78#endif
79
80
void cutAllowedPhiChanged(const QList< VP1Interval > &)
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
void cutAllowedEtaChanged(const VP1Interval &)
IParticleCollectionSettingsButton(QWidget *parent=0, int dim=25)
void cutAllowedPtChanged(const VP1Interval &)
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")