8#include "ui_periparticlecollectionsettings_form.h"
9#include "ui_settings_cuts_form.h"
17#include "Inventor/nodes/SoDrawStyle.h"
18#include "Inventor/nodes/SoLightModel.h"
26#include <QDragEnterEvent>
70 theclass->messageVerbose(
"Initialising material editor dialog");
71 editwindow =
new QWidget(0,Qt::WindowStaysOnTopHint);
77 m_d->initEditWindow();
85 m_d->editwindow->setWindowTitle(t);
96 m_d->initEditWindow();
116 setAcceptDrops(
true);
129 delete m_d->editwindow;
130 m_d->trackDrawStyle->unref();
131 m_d->lightModel->unref();
137 if (objectName().isEmpty())
138 setObjectName(
"IParticleCollectionSettingsButton");
139 messageVerbose(
"setColButtonProperties: color=" +
str(
m_d->matButton->lastAppliedDiffuseColour()));
153 if (!
m_d->editwindow)
154 m_d->initEditWindow();
156 if (
m_d->editwindow->isHidden())
157 m_d->editwindow->show();
159 m_d->editwindow->hide();
164 if (!
m_d->matButton)
m_d->initEditWindow();
165 m_d->matButton->setMaterial(mat);
171 if (!
m_d->matButton)
m_d->initEditWindow();
172 m_d->matButton->setMaterial(mat);
176 if (!
m_d->matButton)
m_d->initEditWindow();
177 return m_d->matButton->lastAppliedTransparency();
181 if (!
m_d->matButton)
m_d->initEditWindow();
182 return m_d->matButton->lastAppliedShininess();
186 if (!
m_d->matButton)
m_d->initEditWindow();
187 return m_d->matButton->lastAppliedBrightness();
200 if (
m_d->lightModel->model.getValue()!=(
base?SoLightModel::BASE_COLOR:SoLightModel::PHONG)) {
203 m_d->lightModel->model.setValue(SoLightModel::BASE_COLOR);
205 m_d->lightModel->model.setValue(SoLightModel::PHONG);
213 return m_d->trackDrawStyle;
218 return m_d->lightModel;
225 if (event->button() == Qt::LeftButton)
226 m_d->dragStartPosition =
event->pos();
227 QPushButton::mousePressEvent(event);
233 if (event->source()!=
this && event->mimeData()->hasFormat(
"vp1/material"))
234 event->acceptProposedAction();
240 if (!(event->buttons() & Qt::LeftButton))
242 if ((event->pos() -
m_d->dragStartPosition).manhattanLength()
243 < QApplication::startDragDistance())
246 QDrag *drag =
new QDrag(
this);
247 QMimeData *mimeData =
new QMimeData;
256 mimeData->setData(
"vp1/material", byteArray);
285 drag->setMimeData(mimeData);
286 drag->exec(Qt::CopyAction | Qt::MoveAction);
292 QByteArray
data =
event->mimeData()->data(
"vp1/material");
293 event->acceptProposedAction();
303 serialise.save(
m_d->matButton);
307 serialise.widgetHandled(
this);
308 serialise.warnUnsaved(
this);
309 return serialise.result();
327 if (!
m_d->editwindow_ui.checkBox_cut_minpt)
335 bool isPCut =
m_d->editwindow_ui.comboBox_momtype->currentText()==
"P";
337 const double minFromInterface=
m_d->editwindow_ui.doubleSpinBox_cut_minpt_gev->value()*1000;
338 const double maxFromInterface=
m_d->editwindow_ui.doubleSpinBox_cut_maxpt_gev->value()*1000;
343 min = (
m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? minFromInterface : -std::numeric_limits<double>::infinity());
344 max = (
m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? maxFromInterface : std::numeric_limits<double>::infinity());
346 min = (
m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? -maxFromInterface : -std::numeric_limits<double>::infinity());
347 max = (
m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? -minFromInterface : std::numeric_limits<double>::infinity());
361 return m_d->editwindow_ui.etaPhiCutWidget->allowedEta();
367 return m_d->editwindow_ui.etaPhiCutWidget->allowedPhi();
372 messageVerbose(
"IParticleCollectionSettingsButton::possibleChange_cutAllowedPt() ");
char data[hepevt_bytes_allocation_ATLAS]
QList< VP1Interval > last_cutAllowedPhi
SoLightModel * lightModel
VP1Interval last_cutAllowedP
SoDrawStyle * trackDrawStyle
IParticleCollectionSettingsButton * theclass
VP1Interval last_cutAllowedPt
VP1Interval last_cutAllowedEta
VP1MaterialButton * matButton
Ui::IParticleCollectionSettingsForm editwindow_ui
void dragEnterEvent(QDragEnterEvent *event)
virtual void setText(const QString &)
VP1Interval cutAllowedPt() const
virtual double lastAppliedShininess() const
QList< VP1Interval > cutAllowedPhi() const
void restoreFromState(const QByteArray &)
void lastAppliedChanged()
virtual ~IParticleCollectionSettingsButton()
void possibleChange_cutAllowedPt()
virtual void copyValuesFromMaterial(SoMaterial *)
virtual bool setMaterial(SoMaterial *)
void setDimension(int dim)
void cutAllowedPhiChanged(const QList< VP1Interval > &)
void dropEvent(QDropEvent *event)
void possibleChange_cutAllowedEta()
void possibleChange_cutAllowedPhi()
void updateLightModel(bool)
void mousePressEvent(QMouseEvent *event)
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
SoLightModel * lightModel() const
VP1Interval cutAllowedEta() const
void showEditMaterialDialog()
void mouseMoveEvent(QMouseEvent *event)
void cutAllowedEtaChanged(const VP1Interval &)
virtual double lastAppliedTransparency() const
SoDrawStyle * drawStyle() const
IParticleCollectionSettingsButton(QWidget *parent=0, int dim=25)
virtual double lastAppliedBrightness() const
void cutAllowedPtChanged(const VP1Interval &)
void restore(QCheckBox *sb)
void warnUnrestored(QObject *)
void widgetHandled(QWidget *)
void messageVerbose(const QString &) const
IVP1System * systemBase() const