51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
#pragma once
|
||
|
||
#include "props/PropertySectionWidget.h"
|
||
|
||
#include <QString>
|
||
|
||
class QComboBox;
|
||
class QLineEdit;
|
||
class QSlider;
|
||
class QSpinBox;
|
||
class QCheckBox;
|
||
|
||
namespace gui {
|
||
|
||
struct ToolPropertyUiState {
|
||
QString displayName;
|
||
QString text;
|
||
int pointerTThousandths = 500; // bubblePointerT01 * 1000,0=左 1000=右
|
||
int fontPx = 18;
|
||
int alignIndex = 1; // 0=left,1=center,2=right
|
||
bool visible = true;
|
||
};
|
||
|
||
class ToolPropertySection final : public PropertySectionWidget {
|
||
Q_OBJECT
|
||
public:
|
||
explicit ToolPropertySection(QWidget* parent = nullptr);
|
||
|
||
void clearDisconnected();
|
||
void applyState(const ToolPropertyUiState& s);
|
||
void setEditingEnabled(bool on);
|
||
|
||
signals:
|
||
void textCommitted(const QString& text);
|
||
void pointerTChanged(int thousandths);
|
||
void fontPxChanged(int px);
|
||
void alignChanged(int alignIndex);
|
||
// 可见性(动画通道):在当前帧写关键帧
|
||
void visibleToggled(bool on);
|
||
|
||
private:
|
||
QLineEdit* m_text = nullptr;
|
||
QSlider* m_pointerT = nullptr;
|
||
QSpinBox* m_fontPx = nullptr;
|
||
QComboBox* m_align = nullptr;
|
||
QCheckBox* m_visible = nullptr;
|
||
};
|
||
|
||
} // namespace gui
|
||
|