update
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
#include "props/ToolPropertySection.h"
|
||||
|
||||
#include "params/ParamControls.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QFormLayout>
|
||||
#include <QCheckBox>
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QSlider>
|
||||
#include <QSpinBox>
|
||||
@@ -26,6 +29,11 @@ ToolPropertySection::ToolPropertySection(QWidget* parent)
|
||||
m_text->setPlaceholderText(QStringLiteral("对话内容…"));
|
||||
form->addRow(QStringLiteral("文字"), m_text);
|
||||
|
||||
m_positionLabel = new QLabel(QStringLiteral("位置"), this);
|
||||
m_position = new Vec2ParamControl(this);
|
||||
m_position->setToolTip(QStringLiteral("工具在世界坐标中的位置"));
|
||||
form->addRow(m_positionLabel, m_position);
|
||||
|
||||
m_pointerT = new QSlider(Qt::Horizontal, this);
|
||||
m_pointerT->setRange(0, 1000);
|
||||
m_pointerT->setSingleStep(10);
|
||||
@@ -46,7 +54,7 @@ ToolPropertySection::ToolPropertySection(QWidget* parent)
|
||||
|
||||
m_visible = new QCheckBox(QString(), this);
|
||||
m_visible->setChecked(true);
|
||||
m_visible->setToolTip(QStringLiteral("随帧变化:在当前帧切换会写入可见性关键帧(10帧淡入淡出)"));
|
||||
m_visible->setToolTip(QStringLiteral("随帧变化:在当前帧切换会写入可见性关键帧"));
|
||||
form->addRow(QStringLiteral("可见性"), m_visible);
|
||||
|
||||
lay->addLayout(form);
|
||||
@@ -58,11 +66,13 @@ ToolPropertySection::ToolPropertySection(QWidget* parent)
|
||||
connect(m_pointerT, &QSlider::valueChanged, this, &ToolPropertySection::pointerTChanged);
|
||||
connect(m_fontPx, qOverload<int>(&QSpinBox::valueChanged), this, &ToolPropertySection::fontPxChanged);
|
||||
connect(m_align, qOverload<int>(&QComboBox::currentIndexChanged), this, &ToolPropertySection::alignChanged);
|
||||
connect(m_position, &Vec2ParamControl::valueChanged, this, &ToolPropertySection::positionEdited);
|
||||
connect(m_visible, &QCheckBox::toggled, this, &ToolPropertySection::visibleToggled);
|
||||
}
|
||||
|
||||
void ToolPropertySection::setEditingEnabled(bool on) {
|
||||
for (auto* w : {static_cast<QWidget*>(m_text), static_cast<QWidget*>(m_pointerT),
|
||||
for (auto* w : {static_cast<QWidget*>(m_text), static_cast<QWidget*>(m_position),
|
||||
static_cast<QWidget*>(m_pointerT),
|
||||
static_cast<QWidget*>(m_fontPx), static_cast<QWidget*>(m_align),
|
||||
static_cast<QWidget*>(m_visible)}) {
|
||||
if (w) w->setEnabled(on);
|
||||
@@ -76,6 +86,13 @@ void ToolPropertySection::clearDisconnected() {
|
||||
m_text->clear();
|
||||
m_text->blockSignals(false);
|
||||
}
|
||||
if (m_positionLabel) m_positionLabel->setText(QStringLiteral("位置"));
|
||||
if (m_position) {
|
||||
m_position->blockSignals(true);
|
||||
m_position->setToolTip(QStringLiteral("工具在世界坐标中的位置"));
|
||||
m_position->setValue(0.0, 0.0);
|
||||
m_position->blockSignals(false);
|
||||
}
|
||||
if (m_pointerT) {
|
||||
m_pointerT->blockSignals(true);
|
||||
m_pointerT->setValue(500);
|
||||
@@ -105,6 +122,18 @@ void ToolPropertySection::applyState(const ToolPropertyUiState& s) {
|
||||
m_text->setText(s.text);
|
||||
m_text->blockSignals(false);
|
||||
}
|
||||
if (m_positionLabel) {
|
||||
m_positionLabel->setText(QStringLiteral("位置"));
|
||||
}
|
||||
if (m_position) {
|
||||
m_position->blockSignals(true);
|
||||
m_position->setToolTip(
|
||||
s.parentRelativeMode
|
||||
? QStringLiteral("工具相对父对象的位置;修改将写入相对父对象的位置关键帧")
|
||||
: QStringLiteral("工具在世界坐标中的位置"));
|
||||
m_position->setValue(s.position.x(), s.position.y());
|
||||
m_position->blockSignals(false);
|
||||
}
|
||||
if (m_pointerT) {
|
||||
m_pointerT->blockSignals(true);
|
||||
m_pointerT->setValue(std::clamp(s.pointerTThousandths, 0, 1000));
|
||||
|
||||
Reference in New Issue
Block a user