8#include "ui_permissingetcollectionsettings_form.h"
18#include "Inventor/nodes/SoDrawStyle.h"
19#include "Inventor/nodes/SoLightModel.h"
20#include "Inventor/nodes/SoMaterial.h"
28#include <QDragEnterEvent>
70 theclass->messageVerbose(
"Initializing material editor dialog");
71 editwindow =
new QWidget(0,Qt::WindowStaysOnTopHint);
85 m_d->editwindow->setWindowTitle(t);
96 m_d->initEditWindow();
100 m_d->vertexDrawStyle =
new SoDrawStyle;
101 m_d->vertexDrawStyle->setName(
"VertexDrawStyle");
102 m_d->vertexDrawStyle->pointSize=5.0;
103 m_d->vertexDrawStyle->ref();
107 connect(
m_d->editwindow_ui.horizontalSlider_met_len,SIGNAL(valueChanged(
int)),
this,SIGNAL(
metSizeChanged(
int)));
108 connect(
m_d->editwindow_ui.horizontalSlider_met_thickness,SIGNAL(valueChanged(
int)),
this,SIGNAL(
metSizeChanged(
int)));
111 m_d->vertexLightModel =
new SoLightModel;
112 m_d->vertexLightModel->setName(
"METLightModel");
113 m_d->vertexLightModel->ref();
116 connect(
m_d->editwindow_ui.checkBox_verticesUseBaseLightModel,SIGNAL(toggled(
bool)),
this,SLOT(
updateVertexLightModel(
bool)));
119 connect(
m_d->editwindow_ui.etaphi_widget,SIGNAL(allowedPhiChanged(
const QList<VP1Interval>&)),
this,SIGNAL(
cutAllowedPhiChanged(
const QList<VP1Interval>&)));
141 setAcceptDrops(
true);
154 delete m_d->editwindow;
155 m_d->vertexDrawStyle->unref();
156 m_d->vertexLightModel->unref();
162 if (objectName().isEmpty())
163 setObjectName(
"MissingEtCollectionSettingsButton");
164 messageVerbose(
"setColButtonProperties: color=" +
str(
m_d->matButton->lastAppliedDiffuseColour()));
178 if (!
m_d->editwindow)
179 m_d->initEditWindow();
181 if (
m_d->editwindow->isHidden())
182 m_d->editwindow->show();
184 m_d->editwindow->hide();
190 if (!
m_d->matButton)
m_d->initEditWindow();
191 m_d->matButton->setMaterial(mat);
197 if (!
m_d->matButton)
m_d->initEditWindow();
198 m_d->matButton->setMaterial(mat);
202 if (!
m_d->matButton)
m_d->initEditWindow();
203 return m_d->matButton->lastAppliedTransparency();
207 if (!
m_d->matButton)
m_d->initEditWindow();
208 return m_d->matButton->lastAppliedShininess();
212 if (!
m_d->matButton)
m_d->initEditWindow();
213 return m_d->matButton->lastAppliedBrightness();
228 if (
m_d->vertexLightModel->model.getValue()!=(
base?SoLightModel::BASE_COLOR:SoLightModel::PHONG)) {
231 m_d->vertexLightModel->model.setValue(SoLightModel::BASE_COLOR);
233 m_d->vertexLightModel->model.setValue(SoLightModel::PHONG);
250 return m_d->editwindow_ui.horizontalSlider_met_len->value();
255 return m_d->editwindow_ui.horizontalSlider_met_thickness->value();
262 if (event->button() == Qt::LeftButton)
263 m_d->dragStartPosition =
event->pos();
264 QPushButton::mousePressEvent(event);
270 if (event->source()!=
this && event->mimeData()->hasFormat(
"vp1/material"))
271 event->acceptProposedAction();
277 if (!(event->buttons() & Qt::LeftButton))
279 if ((event->pos() -
m_d->dragStartPosition).manhattanLength()
280 < QApplication::startDragDistance())
283 QDrag *drag =
new QDrag(
this);
284 QMimeData *mimeData =
new QMimeData;
293 mimeData->setData(
"vp1/material", byteArray);
322 drag->setMimeData(mimeData);
323 drag->exec(Qt::CopyAction | Qt::MoveAction);
329 QByteArray
data =
event->mimeData()->data(
"vp1/material");
330 event->acceptProposedAction();
340 serialise.save(
m_d->matButton);
344 serialise.save(
m_d->editwindow_ui.horizontalSlider_met_len);
345 serialise.save(
m_d->editwindow_ui.horizontalSlider_met_thickness);
348 serialise.save(
m_d->editwindow_ui.checkBox_verticesUseBaseLightModel);
351 serialise.save(
m_d->editwindow_ui.etaphi_widget);
368 serialise.widgetHandled(
this);
369 serialise.warnUnsaved(
this);
370 return serialise.result();
383 state.
restore(
m_d->editwindow_ui.horizontalSlider_met_len);
384 state.
restore(
m_d->editwindow_ui.horizontalSlider_met_thickness);
387 state.
restore(
m_d->editwindow_ui.checkBox_verticesUseBaseLightModel);
390 state.
restore(
m_d->editwindow_ui.etaphi_widget);
406 if (!
m_d->editwindow)
407 m_d->initEditWindow();
408 return m_d->editwindow_ui.etaphi_widget->allowedPhi();
char data[hepevt_bytes_allocation_ATLAS]
void restore(QCheckBox *sb)
void warnUnrestored(QObject *)
void widgetHandled(QWidget *)
void messageVerbose(const QString &) const
IVP1System * systemBase() const