Files
leocad/common/lc_ladderwidget.h
T
2025-06-28 11:11:05 -07:00

39 lines
862 B
C++

#pragma once
enum class lcFloatPropertySnap;
class lcLadderWidget: public QWidget
{
Q_OBJECT
public:
lcLadderWidget(QAbstractSpinBox* SpinBox, lcFloatPropertySnap Snap);
virtual ~lcLadderWidget() = default;
void Show();
bool eventFilter(QObject* Object, QEvent* Event) override;
void mousePressEvent(QMouseEvent* MouseEvent) override;
void mouseMoveEvent(QMouseEvent* MouseEvent) override;
void mouseReleaseEvent(QMouseEvent* MouseEvent) override;
signals:
void EditingCanceled();
void EditingFinished();
protected slots:
void CancelEditing();
void FinishEditing();
protected:
void CalculateSteps(lcFloatPropertySnap Snap);
void UpdateMousePosition();
void paintEvent(QPaintEvent* PaintEvent) override;
QPointer<QAbstractSpinBox> mSpinBox = nullptr;
std::vector<double> mSteps;
int mCurrentStep = -1;
int mLastMousePositionX = 0;
};